R66Service.java

/*
 * This file is part of Waarp Project (named also Waarp or GG).
 *
 *  Copyright (c) 2019, Waarp SAS, and individual contributors by the @author
 *  tags. See the COPYRIGHT.txt in the distribution for a full listing of
 * individual contributors.
 *
 *  All Waarp Project is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or (at your
 * option) any later version.
 *
 * Waarp is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License along with
 * Waarp . If not, see <http://www.gnu.org/licenses/>.
 */

/**
 * Autogenerated by Thrift Compiler (0.9.0)
 * <p>
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 */
package org.waarp.thrift.r66;

import org.apache.thrift.EncodingUtils;
import org.apache.thrift.ProcessFunction;
import org.apache.thrift.TApplicationException;
import org.apache.thrift.TBase;
import org.apache.thrift.TBaseHelper;
import org.apache.thrift.TBaseProcessor;
import org.apache.thrift.TException;
import org.apache.thrift.TFieldIdEnum;
import org.apache.thrift.TFieldRequirementType;
import org.apache.thrift.TServiceClient;
import org.apache.thrift.TServiceClientFactory;
import org.apache.thrift.async.AsyncMethodCallback;
import org.apache.thrift.async.TAsyncClient;
import org.apache.thrift.async.TAsyncClientFactory;
import org.apache.thrift.async.TAsyncClientManager;
import org.apache.thrift.async.TAsyncMethodCall;
import org.apache.thrift.meta_data.FieldMetaData;
import org.apache.thrift.meta_data.FieldValueMetaData;
import org.apache.thrift.meta_data.ListMetaData;
import org.apache.thrift.meta_data.StructMetaData;
import org.apache.thrift.protocol.TCompactProtocol;
import org.apache.thrift.protocol.TField;
import org.apache.thrift.protocol.TList;
import org.apache.thrift.protocol.TMessage;
import org.apache.thrift.protocol.TMessageType;
import org.apache.thrift.protocol.TProtocol;
import org.apache.thrift.protocol.TProtocolFactory;
import org.apache.thrift.protocol.TProtocolUtil;
import org.apache.thrift.protocol.TStruct;
import org.apache.thrift.protocol.TTupleProtocol;
import org.apache.thrift.protocol.TType;
import org.apache.thrift.scheme.IScheme;
import org.apache.thrift.scheme.SchemeFactory;
import org.apache.thrift.scheme.StandardScheme;
import org.apache.thrift.scheme.TupleScheme;
import org.apache.thrift.transport.TIOStreamTransport;
import org.apache.thrift.transport.TMemoryInputTransport;
import org.apache.thrift.transport.TNonblockingTransport;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.BitSet;
import java.util.Collections;
import java.util.EnumMap;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class R66Service {
  private static final String REQUEST3 = "request";
  private static final String SUCCESS3 = "success";

  public interface Iface {

    R66Result transferRequestQuery(R66Request request) throws TException;

    R66Result infoTransferQuery(R66Request request) throws TException;

    boolean isStillRunning(String fromuid, String touid, long tid)
        throws TException;

    List<String> infoListQuery(R66Request request) throws TException;

  }

  public interface AsyncIface {

    void transferRequestQuery(R66Request request,
                              AsyncMethodCallback<AsyncClient.transferRequestQuery_call> resultHandler)
        throws TException;

    void infoTransferQuery(R66Request request,
                           AsyncMethodCallback<AsyncClient.infoTransferQuery_call> resultHandler)
        throws TException;

    void isStillRunning(String fromuid, String touid, long tid,
                        AsyncMethodCallback<AsyncClient.isStillRunning_call> resultHandler)
        throws TException;

    void infoListQuery(R66Request request,
                       AsyncMethodCallback<AsyncClient.infoListQuery_call> resultHandler)
        throws TException;

  }

  public static class Client extends TServiceClient implements Iface {
    private static final String TRANSFER_REQUEST_QUERY = "transferRequestQuery";
    private static final String IS_STILL_RUNNING = "isStillRunning";
    private static final String INFO_TRANSFER_QUERY = "infoTransferQuery";
    private static final String INFO_LIST_QUERY = "infoListQuery";

    public static class Factory implements TServiceClientFactory<Client> {
      public Factory() {
        // nothing
      }

      @Override
      public final Client getClient(final TProtocol prot) {
        return new Client(prot);
      }

      @Override
      public final Client getClient(final TProtocol iprot,
                                    final TProtocol oprot) {
        return new Client(iprot, oprot);
      }
    }

    public Client(final TProtocol prot) {
      super(prot, prot);
    }

    public Client(final TProtocol iprot, final TProtocol oprot) {
      super(iprot, oprot);
    }

    @Override
    public final R66Result transferRequestQuery(final R66Request request)
        throws TException {
      send_transferRequestQuery(request);
      return recv_transferRequestQuery();
    }

    public final void send_transferRequestQuery(final R66Request request)
        throws TException {
      final transferRequestQuery_args args = new transferRequestQuery_args();
      args.setRequest(request);
      sendBase(TRANSFER_REQUEST_QUERY, args);
    }

    public final R66Result recv_transferRequestQuery() throws TException {
      final transferRequestQuery_result result =
          new transferRequestQuery_result();
      receiveBase(result, TRANSFER_REQUEST_QUERY);
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new TApplicationException(TApplicationException.MISSING_RESULT,
                                      "transferRequestQuery failed: unknown result");
    }

    @Override
    public final R66Result infoTransferQuery(final R66Request request)
        throws TException {
      send_infoTransferQuery(request);
      return recv_infoTransferQuery();
    }

    public final void send_infoTransferQuery(final R66Request request)
        throws TException {
      final infoTransferQuery_args args = new infoTransferQuery_args();
      args.setRequest(request);
      sendBase(INFO_TRANSFER_QUERY, args);
    }

    public final R66Result recv_infoTransferQuery() throws TException {
      final infoTransferQuery_result result = new infoTransferQuery_result();
      receiveBase(result, INFO_TRANSFER_QUERY);
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new TApplicationException(TApplicationException.MISSING_RESULT,
                                      "infoTransferQuery failed: unknown result");
    }

    @Override
    public final boolean isStillRunning(final String fromuid,
                                        final String touid, final long tid)
        throws TException {
      send_isStillRunning(fromuid, touid, tid);
      return recv_isStillRunning();
    }

    public final void send_isStillRunning(final String fromuid,
                                          final String touid, final long tid)
        throws TException {
      final isStillRunning_args args = new isStillRunning_args();
      args.setFromuid(fromuid);
      args.setTouid(touid);
      args.setTid(tid);
      sendBase(IS_STILL_RUNNING, args);
    }

    public final boolean recv_isStillRunning() throws TException {
      final isStillRunning_result result = new isStillRunning_result();
      receiveBase(result, IS_STILL_RUNNING);
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new TApplicationException(TApplicationException.MISSING_RESULT,
                                      "isStillRunning failed: unknown result");
    }

    @Override
    public final List<String> infoListQuery(final R66Request request)
        throws TException {
      send_infoListQuery(request);
      return recv_infoListQuery();
    }

    public final void send_infoListQuery(final R66Request request)
        throws TException {
      final infoListQuery_args args = new infoListQuery_args();
      args.setRequest(request);
      sendBase(INFO_LIST_QUERY, args);
    }

    public final List<String> recv_infoListQuery() throws TException {
      final infoListQuery_result result = new infoListQuery_result();
      receiveBase(result, INFO_LIST_QUERY);
      if (result.isSetSuccess()) {
        return Collections.unmodifiableList(result.success);
      }
      throw new TApplicationException(TApplicationException.MISSING_RESULT,
                                      "infoListQuery failed: unknown result");
    }

  }

  public static class AsyncClient extends TAsyncClient implements AsyncIface {
    public static class Factory implements TAsyncClientFactory<AsyncClient> {
      private final TAsyncClientManager clientManager;
      private final TProtocolFactory protocolFactory;

      public Factory(final TAsyncClientManager clientManager,
                     final TProtocolFactory protocolFactory) {
        this.clientManager = clientManager;
        this.protocolFactory = protocolFactory;
      }

      @Override
      public final AsyncClient getAsyncClient(
          final TNonblockingTransport transport) {
        return new AsyncClient(protocolFactory, clientManager, transport);
      }
    }

    public AsyncClient(final TProtocolFactory protocolFactory,
                       final TAsyncClientManager clientManager,
                       final TNonblockingTransport transport) {
      super(protocolFactory, clientManager, transport);
    }

    @Override
    public final void transferRequestQuery(final R66Request request,
                                           final AsyncMethodCallback<transferRequestQuery_call> resultHandler)
        throws TException {
      checkReady();
      final transferRequestQuery_call transferRequestQueryCall =
          new transferRequestQuery_call(request, resultHandler, this,
                                        ___protocolFactory, ___transport);
      ___currentMethod = transferRequestQueryCall;
      ___manager.call(transferRequestQueryCall);
    }

    public static class transferRequestQuery_call
        extends TAsyncMethodCall<transferRequestQuery_call> {
      private static final String METHOD_CALL_NOT_FINISHED =
          "Method call not finished!";
      private final R66Request request;

      public transferRequestQuery_call(final R66Request request,
                                       final AsyncMethodCallback<transferRequestQuery_call> resultHandler,
                                       final TAsyncClient client,
                                       final TProtocolFactory protocolFactory,
                                       final TNonblockingTransport transport)
          throws TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.request = request;
      }

      @Override
      public final void write_args(final TProtocol prot) throws TException {
        prot.writeMessageBegin(
            new TMessage("transferRequestQuery", TMessageType.CALL, 0));
        final transferRequestQuery_args args = new transferRequestQuery_args();
        args.setRequest(request);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public final R66Result getResult() throws TException {
        if (getState() != State.RESPONSE_READ) {
          throw new IllegalStateException(METHOD_CALL_NOT_FINISHED);
        }
        final TMemoryInputTransport memoryTransport =
            new TMemoryInputTransport(getFrameBuffer().array());
        final TProtocol prot =
            client.getProtocolFactory().getProtocol(memoryTransport);
        return new Client(prot).recv_transferRequestQuery();
      }
    }

    @Override
    public final void infoTransferQuery(final R66Request request,
                                        final AsyncMethodCallback<infoTransferQuery_call> resultHandler)
        throws TException {
      checkReady();
      final infoTransferQuery_call infoTransferQueryCall =
          new infoTransferQuery_call(request, resultHandler, this,
                                     ___protocolFactory, ___transport);
      ___currentMethod = infoTransferQueryCall;
      ___manager.call(infoTransferQueryCall);
    }

    public static class infoTransferQuery_call
        extends TAsyncMethodCall<infoTransferQuery_call> {
      private static final String INFO_TRANSFER_QUERY = "infoTransferQuery";
      private final R66Request request;

      public infoTransferQuery_call(final R66Request request,
                                    final AsyncMethodCallback<infoTransferQuery_call> resultHandler,
                                    final TAsyncClient client,
                                    final TProtocolFactory protocolFactory,
                                    final TNonblockingTransport transport)
          throws TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.request = request;
      }

      @Override
      public final void write_args(final TProtocol prot) throws TException {
        prot.writeMessageBegin(
            new TMessage(INFO_TRANSFER_QUERY, TMessageType.CALL, 0));
        final infoTransferQuery_args args = new infoTransferQuery_args();
        args.setRequest(request);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public final R66Result getResult() throws TException {
        if (getState() != State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        final TMemoryInputTransport memoryTransport =
            new TMemoryInputTransport(getFrameBuffer().array());
        final TProtocol prot =
            client.getProtocolFactory().getProtocol(memoryTransport);
        return new Client(prot).recv_infoTransferQuery();
      }
    }

    @Override
    public final void isStillRunning(final String fromuid, final String touid,
                                     final long tid,
                                     final AsyncMethodCallback<isStillRunning_call> resultHandler)
        throws TException {
      checkReady();
      final isStillRunning_call isStillRunningCall =
          new isStillRunning_call(fromuid, touid, tid, resultHandler, this,
                                  ___protocolFactory, ___transport);
      ___currentMethod = isStillRunningCall;
      ___manager.call(isStillRunningCall);
    }

    public static class isStillRunning_call
        extends TAsyncMethodCall<isStillRunning_call> {
      private final String fromuid;
      private final String touid;
      private final long tid;

      public isStillRunning_call(final String fromuid, final String touid,
                                 final long tid,
                                 final AsyncMethodCallback<isStillRunning_call> resultHandler,
                                 final TAsyncClient client,
                                 final TProtocolFactory protocolFactory,
                                 final TNonblockingTransport transport)
          throws TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.fromuid = fromuid;
        this.touid = touid;
        this.tid = tid;
      }

      @Override
      public final void write_args(final TProtocol prot) throws TException {
        prot.writeMessageBegin(
            new TMessage("isStillRunning", TMessageType.CALL, 0));
        final isStillRunning_args args = new isStillRunning_args();
        args.setFromuid(fromuid);
        args.setTouid(touid);
        args.setTid(tid);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public final boolean getResult() throws TException {
        if (getState() != State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        final TMemoryInputTransport memoryTransport =
            new TMemoryInputTransport(getFrameBuffer().array());
        final TProtocol prot =
            client.getProtocolFactory().getProtocol(memoryTransport);
        return new Client(prot).recv_isStillRunning();
      }
    }

    @Override
    public final void infoListQuery(final R66Request request,
                                    final AsyncMethodCallback<infoListQuery_call> resultHandler)
        throws TException {
      checkReady();
      final infoListQuery_call infoListQueryCall =
          new infoListQuery_call(request, resultHandler, this,
                                 ___protocolFactory, ___transport);
      ___currentMethod = infoListQueryCall;
      ___manager.call(infoListQueryCall);
    }

    public static class infoListQuery_call
        extends TAsyncMethodCall<infoListQuery_call> {
      private final R66Request request;

      public infoListQuery_call(final R66Request request,
                                final AsyncMethodCallback<infoListQuery_call> resultHandler,
                                final TAsyncClient client,
                                final TProtocolFactory protocolFactory,
                                final TNonblockingTransport transport)
          throws TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.request = request;
      }

      @Override
      public final void write_args(final TProtocol prot) throws TException {
        prot.writeMessageBegin(
            new TMessage("infoListQuery", TMessageType.CALL, 0));
        final infoListQuery_args args = new infoListQuery_args();
        args.setRequest(request);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public final List<String> getResult() throws TException {
        if (getState() != State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        final TMemoryInputTransport memoryTransport =
            new TMemoryInputTransport(getFrameBuffer().array());
        final TProtocol prot =
            client.getProtocolFactory().getProtocol(memoryTransport);
        return new Client(prot).recv_infoListQuery();
      }
    }

  }

  public static class Processor<I extends Iface> extends TBaseProcessor<I> {

    public Processor(final I iface) {
      super(iface, getProcessMap(
          new HashMap<String, ProcessFunction<I, ? extends TBase>>()));
    }

    protected Processor(final I iface,
                        final Map<String, ProcessFunction<I, ? extends TBase>> processMap) {
      super(iface, getProcessMap(processMap));
    }

    private static <I extends Iface> Map<String, ProcessFunction<I, ? extends TBase>> getProcessMap(
        final Map<String, ProcessFunction<I, ? extends TBase>> processMap) {
      processMap.put("transferRequestQuery",
                     (ProcessFunction<I, ? extends TBase>) new transferRequestQuery<Iface>());
      processMap.put("infoTransferQuery",
                     (ProcessFunction<I, ? extends TBase>) new infoTransferQuery<Iface>());
      processMap.put("isStillRunning",
                     (ProcessFunction<I, ? extends TBase>) new isStillRunning<Iface>());
      processMap.put("infoListQuery",
                     (ProcessFunction<I, ? extends TBase>) new infoListQuery<Iface>());
      return processMap;
    }

    public static class transferRequestQuery<I extends Iface>
        extends ProcessFunction<I, transferRequestQuery_args> {
      public transferRequestQuery() {
        super("transferRequestQuery");
      }

      @Override
      public final transferRequestQuery_args getEmptyArgsInstance() {
        return new transferRequestQuery_args();
      }

      @Override
      protected final boolean isOneway() {
        return false;
      }

      @Override
      public final transferRequestQuery_result getResult(final I iface,
                                                         final transferRequestQuery_args args)
          throws TException {
        final transferRequestQuery_result result =
            new transferRequestQuery_result();
        result.success = iface.transferRequestQuery(args.request);
        return result;
      }
    }

    public static class infoTransferQuery<I extends Iface>
        extends ProcessFunction<I, infoTransferQuery_args> {
      public infoTransferQuery() {
        super("infoTransferQuery");
      }

      @Override
      public final infoTransferQuery_args getEmptyArgsInstance() {
        return new infoTransferQuery_args();
      }

      @Override
      protected final boolean isOneway() {
        return false;
      }

      @Override
      public final infoTransferQuery_result getResult(final I iface,
                                                      final infoTransferQuery_args args)
          throws TException {
        final infoTransferQuery_result result = new infoTransferQuery_result();
        result.success = iface.infoTransferQuery(args.request);
        return result;
      }
    }

    public static class isStillRunning<I extends Iface>
        extends ProcessFunction<I, isStillRunning_args> {
      public isStillRunning() {
        super("isStillRunning");
      }

      @Override
      public final isStillRunning_args getEmptyArgsInstance() {
        return new isStillRunning_args();
      }

      @Override
      protected final boolean isOneway() {
        return false;
      }

      @Override
      public final isStillRunning_result getResult(final I iface,
                                                   final isStillRunning_args args)
          throws TException {
        final isStillRunning_result result = new isStillRunning_result();
        result.success =
            iface.isStillRunning(args.fromuid, args.touid, args.tid);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    public static class infoListQuery<I extends Iface>
        extends ProcessFunction<I, infoListQuery_args> {
      public infoListQuery() {
        super("infoListQuery");
      }

      @Override
      public final infoListQuery_args getEmptyArgsInstance() {
        return new infoListQuery_args();
      }

      @Override
      protected final boolean isOneway() {
        return false;
      }

      @Override
      public final infoListQuery_result getResult(final I iface,
                                                  final infoListQuery_args args)
          throws TException {
        final infoListQuery_result result = new infoListQuery_result();
        result.success = iface.infoListQuery(args.request);
        return result;
      }
    }

  }

  public static class transferRequestQuery_args implements
                                                TBase<transferRequestQuery_args, transferRequestQuery_args._Fields>,
                                                Cloneable {

    private static final String REQUEST2 = "request:";

    /**
     *
     */
    private static final long serialVersionUID = 6110060994329259224L;

    private static final TStruct STRUCT_DESC =
        new TStruct("transferRequestQuery_args");

    private static final TField REQUEST_FIELD_DESC =
        new TField(REQUEST3, TType.STRUCT, (short) 1);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes =
        new HashMap<Class<? extends IScheme>, SchemeFactory>();

    static {
      schemes.put(StandardScheme.class,
                  new transferRequestQuery_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class,
                  new transferRequestQuery_argsTupleSchemeFactory());
    }

    private R66Request request; // required

    @Override
    public final transferRequestQuery_args clone()
        throws CloneNotSupportedException {
      return (transferRequestQuery_args) super.clone();
    }

    /**
     * The set of fields this struct contains, along with convenience
     * methods
     * for finding and manipulating them.
     */
    public enum _Fields implements TFieldIdEnum {
      REQUEST((short) 1, REQUEST3);

      private static final String FIELD = "Field ";
      private static final String DOESN_T_EXIST = " doesn't exist!";
      private static final Map<String, _Fields> byName =
          new HashMap<String, _Fields>();

      static {
        for (final _Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its
       * not
       * found.
       */
      public static _Fields findByThriftId(final int fieldId) {
        if (fieldId == 1) { // REQUEST
          return REQUEST;
        }
        return null;
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an
       * exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(final int fieldId) {
        final _Fields fields = findByThriftId(fieldId);
        if (fields == null) {
          throw new IllegalArgumentException(FIELD + fieldId + DOESN_T_EXIST);
        }
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not
       * found.
       */
      public static _Fields findByName(final String name) {
        return byName.get(name);
      }

      private final short thriftId;
      private final String fieldName;

      _Fields(final short thriftId, final String fieldName) {
        this.thriftId = thriftId;
        this.fieldName = fieldName;
      }

      @Override
      public final short getThriftFieldId() {
        return thriftId;
      }

      @Override
      public final String getFieldName() {
        return fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, FieldMetaData> metaDataMap;

    static {
      final Map<_Fields, FieldMetaData> tmpMap =
          new EnumMap<_Fields, FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.REQUEST,
                 new FieldMetaData(REQUEST3, TFieldRequirementType.DEFAULT,
                                   new StructMetaData(TType.STRUCT,
                                                      R66Request.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      FieldMetaData.addStructMetaDataMap(transferRequestQuery_args.class,
                                         metaDataMap);
    }

    public transferRequestQuery_args() {
    }

    public transferRequestQuery_args(final R66Request request) {
      this();
      this.request = request;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public transferRequestQuery_args(final transferRequestQuery_args other) {
      if (other.isSetRequest()) {
        request = new R66Request(other.request);
      }
    }

    @Override
    public final transferRequestQuery_args deepCopy() {
      return new transferRequestQuery_args(this);
    }

    @Override
    public final void clear() {
      request = null;
    }

    public final R66Request getRequest() {
      return request;
    }

    public final transferRequestQuery_args setRequest(
        final R66Request request) {
      this.request = request;
      return this;
    }

    public final void unsetRequest() {
      request = null;
    }

    /**
     * Returns true if field request is set (has been assigned a value) and
     * false otherwise
     */
    public final boolean isSetRequest() {
      return request != null;
    }

    public final void setRequestIsSet(final boolean value) {
      if (!value) {
        request = null;
      }
    }

    @Override
    public final void setFieldValue(final _Fields field, final Object value) {
      if (field == _Fields.REQUEST) {
        if (value == null) {
          unsetRequest();
        } else {
          setRequest((R66Request) value);
        }
      }
    }

    @Override
    public final Object getFieldValue(final _Fields field) {
      if (field == _Fields.REQUEST) {
        return getRequest();
      }
      throw new IllegalStateException();
    }

    /**
     * Returns true if field corresponding to fieldID is set (has been
     * assigned
     * a value) and false otherwise
     */
    @Override
    public final boolean isSet(final _Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      if (field == _Fields.REQUEST) {
        return isSetRequest();
      }
      throw new IllegalStateException();
    }

    @Override
    public final boolean equals(final Object that) {
      if (that == null) {
        return false;
      }
      if (that instanceof transferRequestQuery_args) {
        return equals((transferRequestQuery_args) that);
      }
      return false;
    }

    public final boolean equals(final transferRequestQuery_args that) {
      if (that == null) {
        return false;
      }

      final boolean this_present_request = isSetRequest();
      final boolean that_present_request = that.isSetRequest();
      if (this_present_request || that_present_request) {
        if (!(this_present_request && that_present_request)) {
          return false;
        }
        return request.equals(that.request);
      }

      return true;
    }

    @Override
    public final int hashCode() {
      return 0;
    }

    @Override
    public final int compareTo(final transferRequestQuery_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison;

      lastComparison =
          Boolean.valueOf(isSetRequest()).compareTo(other.isSetRequest());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRequest()) {
        lastComparison = TBaseHelper.compareTo(request, other.request);
        return lastComparison;
      }
      return 0;
    }

    @Override
    public final _Fields fieldForId(final int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public final void read(final TProtocol iprot) throws TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    @Override
    public final void write(final TProtocol oprot) throws TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public final String toString() {
      final StringBuilder sb = new StringBuilder("transferRequestQuery_args(");
      sb.append(REQUEST2);
      if (request == null) {
        sb.append("null");
      } else {
        sb.append(request);
      }
      sb.append(')');
      return sb.toString();
    }

    public final void validate() throws TException {
      // check for required fields
      // check for sub-struct validity
      if (request != null) {
        request.validate();
      }
    }

    private void writeObject(final ObjectOutputStream out) throws IOException {
      try {
        write(new TCompactProtocol(new TIOStreamTransport(out)));
      } catch (final TException te) {
        throw new IOException(te);
      }
    }

    private void readObject(final ObjectInputStream in)
        throws IOException, ClassNotFoundException {
      try {
        read(new TCompactProtocol(new TIOStreamTransport(in)));
      } catch (final TException te) {
        throw new IOException(te);
      }
    }

    private static class transferRequestQuery_argsStandardSchemeFactory
        implements SchemeFactory {
      @Override
      public final transferRequestQuery_argsStandardScheme getScheme() {
        return new transferRequestQuery_argsStandardScheme();
      }
    }

    private static class transferRequestQuery_argsStandardScheme
        extends StandardScheme<transferRequestQuery_args> {

      @Override
      public final void read(final TProtocol iprot,
                             final transferRequestQuery_args struct)
          throws TException {
        TField schemeField;
        iprot.readStructBegin();
        while (true) {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == TType.STOP) {
            break;
          }
          if (schemeField.id == 1) { // REQUEST
            if (schemeField.type == TType.STRUCT) {
              struct.request = new R66Request();
              struct.request.read(iprot);
              struct.setRequestIsSet(true);
            } else {
              TProtocolUtil.skip(iprot, schemeField.type);
            }
          } else {
            TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the
        // validate method
        struct.validate();
      }

      @Override
      public final void write(final TProtocol oprot,
                              final transferRequestQuery_args struct)
          throws TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.request != null) {
          oprot.writeFieldBegin(REQUEST_FIELD_DESC);
          struct.request.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class transferRequestQuery_argsTupleSchemeFactory
        implements SchemeFactory {
      @Override
      public final transferRequestQuery_argsTupleScheme getScheme() {
        return new transferRequestQuery_argsTupleScheme();
      }
    }

    private static class transferRequestQuery_argsTupleScheme
        extends TupleScheme<transferRequestQuery_args> {

      @Override
      public final void write(final TProtocol prot,
                              final transferRequestQuery_args struct)
          throws TException {
        final TTupleProtocol oprot = (TTupleProtocol) prot;
        final BitSet optionals = new BitSet();
        if (struct.isSetRequest()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetRequest()) {
          struct.request.write(oprot);
        }
      }

      @Override
      public final void read(final TProtocol prot,
                             final transferRequestQuery_args struct)
          throws TException {
        final TTupleProtocol iprot = (TTupleProtocol) prot;
        final BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.request = new R66Request();
          struct.request.read(iprot);
          struct.setRequestIsSet(true);
        }
      }
    }

  }

  public static class transferRequestQuery_result implements
                                                  TBase<transferRequestQuery_result, transferRequestQuery_result._Fields>,
                                                  Cloneable {

    private static final String SUCCESS2 = "success:";

    /**
     *
     */
    private static final long serialVersionUID = 6094115747732277098L;

    private static final TStruct STRUCT_DESC =
        new TStruct("transferRequestQuery_result");

    private static final TField SUCCESS_FIELD_DESC =
        new TField(SUCCESS3, TType.STRUCT, (short) 0);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes =
        new HashMap<Class<? extends IScheme>, SchemeFactory>();

    static {
      schemes.put(StandardScheme.class,
                  new transferRequestQuery_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class,
                  new transferRequestQuery_resultTupleSchemeFactory());
    }

    private R66Result success; // required

    @Override
    public final transferRequestQuery_result clone()
        throws CloneNotSupportedException {
      return (transferRequestQuery_result) super.clone();
    }

    /**
     * The set of fields this struct contains, along with convenience
     * methods
     * for finding and manipulating them.
     */
    public enum _Fields implements TFieldIdEnum {
      SUCCESS((short) 0, SUCCESS3);

      private static final Map<String, _Fields> byName =
          new HashMap<String, _Fields>();

      static {
        for (final _Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its
       * not
       * found.
       */
      public static _Fields findByThriftId(final int fieldId) {
        if (fieldId == 0) { // SUCCESS
          return SUCCESS;
        }
        return null;
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an
       * exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(final int fieldId) {
        final _Fields fields = findByThriftId(fieldId);
        if (fields == null) {
          throw new IllegalArgumentException(
              "Field " + fieldId + " doesn't exist!");
        }
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not
       * found.
       */
      public static _Fields findByName(final String name) {
        return byName.get(name);
      }

      private final short thriftId;
      private final String fieldName;

      _Fields(final short thriftId, final String fieldName) {
        this.thriftId = thriftId;
        this.fieldName = fieldName;
      }

      @Override
      public final short getThriftFieldId() {
        return thriftId;
      }

      @Override
      public final String getFieldName() {
        return fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, FieldMetaData> metaDataMap;

    static {
      final Map<_Fields, FieldMetaData> tmpMap =
          new EnumMap<_Fields, FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS,
                 new FieldMetaData(SUCCESS3, TFieldRequirementType.DEFAULT,
                                   new StructMetaData(TType.STRUCT,
                                                      R66Result.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      FieldMetaData.addStructMetaDataMap(transferRequestQuery_result.class,
                                         metaDataMap);
    }

    public transferRequestQuery_result() {
    }

    public transferRequestQuery_result(final R66Result success) {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public transferRequestQuery_result(
        final transferRequestQuery_result other) {
      if (other.isSetSuccess()) {
        success = new R66Result(other.success);
      }
    }

    @Override
    public final transferRequestQuery_result deepCopy() {
      return new transferRequestQuery_result(this);
    }

    @Override
    public final void clear() {
      success = null;
    }

    public final R66Result getSuccess() {
      return success;
    }

    public final transferRequestQuery_result setSuccess(
        final R66Result success) {
      this.success = success;
      return this;
    }

    public final void unsetSuccess() {
      success = null;
    }

    /**
     * Returns true if field success is set (has been assigned a value) and
     * false otherwise
     */
    public final boolean isSetSuccess() {
      return success != null;
    }

    public final void setSuccessIsSet(final boolean value) {
      if (!value) {
        success = null;
      }
    }

    @Override
    public final void setFieldValue(final _Fields field, final Object value) {
      if (field == _Fields.SUCCESS) {
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((R66Result) value);
        }
      }
    }

    @Override
    public final Object getFieldValue(final _Fields field) {
      if (field == _Fields.SUCCESS) {
        return getSuccess();
      }
      throw new IllegalStateException();
    }

    /**
     * Returns true if field corresponding to fieldID is set (has been
     * assigned
     * a value) and false otherwise
     */
    @Override
    public final boolean isSet(final _Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      if (field == _Fields.SUCCESS) {
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public final boolean equals(final Object that) {
      if (that == null) {
        return false;
      }
      if (that instanceof transferRequestQuery_result) {
        return equals((transferRequestQuery_result) that);
      }
      return false;
    }

    public final boolean equals(final transferRequestQuery_result that) {
      if (that == null) {
        return false;
      }

      final boolean this_present_success = isSetSuccess();
      final boolean that_present_success = that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success)) {
          return false;
        }
        return success.equals(that.success);
      }

      return true;
    }

    @Override
    public final int hashCode() {
      return 0;
    }

    @Override
    public final int compareTo(final transferRequestQuery_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison;

      lastComparison =
          Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = TBaseHelper.compareTo(success, other.success);
        return lastComparison;
      }
      return 0;
    }

    @Override
    public final _Fields fieldForId(final int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public final void read(final TProtocol iprot) throws TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    @Override
    public final void write(final TProtocol oprot) throws TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public final String toString() {
      final StringBuilder sb =
          new StringBuilder("transferRequestQuery_result(");
      sb.append(SUCCESS2);
      if (success == null) {
        sb.append("null");
      } else {
        sb.append(success);
      }
      sb.append(')');
      return sb.toString();
    }

    public final void validate() throws TException {
      // check for required fields
      // check for sub-struct validity
      if (success != null) {
        success.validate();
      }
    }

    private void writeObject(final ObjectOutputStream out) throws IOException {
      try {
        write(new TCompactProtocol(new TIOStreamTransport(out)));
      } catch (final TException te) {
        throw new IOException(te);
      }
    }

    private void readObject(final ObjectInputStream in)
        throws IOException, ClassNotFoundException {
      try {
        read(new TCompactProtocol(new TIOStreamTransport(in)));
      } catch (final TException te) {
        throw new IOException(te);
      }
    }

    private static class transferRequestQuery_resultStandardSchemeFactory
        implements SchemeFactory {
      @Override
      public final transferRequestQuery_resultStandardScheme getScheme() {
        return new transferRequestQuery_resultStandardScheme();
      }
    }

    private static class transferRequestQuery_resultStandardScheme
        extends StandardScheme<transferRequestQuery_result> {

      @Override
      public final void read(final TProtocol iprot,
                             final transferRequestQuery_result struct)
          throws TException {
        TField schemeField;
        iprot.readStructBegin();
        while (true) {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == TType.STOP) {
            break;
          }
          if (schemeField.id == 0) { // SUCCESS
            if (schemeField.type == TType.STRUCT) {
              struct.success = new R66Result();
              struct.success.read(iprot);
              struct.setSuccessIsSet(true);
            } else {
              TProtocolUtil.skip(iprot, schemeField.type);
            }
          } else {
            TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the
        // validate method
        struct.validate();
      }

      @Override
      public final void write(final TProtocol oprot,
                              final transferRequestQuery_result struct)
          throws TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          struct.success.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class transferRequestQuery_resultTupleSchemeFactory
        implements SchemeFactory {
      @Override
      public final transferRequestQuery_resultTupleScheme getScheme() {
        return new transferRequestQuery_resultTupleScheme();
      }
    }

    private static class transferRequestQuery_resultTupleScheme
        extends TupleScheme<transferRequestQuery_result> {

      @Override
      public final void write(final TProtocol prot,
                              final transferRequestQuery_result struct)
          throws TException {
        final TTupleProtocol oprot = (TTupleProtocol) prot;
        final BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          struct.success.write(oprot);
        }
      }

      @Override
      public final void read(final TProtocol prot,
                             final transferRequestQuery_result struct)
          throws TException {
        final TTupleProtocol iprot = (TTupleProtocol) prot;
        final BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = new R66Result();
          struct.success.read(iprot);
          struct.setSuccessIsSet(true);
        }
      }
    }

  }

  public static class infoTransferQuery_args
      implements TBase<infoTransferQuery_args, infoTransferQuery_args._Fields>,
                 Cloneable {
    /**
     *
     */
    private static final long serialVersionUID = 964166304678767871L;

    private static final TStruct STRUCT_DESC =
        new TStruct("infoTransferQuery_args");

    private static final TField REQUEST_FIELD_DESC =
        new TField("request", TType.STRUCT, (short) 1);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes =
        new HashMap<Class<? extends IScheme>, SchemeFactory>();

    static {
      schemes.put(StandardScheme.class,
                  new infoTransferQuery_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class,
                  new infoTransferQuery_argsTupleSchemeFactory());
    }

    private R66Request request; // required

    @Override
    public final infoTransferQuery_args clone()
        throws CloneNotSupportedException {
      return (infoTransferQuery_args) super.clone();
    }

    /**
     * The set of fields this struct contains, along with convenience
     * methods
     * for finding and manipulating them.
     */
    public enum _Fields implements TFieldIdEnum {
      REQUEST((short) 1, REQUEST3);

      private static final Map<String, _Fields> byName =
          new HashMap<String, _Fields>();

      static {
        for (final _Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its
       * not
       * found.
       */
      public static _Fields findByThriftId(final int fieldId) {
        if (fieldId == 1) { // REQUEST
          return REQUEST;
        }
        return null;
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an
       * exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(final int fieldId) {
        final _Fields fields = findByThriftId(fieldId);
        if (fields == null) {
          throw new IllegalArgumentException(
              "Field " + fieldId + " doesn't exist!");
        }
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not
       * found.
       */
      public static _Fields findByName(final String name) {
        return byName.get(name);
      }

      private final short thriftId;
      private final String fieldName;

      _Fields(final short thriftId, final String fieldName) {
        this.thriftId = thriftId;
        this.fieldName = fieldName;
      }

      @Override
      public final short getThriftFieldId() {
        return thriftId;
      }

      @Override
      public final String getFieldName() {
        return fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, FieldMetaData> metaDataMap;

    static {
      final Map<_Fields, FieldMetaData> tmpMap =
          new EnumMap<_Fields, FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.REQUEST,
                 new FieldMetaData("request", TFieldRequirementType.DEFAULT,
                                   new StructMetaData(TType.STRUCT,
                                                      R66Request.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      FieldMetaData.addStructMetaDataMap(infoTransferQuery_args.class,
                                         metaDataMap);
    }

    public infoTransferQuery_args() {
    }

    public infoTransferQuery_args(final R66Request request) {
      this();
      this.request = request;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public infoTransferQuery_args(final infoTransferQuery_args other) {
      if (other.isSetRequest()) {
        request = new R66Request(other.request);
      }
    }

    @Override
    public final infoTransferQuery_args deepCopy() {
      return new infoTransferQuery_args(this);
    }

    @Override
    public final void clear() {
      request = null;
    }

    public final R66Request getRequest() {
      return request;
    }

    public final infoTransferQuery_args setRequest(final R66Request request) {
      this.request = request;
      return this;
    }

    public final void unsetRequest() {
      request = null;
    }

    /**
     * Returns true if field request is set (has been assigned a value) and
     * false otherwise
     */
    public final boolean isSetRequest() {
      return request != null;
    }

    public final void setRequestIsSet(final boolean value) {
      if (!value) {
        request = null;
      }
    }

    @Override
    public final void setFieldValue(final _Fields field, final Object value) {
      if (field == _Fields.REQUEST) {
        if (value == null) {
          unsetRequest();
        } else {
          setRequest((R66Request) value);
        }
      }
    }

    @Override
    public final Object getFieldValue(final _Fields field) {
      if (field == _Fields.REQUEST) {
        return getRequest();
      }
      throw new IllegalStateException();
    }

    /**
     * Returns true if field corresponding to fieldID is set (has been
     * assigned
     * a value) and false otherwise
     */
    @Override
    public final boolean isSet(final _Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      if (field == _Fields.REQUEST) {
        return isSetRequest();
      }
      throw new IllegalStateException();
    }

    @Override
    public final boolean equals(final Object that) {
      if (that == null) {
        return false;
      }
      if (that instanceof infoTransferQuery_args) {
        return equals((infoTransferQuery_args) that);
      }
      return false;
    }

    public final boolean equals(final infoTransferQuery_args that) {
      if (that == null) {
        return false;
      }

      final boolean this_present_request = isSetRequest();
      final boolean that_present_request = that.isSetRequest();
      if (this_present_request || that_present_request) {
        if (!(this_present_request && that_present_request)) {
          return false;
        }
        return request.equals(that.request);
      }

      return true;
    }

    @Override
    public final int hashCode() {
      return 0;
    }

    @Override
    public final int compareTo(final infoTransferQuery_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison;

      lastComparison =
          Boolean.valueOf(isSetRequest()).compareTo(other.isSetRequest());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRequest()) {
        lastComparison = TBaseHelper.compareTo(request, other.request);
        return lastComparison;
      }
      return 0;
    }

    @Override
    public final _Fields fieldForId(final int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public final void read(final TProtocol iprot) throws TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    @Override
    public final void write(final TProtocol oprot) throws TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public final String toString() {
      final StringBuilder sb = new StringBuilder("infoTransferQuery_args(");
      sb.append("request:");
      if (request == null) {
        sb.append("null");
      } else {
        sb.append(request);
      }
      sb.append(')');
      return sb.toString();
    }

    public final void validate() throws TException {
      // check for required fields
      // check for sub-struct validity
      if (request != null) {
        request.validate();
      }
    }

    private void writeObject(final ObjectOutputStream out) throws IOException {
      try {
        write(new TCompactProtocol(new TIOStreamTransport(out)));
      } catch (final TException te) {
        throw new IOException(te);
      }
    }

    private void readObject(final ObjectInputStream in)
        throws IOException, ClassNotFoundException {
      try {
        read(new TCompactProtocol(new TIOStreamTransport(in)));
      } catch (final TException te) {
        throw new IOException(te);
      }
    }

    private static class infoTransferQuery_argsStandardSchemeFactory
        implements SchemeFactory {
      @Override
      public final infoTransferQuery_argsStandardScheme getScheme() {
        return new infoTransferQuery_argsStandardScheme();
      }
    }

    private static class infoTransferQuery_argsStandardScheme
        extends StandardScheme<infoTransferQuery_args> {

      @Override
      public final void read(final TProtocol iprot,
                             final infoTransferQuery_args struct)
          throws TException {
        TField schemeField;
        iprot.readStructBegin();
        while (true) {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == TType.STOP) {
            break;
          }
          if (schemeField.id == 1) { // REQUEST
            if (schemeField.type == TType.STRUCT) {
              struct.request = new R66Request();
              struct.request.read(iprot);
              struct.setRequestIsSet(true);
            } else {
              TProtocolUtil.skip(iprot, schemeField.type);
            }
          } else {
            TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the
        // validate method
        struct.validate();
      }

      @Override
      public final void write(final TProtocol oprot,
                              final infoTransferQuery_args struct)
          throws TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.request != null) {
          oprot.writeFieldBegin(REQUEST_FIELD_DESC);
          struct.request.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class infoTransferQuery_argsTupleSchemeFactory
        implements SchemeFactory {
      @Override
      public final infoTransferQuery_argsTupleScheme getScheme() {
        return new infoTransferQuery_argsTupleScheme();
      }
    }

    private static class infoTransferQuery_argsTupleScheme
        extends TupleScheme<infoTransferQuery_args> {

      @Override
      public final void write(final TProtocol prot,
                              final infoTransferQuery_args struct)
          throws TException {
        final TTupleProtocol oprot = (TTupleProtocol) prot;
        final BitSet optionals = new BitSet();
        if (struct.isSetRequest()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetRequest()) {
          struct.request.write(oprot);
        }
      }

      @Override
      public final void read(final TProtocol prot,
                             final infoTransferQuery_args struct)
          throws TException {
        final TTupleProtocol iprot = (TTupleProtocol) prot;
        final BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.request = new R66Request();
          struct.request.read(iprot);
          struct.setRequestIsSet(true);
        }
      }
    }

  }

  public static class infoTransferQuery_result implements
                                               TBase<infoTransferQuery_result, infoTransferQuery_result._Fields>,
                                               Cloneable {
    /**
     *
     */
    private static final long serialVersionUID = 7107861839746005751L;

    private static final TStruct STRUCT_DESC =
        new TStruct("infoTransferQuery_result");

    private static final TField SUCCESS_FIELD_DESC =
        new TField("success", TType.STRUCT, (short) 0);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes =
        new HashMap<Class<? extends IScheme>, SchemeFactory>();

    static {
      schemes.put(StandardScheme.class,
                  new infoTransferQuery_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class,
                  new infoTransferQuery_resultTupleSchemeFactory());
    }

    private R66Result success; // required

    /**
     * The set of fields this struct contains, along with convenience
     * methods
     * for finding and manipulating them.
     */
    public enum _Fields implements TFieldIdEnum {
      SUCCESS((short) 0, SUCCESS3);

      private static final Map<String, _Fields> byName =
          new HashMap<String, _Fields>();

      static {
        for (final _Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its
       * not
       * found.
       */
      public static _Fields findByThriftId(final int fieldId) {
        if (fieldId == 0) { // SUCCESS
          return SUCCESS;
        }
        return null;
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an
       * exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(final int fieldId) {
        final _Fields fields = findByThriftId(fieldId);
        if (fields == null) {
          throw new IllegalArgumentException(
              "Field " + fieldId + " doesn't exist!");
        }
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not
       * found.
       */
      public static _Fields findByName(final String name) {
        return byName.get(name);
      }

      private final short thriftId;
      private final String fieldName;

      _Fields(final short thriftId, final String fieldName) {
        this.thriftId = thriftId;
        this.fieldName = fieldName;
      }

      @Override
      public final short getThriftFieldId() {
        return thriftId;
      }

      @Override
      public final String getFieldName() {
        return fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, FieldMetaData> metaDataMap;

    static {
      final Map<_Fields, FieldMetaData> tmpMap =
          new EnumMap<_Fields, FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS,
                 new FieldMetaData("success", TFieldRequirementType.DEFAULT,
                                   new StructMetaData(TType.STRUCT,
                                                      R66Result.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      FieldMetaData.addStructMetaDataMap(infoTransferQuery_result.class,
                                         metaDataMap);
    }

    public infoTransferQuery_result() {
    }

    public infoTransferQuery_result(final R66Result success) {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public infoTransferQuery_result(final infoTransferQuery_result other) {
      if (other.isSetSuccess()) {
        success = new R66Result(other.success);
      }
    }

    @Override
    public final infoTransferQuery_result deepCopy() {
      return new infoTransferQuery_result(this);
    }

    @Override
    public final void clear() {
      success = null;
    }

    public final R66Result getSuccess() {
      return success;
    }

    public final infoTransferQuery_result setSuccess(final R66Result success) {
      this.success = success;
      return this;
    }

    public final void unsetSuccess() {
      success = null;
    }

    /**
     * Returns true if field success is set (has been assigned a value) and
     * false otherwise
     */
    public final boolean isSetSuccess() {
      return success != null;
    }

    public final void setSuccessIsSet(final boolean value) {
      if (!value) {
        success = null;
      }
    }

    @Override
    public final void setFieldValue(final _Fields field, final Object value) {
      if (field == _Fields.SUCCESS) {
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((R66Result) value);
        }
      }
    }

    @Override
    public final Object getFieldValue(final _Fields field) {
      if (field == _Fields.SUCCESS) {
        return getSuccess();
      }
      throw new IllegalStateException();
    }

    /**
     * Returns true if field corresponding to fieldID is set (has been
     * assigned
     * a value) and false otherwise
     */
    @Override
    public final boolean isSet(final _Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      if (field == _Fields.SUCCESS) {
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public final boolean equals(final Object that) {
      if (that == null) {
        return false;
      }
      if (that instanceof infoTransferQuery_result) {
        return equals((infoTransferQuery_result) that);
      }
      return false;
    }

    public final boolean equals(final infoTransferQuery_result that) {
      if (that == null) {
        return false;
      }

      final boolean this_present_success = isSetSuccess();
      final boolean that_present_success = that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success)) {
          return false;
        }
        return success.equals(that.success);
      }

      return true;
    }

    @Override
    public final int hashCode() {
      return 0;
    }

    @Override
    public final int compareTo(final infoTransferQuery_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison;

      lastComparison =
          Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = TBaseHelper.compareTo(success, other.success);
        return lastComparison;
      }
      return 0;
    }

    @Override
    public final _Fields fieldForId(final int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public final void read(final TProtocol iprot) throws TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    @Override
    public final void write(final TProtocol oprot) throws TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public final String toString() {
      final StringBuilder sb = new StringBuilder("infoTransferQuery_result(");
      sb.append("success:");
      if (success == null) {
        sb.append("null");
      } else {
        sb.append(success);
      }
      sb.append(')');
      return sb.toString();
    }

    public final void validate() throws TException {
      // check for required fields
      // check for sub-struct validity
      if (success != null) {
        success.validate();
      }
    }

    private void writeObject(final ObjectOutputStream out) throws IOException {
      try {
        write(new TCompactProtocol(new TIOStreamTransport(out)));
      } catch (final TException te) {
        throw new IOException(te);
      }
    }

    private void readObject(final ObjectInputStream in)
        throws IOException, ClassNotFoundException {
      try {
        read(new TCompactProtocol(new TIOStreamTransport(in)));
      } catch (final TException te) {
        throw new IOException(te);
      }
    }

    private static class infoTransferQuery_resultStandardSchemeFactory
        implements SchemeFactory {
      @Override
      public final infoTransferQuery_resultStandardScheme getScheme() {
        return new infoTransferQuery_resultStandardScheme();
      }
    }

    private static class infoTransferQuery_resultStandardScheme
        extends StandardScheme<infoTransferQuery_result> {

      @Override
      public final void read(final TProtocol iprot,
                             final infoTransferQuery_result struct)
          throws TException {
        TField schemeField;
        iprot.readStructBegin();
        while (true) {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == TType.STOP) {
            break;
          }
          if (schemeField.id == 0) { // SUCCESS
            if (schemeField.type == TType.STRUCT) {
              struct.success = new R66Result();
              struct.success.read(iprot);
              struct.setSuccessIsSet(true);
            } else {
              TProtocolUtil.skip(iprot, schemeField.type);
            }
          } else {
            TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the
        // validate method
        struct.validate();
      }

      @Override
      public final void write(final TProtocol oprot,
                              final infoTransferQuery_result struct)
          throws TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          struct.success.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class infoTransferQuery_resultTupleSchemeFactory
        implements SchemeFactory {
      @Override
      public final infoTransferQuery_resultTupleScheme getScheme() {
        return new infoTransferQuery_resultTupleScheme();
      }
    }

    private static class infoTransferQuery_resultTupleScheme
        extends TupleScheme<infoTransferQuery_result> {

      @Override
      public final void write(final TProtocol prot,
                              final infoTransferQuery_result struct)
          throws TException {
        final TTupleProtocol oprot = (TTupleProtocol) prot;
        final BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          struct.success.write(oprot);
        }
      }

      @Override
      public final void read(final TProtocol prot,
                             final infoTransferQuery_result struct)
          throws TException {
        final TTupleProtocol iprot = (TTupleProtocol) prot;
        final BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = new R66Result();
          struct.success.read(iprot);
          struct.setSuccessIsSet(true);
        }
      }
    }

  }

  public static class isStillRunning_args
      implements TBase<isStillRunning_args, isStillRunning_args._Fields>,
                 Cloneable {
    private static final String TOUID2 = "touid";

    private static final String FROMUID2 = "fromuid";

    /**
     *
     */
    private static final long serialVersionUID = -8778878918458740258L;

    private static final TStruct STRUCT_DESC =
        new TStruct("isStillRunning_args");

    private static final TField FROMUID_FIELD_DESC =
        new TField(FROMUID2, TType.STRING, (short) 1);
    private static final TField TOUID_FIELD_DESC =
        new TField(TOUID2, TType.STRING, (short) 2);
    private static final TField TID_FIELD_DESC =
        new TField("tid", TType.I64, (short) 3);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes =
        new HashMap<Class<? extends IScheme>, SchemeFactory>();

    static {
      schemes.put(StandardScheme.class,
                  new isStillRunning_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class,
                  new isStillRunning_argsTupleSchemeFactory());
    }

    private String fromuid; // required
    private String touid; // required
    private long tid; // required

    @Override
    public final isStillRunning_args clone() throws CloneNotSupportedException {
      return (isStillRunning_args) super.clone();
    }

    /**
     * The set of fields this struct contains, along with convenience
     * methods
     * for finding and manipulating them.
     */
    public enum _Fields implements TFieldIdEnum {
      FROMUID((short) 1, FROMUID2), TOUID((short) 2, TOUID2),
      TID((short) 3, "tid");

      private static final Map<String, _Fields> byName =
          new HashMap<String, _Fields>();

      static {
        for (final _Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its
       * not
       * found.
       */
      public static _Fields findByThriftId(final int fieldId) {
        switch (fieldId) {
          case 1: // FROMUID
            return FROMUID;
          case 2: // TOUID
            return TOUID;
          case 3: // TID
            return TID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an
       * exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(final int fieldId) {
        final _Fields fields = findByThriftId(fieldId);
        if (fields == null) {
          throw new IllegalArgumentException(
              "Field " + fieldId + " doesn't exist!");
        }
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not
       * found.
       */
      public static _Fields findByName(final String name) {
        return byName.get(name);
      }

      private final short thriftId;
      private final String fieldName;

      _Fields(final short thriftId, final String fieldName) {
        this.thriftId = thriftId;
        this.fieldName = fieldName;
      }

      @Override
      public final short getThriftFieldId() {
        return thriftId;
      }

      @Override
      public final String getFieldName() {
        return fieldName;
      }
    }

    // isset id assignments
    private static final int TID_ISSET_ID = 0;
    private byte issetBitfield;
    public static final Map<_Fields, FieldMetaData> metaDataMap;

    static {
      final Map<_Fields, FieldMetaData> tmpMap =
          new EnumMap<_Fields, FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.FROMUID,
                 new FieldMetaData(FROMUID2, TFieldRequirementType.DEFAULT,
                                   new FieldValueMetaData(TType.STRING)));
      tmpMap.put(_Fields.TOUID,
                 new FieldMetaData(TOUID2, TFieldRequirementType.DEFAULT,
                                   new FieldValueMetaData(TType.STRING)));
      tmpMap.put(_Fields.TID,
                 new FieldMetaData("tid", TFieldRequirementType.DEFAULT,
                                   new FieldValueMetaData(TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      FieldMetaData.addStructMetaDataMap(isStillRunning_args.class,
                                         metaDataMap);
    }

    public isStillRunning_args() {
    }

    public isStillRunning_args(final String fromuid, final String touid,
                               final long tid) {
      this();
      this.fromuid = fromuid;
      this.touid = touid;
      this.tid = tid;
      setTidIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public isStillRunning_args(final isStillRunning_args other) {
      issetBitfield = other.issetBitfield;
      if (other.isSetFromuid()) {
        fromuid = other.fromuid;
      }
      if (other.isSetTouid()) {
        touid = other.touid;
      }
      tid = other.tid;
    }

    @Override
    public final isStillRunning_args deepCopy() {
      return new isStillRunning_args(this);
    }

    @Override
    public final void clear() {
      fromuid = null;
      touid = null;
      setTidIsSet(false);
      tid = 0;
    }

    public final String getFromuid() {
      return fromuid;
    }

    public final isStillRunning_args setFromuid(final String fromuid) {
      this.fromuid = fromuid;
      return this;
    }

    public final void unsetFromuid() {
      fromuid = null;
    }

    /**
     * Returns true if field fromuid is set (has been assigned a value) and
     * false otherwise
     */
    public final boolean isSetFromuid() {
      return fromuid != null;
    }

    public final void setFromuidIsSet(final boolean value) {
      if (!value) {
        fromuid = null;
      }
    }

    public final String getTouid() {
      return touid;
    }

    public final isStillRunning_args setTouid(final String touid) {
      this.touid = touid;
      return this;
    }

    public final void unsetTouid() {
      touid = null;
    }

    /**
     * Returns true if field touid is set (has been assigned a value) and
     * false
     * otherwise
     */
    public final boolean isSetTouid() {
      return touid != null;
    }

    public final void setTouidIsSet(final boolean value) {
      if (!value) {
        touid = null;
      }
    }

    public final long getTid() {
      return tid;
    }

    public final isStillRunning_args setTid(final long tid) {
      this.tid = tid;
      setTidIsSet(true);
      return this;
    }

    public final void unsetTid() {
      issetBitfield = EncodingUtils.clearBit(issetBitfield, TID_ISSET_ID);
    }

    /**
     * Returns true if field tid is set (has been assigned a value) and
     * false
     * otherwise
     */
    public final boolean isSetTid() {
      return EncodingUtils.testBit(issetBitfield, TID_ISSET_ID);
    }

    public final void setTidIsSet(final boolean value) {
      issetBitfield = EncodingUtils.setBit(issetBitfield, TID_ISSET_ID, value);
    }

    @Override
    public final void setFieldValue(final _Fields field, final Object value) {
      switch (field) {
        case FROMUID:
          if (value == null) {
            unsetFromuid();
          } else {
            setFromuid((String) value);
          }
          break;

        case TOUID:
          if (value == null) {
            unsetTouid();
          } else {
            setTouid((String) value);
          }
          break;

        case TID:
          if (value == null) {
            unsetTid();
          } else {
            setTid((Long) value);
          }
          break;

      }
    }

    @Override
    public final Object getFieldValue(final _Fields field) {
      switch (field) {
        case FROMUID:
          return getFromuid();

        case TOUID:
          return getTouid();

        case TID:
          return Long.valueOf(getTid());

      }
      throw new IllegalStateException();
    }

    /**
     * Returns true if field corresponding to fieldID is set (has been
     * assigned
     * a value) and false otherwise
     */
    @Override
    public final boolean isSet(final _Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
        case FROMUID:
          return isSetFromuid();
        case TOUID:
          return isSetTouid();
        case TID:
          return isSetTid();
      }
      throw new IllegalStateException();
    }

    @Override
    public final boolean equals(final Object that) {
      if (that == null) {
        return false;
      }
      if (that instanceof isStillRunning_args) {
        return equals((isStillRunning_args) that);
      }
      return false;
    }

    public final boolean equals(final isStillRunning_args that) {
      if (that == null) {
        return false;
      }

      final boolean this_present_fromuid = isSetFromuid();
      final boolean that_present_fromuid = that.isSetFromuid();
      if (this_present_fromuid || that_present_fromuid) {
        if (!(this_present_fromuid && that_present_fromuid)) {
          return false;
        }
        if (!fromuid.equals(that.fromuid)) {
          return false;
        }
      }

      final boolean this_present_touid = isSetTouid();
      final boolean that_present_touid = that.isSetTouid();
      if (this_present_touid || that_present_touid) {
        if (!(this_present_touid && that_present_touid)) {
          return false;
        }
        if (!touid.equals(that.touid)) {
          return false;
        }
      }

      return tid == that.tid;
    }

    @Override
    public final int hashCode() {
      return 0;
    }

    @Override
    public final int compareTo(final isStillRunning_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison;

      lastComparison =
          Boolean.valueOf(isSetFromuid()).compareTo(other.isSetFromuid());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFromuid()) {
        lastComparison = TBaseHelper.compareTo(fromuid, other.fromuid);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison =
          Boolean.valueOf(isSetTouid()).compareTo(other.isSetTouid());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTouid()) {
        lastComparison = TBaseHelper.compareTo(touid, other.touid);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetTid()).compareTo(other.isSetTid());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTid()) {
        lastComparison = TBaseHelper.compareTo(tid, other.tid);
        return lastComparison;
      }
      return 0;
    }

    @Override
    public final _Fields fieldForId(final int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public final void read(final TProtocol iprot) throws TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    @Override
    public final void write(final TProtocol oprot) throws TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public final String toString() {
      final StringBuilder sb = new StringBuilder("isStillRunning_args(");

      sb.append("fromuid:");
      if (fromuid == null) {
        sb.append("null");
      } else {
        sb.append(fromuid);
      }
      sb.append(", ");
      sb.append("touid:");
      if (touid == null) {
        sb.append("null");
      } else {
        sb.append(touid);
      }
      sb.append(", ");
      sb.append("tid:").append(tid);
      sb.append(')');
      return sb.toString();
    }

    public final void validate() throws TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(final ObjectOutputStream out) throws IOException {
      try {
        write(new TCompactProtocol(new TIOStreamTransport(out)));
      } catch (final TException te) {
        throw new IOException(te);
      }
    }

    private void readObject(final ObjectInputStream in)
        throws IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky,
        // and doesn't call the default constructor.
        issetBitfield = 0;
        read(new TCompactProtocol(new TIOStreamTransport(in)));
      } catch (final TException te) {
        throw new IOException(te);
      }
    }

    private static class isStillRunning_argsStandardSchemeFactory
        implements SchemeFactory {
      @Override
      public final isStillRunning_argsStandardScheme getScheme() {
        return new isStillRunning_argsStandardScheme();
      }
    }

    private static class isStillRunning_argsStandardScheme
        extends StandardScheme<isStillRunning_args> {

      @Override
      public final void read(final TProtocol iprot,
                             final isStillRunning_args struct)
          throws TException {
        TField schemeField;
        iprot.readStructBegin();
        while (true) {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == TType.STOP) {
            break;
          }
          switch (schemeField.id) {
            case 1: // FROMUID
              if (schemeField.type == TType.STRING) {
                struct.fromuid = iprot.readString();
                struct.setFromuidIsSet(true);
              } else {
                TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // TOUID
              if (schemeField.type == TType.STRING) {
                struct.touid = iprot.readString();
                struct.setTouidIsSet(true);
              } else {
                TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // TID
              if (schemeField.type == TType.I64) {
                struct.tid = iprot.readI64();
                struct.setTidIsSet(true);
              } else {
                TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the
        // validate method
        struct.validate();
      }

      @Override
      public final void write(final TProtocol oprot,
                              final isStillRunning_args struct)
          throws TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.fromuid != null) {
          oprot.writeFieldBegin(FROMUID_FIELD_DESC);
          oprot.writeString(struct.fromuid);
          oprot.writeFieldEnd();
        }
        if (struct.touid != null) {
          oprot.writeFieldBegin(TOUID_FIELD_DESC);
          oprot.writeString(struct.touid);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldBegin(TID_FIELD_DESC);
        oprot.writeI64(struct.tid);
        oprot.writeFieldEnd();
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class isStillRunning_argsTupleSchemeFactory
        implements SchemeFactory {
      @Override
      public final isStillRunning_argsTupleScheme getScheme() {
        return new isStillRunning_argsTupleScheme();
      }
    }

    private static class isStillRunning_argsTupleScheme
        extends TupleScheme<isStillRunning_args> {

      @Override
      public final void write(final TProtocol prot,
                              final isStillRunning_args struct)
          throws TException {
        final TTupleProtocol oprot = (TTupleProtocol) prot;
        final BitSet optionals = new BitSet();
        if (struct.isSetFromuid()) {
          optionals.set(0);
        }
        if (struct.isSetTouid()) {
          optionals.set(1);
        }
        if (struct.isSetTid()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.isSetFromuid()) {
          oprot.writeString(struct.fromuid);
        }
        if (struct.isSetTouid()) {
          oprot.writeString(struct.touid);
        }
        if (struct.isSetTid()) {
          oprot.writeI64(struct.tid);
        }
      }

      @Override
      public final void read(final TProtocol prot,
                             final isStillRunning_args struct)
          throws TException {
        final TTupleProtocol iprot = (TTupleProtocol) prot;
        final BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.fromuid = iprot.readString();
          struct.setFromuidIsSet(true);
        }
        if (incoming.get(1)) {
          struct.touid = iprot.readString();
          struct.setTouidIsSet(true);
        }
        if (incoming.get(2)) {
          struct.tid = iprot.readI64();
          struct.setTidIsSet(true);
        }
      }
    }

  }

  public static class isStillRunning_result
      implements TBase<isStillRunning_result, isStillRunning_result._Fields>,
                 Cloneable {
    /**
     *
     */
    private static final long serialVersionUID = -6399182854596850272L;

    private static final TStruct STRUCT_DESC =
        new TStruct("isStillRunning_result");

    private static final TField SUCCESS_FIELD_DESC =
        new TField("success", TType.BOOL, (short) 0);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes =
        new HashMap<Class<? extends IScheme>, SchemeFactory>();

    static {
      schemes.put(StandardScheme.class,
                  new isStillRunning_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class,
                  new isStillRunning_resultTupleSchemeFactory());
    }

    private boolean success; // required

    @Override
    public final isStillRunning_result clone()
        throws CloneNotSupportedException {
      return (isStillRunning_result) super.clone();
    }

    /**
     * The set of fields this struct contains, along with convenience
     * methods
     * for finding and manipulating them.
     */
    public enum _Fields implements TFieldIdEnum {
      SUCCESS((short) 0, SUCCESS3);

      private static final Map<String, _Fields> byName =
          new HashMap<String, _Fields>();

      static {
        for (final _Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its
       * not
       * found.
       */
      public static _Fields findByThriftId(final int fieldId) {
        if (fieldId == 0) { // SUCCESS
          return SUCCESS;
        }
        return null;
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an
       * exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(final int fieldId) {
        final _Fields fields = findByThriftId(fieldId);
        if (fields == null) {
          throw new IllegalArgumentException(
              "Field " + fieldId + " doesn't exist!");
        }
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not
       * found.
       */
      public static _Fields findByName(final String name) {
        return byName.get(name);
      }

      private final short thriftId;
      private final String fieldName;

      _Fields(final short thriftId, final String fieldName) {
        this.thriftId = thriftId;
        this.fieldName = fieldName;
      }

      @Override
      public final short getThriftFieldId() {
        return thriftId;
      }

      @Override
      public final String getFieldName() {
        return fieldName;
      }
    }

    // isset id assignments
    private static final int SUCCESS_ISSET_ID = 0;
    private byte issetBitfield;
    public static final Map<_Fields, FieldMetaData> metaDataMap;

    static {
      final Map<_Fields, FieldMetaData> tmpMap =
          new EnumMap<_Fields, FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS,
                 new FieldMetaData("success", TFieldRequirementType.DEFAULT,
                                   new FieldValueMetaData(TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      FieldMetaData.addStructMetaDataMap(isStillRunning_result.class,
                                         metaDataMap);
    }

    public isStillRunning_result() {
    }

    public isStillRunning_result(final boolean success) {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public isStillRunning_result(final isStillRunning_result other) {
      issetBitfield = other.issetBitfield;
      success = other.success;
    }

    @Override
    public final isStillRunning_result deepCopy() {
      return new isStillRunning_result(this);
    }

    @Override
    public final void clear() {
      setSuccessIsSet(false);
      success = false;
    }

    public final boolean isSuccess() {
      return success;
    }

    public final isStillRunning_result setSuccess(final boolean success) {
      this.success = success;
      setSuccessIsSet(true);
      return this;
    }

    public final void unsetSuccess() {
      issetBitfield = EncodingUtils.clearBit(issetBitfield, SUCCESS_ISSET_ID);
    }

    /**
     * Returns true if field success is set (has been assigned a value) and
     * false otherwise
     */
    public final boolean isSetSuccess() {
      return EncodingUtils.testBit(issetBitfield, SUCCESS_ISSET_ID);
    }

    public final void setSuccessIsSet(final boolean value) {
      issetBitfield =
          EncodingUtils.setBit(issetBitfield, SUCCESS_ISSET_ID, value);
    }

    @Override
    public final void setFieldValue(final _Fields field, final Object value) {
      if (field == _Fields.SUCCESS) {
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean) value);
        }
      }
    }

    @Override
    public final Object getFieldValue(final _Fields field) {
      if (field == _Fields.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
     */
    @Override
    public final boolean isSet(final _Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      if (field == _Fields.SUCCESS) {
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public final boolean equals(final Object that) {
      if (that == null) {
        return false;
      }
      if (that instanceof isStillRunning_result) {
        return equals((isStillRunning_result) that);
      }
      return false;
    }

    public final boolean equals(final isStillRunning_result that) {
      if (that == null) {
        return false;
      }
      return success == that.success;
    }

    @Override
    public final int hashCode() {
      return 0;
    }

    @Override
    public final int compareTo(final isStillRunning_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison;

      lastComparison =
          Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = TBaseHelper.compareTo(success, other.success);
        return lastComparison;
      }
      return 0;
    }

    @Override
    public final _Fields fieldForId(final int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public final void read(final TProtocol iprot) throws TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    @Override
    public final void write(final TProtocol oprot) throws TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public final String toString() {
      final StringBuilder sb = new StringBuilder("isStillRunning_result(");
      sb.append("success:").append(success);
      sb.append(')');
      return sb.toString();
    }

    public final void validate() throws TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(final ObjectOutputStream out) throws IOException {
      try {
        write(new TCompactProtocol(new TIOStreamTransport(out)));
      } catch (final TException te) {
        throw new IOException(te);
      }
    }

    private void readObject(final ObjectInputStream in)
        throws IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky,
        // and doesn't call the default constructor.
        issetBitfield = 0;
        read(new TCompactProtocol(new TIOStreamTransport(in)));
      } catch (final TException te) {
        throw new IOException(te);
      }
    }

    private static class isStillRunning_resultStandardSchemeFactory
        implements SchemeFactory {
      @Override
      public final isStillRunning_resultStandardScheme getScheme() {
        return new isStillRunning_resultStandardScheme();
      }
    }

    private static class isStillRunning_resultStandardScheme
        extends StandardScheme<isStillRunning_result> {

      @Override
      public final void read(final TProtocol iprot,
                             final isStillRunning_result struct)
          throws TException {
        TField schemeField;
        iprot.readStructBegin();
        while (true) {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == TType.STOP) {
            break;
          }
          if (schemeField.id == 0) { // SUCCESS
            if (schemeField.type == TType.BOOL) {
              struct.success = iprot.readBool();
              struct.setSuccessIsSet(true);
            } else {
              TProtocolUtil.skip(iprot, schemeField.type);
            }
          } else {
            TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the
        // validate method
        struct.validate();
      }

      @Override
      public final void write(final TProtocol oprot,
                              final isStillRunning_result struct)
          throws TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.isSetSuccess()) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeBool(struct.success);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class isStillRunning_resultTupleSchemeFactory
        implements SchemeFactory {
      @Override
      public final isStillRunning_resultTupleScheme getScheme() {
        return new isStillRunning_resultTupleScheme();
      }
    }

    private static class isStillRunning_resultTupleScheme
        extends TupleScheme<isStillRunning_result> {

      @Override
      public final void write(final TProtocol prot,
                              final isStillRunning_result struct)
          throws TException {
        final TTupleProtocol oprot = (TTupleProtocol) prot;
        final BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          oprot.writeBool(struct.success);
        }
      }

      @Override
      public final void read(final TProtocol prot,
                             final isStillRunning_result struct)
          throws TException {
        final TTupleProtocol iprot = (TTupleProtocol) prot;
        final BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = iprot.readBool();
          struct.setSuccessIsSet(true);
        }
      }
    }

  }

  public static class infoListQuery_args
      implements TBase<infoListQuery_args, infoListQuery_args._Fields>,
                 Cloneable {
    /**
     *
     */
    private static final long serialVersionUID = -5464335236652979724L;

    private static final TStruct STRUCT_DESC =
        new TStruct("infoListQuery_args");

    private static final TField REQUEST_FIELD_DESC =
        new TField("request", TType.STRUCT, (short) 1);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes =
        new HashMap<Class<? extends IScheme>, SchemeFactory>();

    static {
      schemes.put(StandardScheme.class,
                  new infoListQuery_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class,
                  new infoListQuery_argsTupleSchemeFactory());
    }

    private R66Request request; // required

    @Override
    public final infoListQuery_args clone() throws CloneNotSupportedException {
      return (infoListQuery_args) super.clone();
    }

    /**
     * The set of fields this struct contains, along with convenience
     * methods
     * for finding and manipulating them.
     */
    public enum _Fields implements TFieldIdEnum {
      REQUEST((short) 1, REQUEST3);

      private static final Map<String, _Fields> byName =
          new HashMap<String, _Fields>();

      static {
        for (final _Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its
       * not
       * found.
       */
      public static _Fields findByThriftId(final int fieldId) {
        if (fieldId == 1) { // REQUEST
          return REQUEST;
        }
        return null;
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an
       * exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(final int fieldId) {
        final _Fields fields = findByThriftId(fieldId);
        if (fields == null) {
          throw new IllegalArgumentException(
              "Field " + fieldId + " doesn't exist!");
        }
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not
       * found.
       */
      public static _Fields findByName(final String name) {
        return byName.get(name);
      }

      private final short thriftId;
      private final String fieldName;

      _Fields(final short thriftId, final String fieldName) {
        this.thriftId = thriftId;
        this.fieldName = fieldName;
      }

      @Override
      public final short getThriftFieldId() {
        return thriftId;
      }

      @Override
      public final String getFieldName() {
        return fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, FieldMetaData> metaDataMap;

    static {
      final Map<_Fields, FieldMetaData> tmpMap =
          new EnumMap<_Fields, FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.REQUEST,
                 new FieldMetaData("request", TFieldRequirementType.DEFAULT,
                                   new StructMetaData(TType.STRUCT,
                                                      R66Request.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      FieldMetaData.addStructMetaDataMap(infoListQuery_args.class, metaDataMap);
    }

    public infoListQuery_args() {
    }

    public infoListQuery_args(final R66Request request) {
      this();
      this.request = request;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public infoListQuery_args(final infoListQuery_args other) {
      if (other.isSetRequest()) {
        request = new R66Request(other.request);
      }
    }

    @Override
    public final infoListQuery_args deepCopy() {
      return new infoListQuery_args(this);
    }

    @Override
    public final void clear() {
      request = null;
    }

    public final R66Request getRequest() {
      return request;
    }

    public final infoListQuery_args setRequest(final R66Request request) {
      this.request = request;
      return this;
    }

    public final void unsetRequest() {
      request = null;
    }

    /**
     * Returns true if field request is set (has been assigned a value) and
     * false otherwise
     */
    public final boolean isSetRequest() {
      return request != null;
    }

    public final void setRequestIsSet(final boolean value) {
      if (!value) {
        request = null;
      }
    }

    @Override
    public final void setFieldValue(final _Fields field, final Object value) {
      if (field == _Fields.REQUEST) {
        if (value == null) {
          unsetRequest();
        } else {
          setRequest((R66Request) value);
        }
      }
    }

    @Override
    public final Object getFieldValue(final _Fields field) {
      if (field == _Fields.REQUEST) {
        return getRequest();
      }
      throw new IllegalStateException();
    }

    /**
     * Returns true if field corresponding to fieldID is set (has been
     * assigned
     * a value) and false otherwise
     */
    @Override
    public final boolean isSet(final _Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      if (field == _Fields.REQUEST) {
        return isSetRequest();
      }
      throw new IllegalStateException();
    }

    @Override
    public final boolean equals(final Object that) {
      if (that == null) {
        return false;
      }
      if (that instanceof infoListQuery_args) {
        return equals((infoListQuery_args) that);
      }
      return false;
    }

    public final boolean equals(final infoListQuery_args that) {
      if (that == null) {
        return false;
      }

      final boolean this_present_request = isSetRequest();
      final boolean that_present_request = that.isSetRequest();
      if (this_present_request || that_present_request) {
        if (!(this_present_request && that_present_request)) {
          return false;
        }
        return request.equals(that.request);
      }

      return true;
    }

    @Override
    public final int hashCode() {
      return 0;
    }

    @Override
    public final int compareTo(final infoListQuery_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison;

      lastComparison =
          Boolean.valueOf(isSetRequest()).compareTo(other.isSetRequest());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRequest()) {
        lastComparison = TBaseHelper.compareTo(request, other.request);
        return lastComparison;
      }
      return 0;
    }

    @Override
    public final _Fields fieldForId(final int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public final void read(final TProtocol iprot) throws TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    @Override
    public final void write(final TProtocol oprot) throws TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public final String toString() {
      final StringBuilder sb = new StringBuilder("infoListQuery_args(");
      sb.append("request:");
      if (request == null) {
        sb.append("null");
      } else {
        sb.append(request);
      }
      sb.append(')');
      return sb.toString();
    }

    public final void validate() throws TException {
      // check for required fields
      // check for sub-struct validity
      if (request != null) {
        request.validate();
      }
    }

    private void writeObject(final ObjectOutputStream out) throws IOException {
      try {
        write(new TCompactProtocol(new TIOStreamTransport(out)));
      } catch (final TException te) {
        throw new IOException(te);
      }
    }

    private void readObject(final ObjectInputStream in)
        throws IOException, ClassNotFoundException {
      try {
        read(new TCompactProtocol(new TIOStreamTransport(in)));
      } catch (final TException te) {
        throw new IOException(te);
      }
    }

    private static class infoListQuery_argsStandardSchemeFactory
        implements SchemeFactory {
      @Override
      public final infoListQuery_argsStandardScheme getScheme() {
        return new infoListQuery_argsStandardScheme();
      }
    }

    private static class infoListQuery_argsStandardScheme
        extends StandardScheme<infoListQuery_args> {

      @Override
      public final void read(final TProtocol iprot,
                             final infoListQuery_args struct)
          throws TException {
        TField schemeField;
        iprot.readStructBegin();
        while (true) {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == TType.STOP) {
            break;
          }
          if (schemeField.id == 1) { // REQUEST
            if (schemeField.type == TType.STRUCT) {
              struct.request = new R66Request();
              struct.request.read(iprot);
              struct.setRequestIsSet(true);
            } else {
              TProtocolUtil.skip(iprot, schemeField.type);
            }
          } else {
            TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the
        // validate method
        struct.validate();
      }

      @Override
      public final void write(final TProtocol oprot,
                              final infoListQuery_args struct)
          throws TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.request != null) {
          oprot.writeFieldBegin(REQUEST_FIELD_DESC);
          struct.request.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class infoListQuery_argsTupleSchemeFactory
        implements SchemeFactory {
      @Override
      public final infoListQuery_argsTupleScheme getScheme() {
        return new infoListQuery_argsTupleScheme();
      }
    }

    private static class infoListQuery_argsTupleScheme
        extends TupleScheme<infoListQuery_args> {

      @Override
      public final void write(final TProtocol prot,
                              final infoListQuery_args struct)
          throws TException {
        final TTupleProtocol oprot = (TTupleProtocol) prot;
        final BitSet optionals = new BitSet();
        if (struct.isSetRequest()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetRequest()) {
          struct.request.write(oprot);
        }
      }

      @Override
      public final void read(final TProtocol prot,
                             final infoListQuery_args struct)
          throws TException {
        final TTupleProtocol iprot = (TTupleProtocol) prot;
        final BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.request = new R66Request();
          struct.request.read(iprot);
          struct.setRequestIsSet(true);
        }
      }
    }

  }

  public static class infoListQuery_result
      implements TBase<infoListQuery_result, infoListQuery_result._Fields>,
                 Cloneable {
    /**
     *
     */
    private static final long serialVersionUID = 6044365687424384800L;

    private static final TStruct STRUCT_DESC =
        new TStruct("infoListQuery_result");

    private static final TField SUCCESS_FIELD_DESC =
        new TField("success", TType.LIST, (short) 0);

    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes =
        new HashMap<Class<? extends IScheme>, SchemeFactory>();

    static {
      schemes.put(StandardScheme.class,
                  new infoListQuery_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class,
                  new infoListQuery_resultTupleSchemeFactory());
    }

    private List<String> success; // required

    @Override
    public final infoListQuery_result clone()
        throws CloneNotSupportedException {
      return (infoListQuery_result) super.clone();
    }

    /**
     * The set of fields this struct contains, along with convenience
     * methods
     * for finding and manipulating them.
     */
    public enum _Fields implements TFieldIdEnum {
      SUCCESS((short) 0, SUCCESS3);

      private static final Map<String, _Fields> byName =
          new HashMap<String, _Fields>();

      static {
        for (final _Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its
       * not
       * found.
       */
      public static _Fields findByThriftId(final int fieldId) {
        if (fieldId == 0) { // SUCCESS
          return SUCCESS;
        }
        return null;
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an
       * exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(final int fieldId) {
        final _Fields fields = findByThriftId(fieldId);
        if (fields == null) {
          throw new IllegalArgumentException(
              "Field " + fieldId + " doesn't exist!");
        }
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not
       * found.
       */
      public static _Fields findByName(final String name) {
        return byName.get(name);
      }

      private final short thriftId;
      private final String fieldName;

      _Fields(final short thriftId, final String fieldName) {
        this.thriftId = thriftId;
        this.fieldName = fieldName;
      }

      @Override
      public final short getThriftFieldId() {
        return thriftId;
      }

      @Override
      public final String getFieldName() {
        return fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, FieldMetaData> metaDataMap;

    static {
      final Map<_Fields, FieldMetaData> tmpMap =
          new EnumMap<_Fields, FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS,
                 new FieldMetaData("success", TFieldRequirementType.DEFAULT,
                                   new ListMetaData(TType.LIST,
                                                    new FieldValueMetaData(
                                                        TType.STRING))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      FieldMetaData.addStructMetaDataMap(infoListQuery_result.class,
                                         metaDataMap);
    }

    public infoListQuery_result() {
    }

    public infoListQuery_result(final List<String> success) {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public infoListQuery_result(final infoListQuery_result other) {
      if (other.isSetSuccess()) {
        success = new ArrayList<String>(other.success);
      }
    }

    @Override
    public final infoListQuery_result deepCopy() {
      return new infoListQuery_result(this);
    }

    @Override
    public final void clear() {
      success = null;
    }

    public final int getSuccessSize() {
      return success == null? 0 : success.size();
    }

    public final Iterator<String> getSuccessIterator() {
      return success == null? null : success.iterator();
    }

    public final void addToSuccess(final String elem) {
      if (success == null) {
        success = new ArrayList<String>();
      }
      success.add(elem);
    }

    public final List<String> getSuccess() {
      return success;
    }

    public final infoListQuery_result setSuccess(final List<String> success) {
      this.success = success;
      return this;
    }

    public final void unsetSuccess() {
      success = null;
    }

    /**
     * Returns true if field success is set (has been assigned a value) and
     * false otherwise
     */
    public final boolean isSetSuccess() {
      return success != null;
    }

    public final void setSuccessIsSet(final boolean value) {
      if (!value) {
        success = null;
      }
    }

    @Override
    public final void setFieldValue(final _Fields field, final Object value) {
      if (field == _Fields.SUCCESS) {
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<String>) value);
        }
      }
    }

    @Override
    public final Object getFieldValue(final _Fields field) {
      if (field == _Fields.SUCCESS) {
        return getSuccess();
      }
      throw new IllegalStateException();
    }

    /**
     * Returns true if field corresponding to fieldID is set (has been
     * assigned
     * a value) and false otherwise
     */
    @Override
    public final boolean isSet(final _Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      if (field == _Fields.SUCCESS) {
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public final boolean equals(final Object that) {
      if (that == null) {
        return false;
      }
      if (that instanceof infoListQuery_result) {
        return equals((infoListQuery_result) that);
      }
      return false;
    }

    public final boolean equals(final infoListQuery_result that) {
      if (that == null) {
        return false;
      }

      final boolean this_present_success = isSetSuccess();
      final boolean that_present_success = that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success)) {
          return false;
        }
        return success.equals(that.success);
      }

      return true;
    }

    @Override
    public final int hashCode() {
      return 0;
    }

    @Override
    public final int compareTo(final infoListQuery_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison;

      lastComparison =
          Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = TBaseHelper.compareTo(success, other.success);
        return lastComparison;
      }
      return 0;
    }

    @Override
    public final _Fields fieldForId(final int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public final void read(final TProtocol iprot) throws TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    @Override
    public final void write(final TProtocol oprot) throws TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public final String toString() {
      final StringBuilder sb = new StringBuilder("infoListQuery_result(");
      sb.append("success:");
      if (success == null) {
        sb.append("null");
      } else {
        sb.append(success);
      }
      sb.append(')');
      return sb.toString();
    }

    public final void validate() throws TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(final ObjectOutputStream out) throws IOException {
      try {
        write(new TCompactProtocol(new TIOStreamTransport(out)));
      } catch (final TException te) {
        throw new IOException(te);
      }
    }

    private void readObject(final ObjectInputStream in)
        throws IOException, ClassNotFoundException {
      try {
        read(new TCompactProtocol(new TIOStreamTransport(in)));
      } catch (final TException te) {
        throw new IOException(te);
      }
    }

    private static class infoListQuery_resultStandardSchemeFactory
        implements SchemeFactory {
      @Override
      public final infoListQuery_resultStandardScheme getScheme() {
        return new infoListQuery_resultStandardScheme();
      }
    }

    private static class infoListQuery_resultStandardScheme
        extends StandardScheme<infoListQuery_result> {

      @Override
      public final void read(final TProtocol iprot,
                             final infoListQuery_result struct)
          throws TException {
        TField schemeField;
        iprot.readStructBegin();
        while (true) {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == TType.STOP) {
            break;
          }
          if (schemeField.id == 0) { // SUCCESS
            if (schemeField.type == TType.LIST) {
              {
                final TList list0 = iprot.readListBegin();
                struct.success = new ArrayList<String>(list0.size);
                for (int _i1 = 0; _i1 < list0.size; ++_i1) {
                  final String elem2; // required
                  elem2 = iprot.readString();
                  struct.success.add(elem2);
                }
                iprot.readListEnd();
              }
              struct.setSuccessIsSet(true);
            } else {
              TProtocolUtil.skip(iprot, schemeField.type);
            }
          } else {
            TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the
        // validate method
        struct.validate();
      }

      @Override
      public final void write(final TProtocol oprot,
                              final infoListQuery_result struct)
          throws TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          {
            oprot.writeListBegin(
                new TList(TType.STRING, struct.success.size()));
            for (final String _iter3 : struct.success) {
              oprot.writeString(_iter3);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class infoListQuery_resultTupleSchemeFactory
        implements SchemeFactory {
      @Override
      public final infoListQuery_resultTupleScheme getScheme() {
        return new infoListQuery_resultTupleScheme();
      }
    }

    private static class infoListQuery_resultTupleScheme
        extends TupleScheme<infoListQuery_result> {

      @Override
      public final void write(final TProtocol prot,
                              final infoListQuery_result struct)
          throws TException {
        final TTupleProtocol oprot = (TTupleProtocol) prot;
        final BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSuccess()) {
          {
            oprot.writeI32(struct.success.size());
            for (final String _iter4 : struct.success) {
              oprot.writeString(_iter4);
            }
          }
        }
      }

      @Override
      public final void read(final TProtocol prot,
                             final infoListQuery_result struct)
          throws TException {
        final TTupleProtocol iprot = (TTupleProtocol) prot;
        final BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          {
            final TList list = new TList(TType.STRING, iprot.readI32());
            struct.success = new ArrayList<String>(list.size);
            for (int _i6 = 0; _i6 < list.size; ++_i6) {
              final String elem7; // required
              elem7 = iprot.readString();
              struct.success.add(elem7);
            }
          }
          struct.setSuccessIsSet(true);
        }
      }
    }

  }

}