content: /**
   * Autogenerated by Thrift Compiler (0.9.0)
   *
   * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
   *  @generated
   */
  package org.apache.hive.service.cli.thrift;
  
  import org.apache.commons.lang.builder.HashCodeBuilder;
  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.protocol.TTupleProtocol;
  import org.apache.thrift.protocol.TProtocolException;
  import org.apache.thrift.EncodingUtils;
  import org.apache.thrift.TException;
  import java.util.List;
  import java.util.ArrayList;
  import java.util.Map;
  import java.util.HashMap;
  import java.util.EnumMap;
  import java.util.Set;
  import java.util.HashSet;
  import java.util.EnumSet;
  import java.util.Collections;
  import java.util.BitSet;
  import java.nio.ByteBuffer;
  import java.util.Arrays;
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
  public class TCLIService {
  
    public interface Iface {
  
      public TOpenSessionResp OpenSession(TOpenSessionReq req) throws org.apache.thrift.TException;
  
      public TCloseSessionResp CloseSession(TCloseSessionReq req) throws org.apache.thrift.TException;
  
      public TGetInfoResp GetInfo(TGetInfoReq req) throws org.apache.thrift.TException;
  
      public TExecuteStatementResp ExecuteStatement(TExecuteStatementReq req) throws org.apache.thrift.TException;
  
      public TGetTypeInfoResp GetTypeInfo(TGetTypeInfoReq req) throws org.apache.thrift.TException;
  
      public TGetCatalogsResp GetCatalogs(TGetCatalogsReq req) throws org.apache.thrift.TException;
  
      public TGetSchemasResp GetSchemas(TGetSchemasReq req) throws org.apache.thrift.TException;
  
      public TGetTablesResp GetTables(TGetTablesReq req) throws org.apache.thrift.TException;
  
      public TGetTableTypesResp GetTableTypes(TGetTableTypesReq req) throws org.apache.thrift.TException;
  
      public TGetColumnsResp GetColumns(TGetColumnsReq req) throws org.apache.thrift.TException;
  
      public TGetFunctionsResp GetFunctions(TGetFunctionsReq req) throws org.apache.thrift.TException;
  
      public TGetOperationStatusResp GetOperationStatus(TGetOperationStatusReq req) throws org.apache.thrift.TException;
  
      public TCancelOperationResp CancelOperation(TCancelOperationReq req) throws org.apache.thrift.TException;
  
      public TCloseOperationResp CloseOperation(TCloseOperationReq req) throws org.apache.thrift.TException;
  
      public TGetResultSetMetadataResp GetResultSetMetadata(TGetResultSetMetadataReq req) throws org.apache.thrift.TException;
  
      public TFetchResultsResp FetchResults(TFetchResultsReq req) throws org.apache.thrift.TException;
  
      public TGetDelegationTokenResp GetDelegationToken(TGetDelegationTokenReq req) throws org.apache.thrift.TException;
  
      public TCancelDelegationTokenResp CancelDelegationToken(TCancelDelegationTokenReq req) throws org.apache.thrift.TException;
  
      public TRenewDelegationTokenResp RenewDelegationToken(TRenewDelegationTokenReq req) throws org.apache.thrift.TException;
  
    }
  
    public interface AsyncIface {
  
      public void OpenSession(TOpenSessionReq req, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.OpenSession_call> resultHandler) throws org.apache.thrift.TException;
  
      public void CloseSession(TCloseSessionReq req, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.CloseSession_call> resultHandler) throws org.apache.thrift.TException;
  
      public void GetInfo(TGetInfoReq req, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.GetInfo_call> resultHandler) throws org.apache.thrift.TException;
  
      public void ExecuteStatement(TExecuteStatementReq req, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.ExecuteStatement_call> resultHandler) throws org.apache.thrift.TException;
  
      public void GetTypeInfo(TGetTypeInfoReq req, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.GetTypeInfo_call> resultHandler) throws org.apache.thrift.TException;
  
      public void GetCatalogs(TGetCatalogsReq req, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.GetCatalogs_call> resultHandler) throws org.apache.thrift.TException;
  
      public void GetSchemas(TGetSchemasReq req, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.GetSchemas_call> resultHandler) throws org.apache.thrift.TException;
  
      public void GetTables(TGetTablesReq req, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.GetTables_call> resultHandler) throws org.apache.thrift.TException;
  
      public void GetTableTypes(TGetTableTypesReq req, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.GetTableTypes_call> resultHandler) throws org.apache.thrift.TException;
  
      public void GetColumns(TGetColumnsReq req, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.GetColumns_call> resultHandler) throws org.apache.thrift.TException;
  
      public void GetFunctions(TGetFunctionsReq req, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.GetFunctions_call> resultHandler) throws org.apache.thrift.TException;
  
      public void GetOperationStatus(TGetOperationStatusReq req, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.GetOperationStatus_call> resultHandler) throws org.apache.thrift.TException;
  
      public void CancelOperation(TCancelOperationReq req, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.CancelOperation_call> resultHandler) throws org.apache.thrift.TException;
  
      public void CloseOperation(TCloseOperationReq req, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.CloseOperation_call> resultHandler) throws org.apache.thrift.TException;
  
      public void GetResultSetMetadata(TGetResultSetMetadataReq req, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.GetResultSetMetadata_call> resultHandler) throws org.apache.thrift.TException;
  
      public void FetchResults(TFetchResultsReq req, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.FetchResults_call> resultHandler) throws org.apache.thrift.TException;
  
      public void GetDelegationToken(TGetDelegationTokenReq req, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.GetDelegationToken_call> resultHandler) throws org.apache.thrift.TException;
  
      public void CancelDelegationToken(TCancelDelegationTokenReq req, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.CancelDelegationToken_call> resultHandler) throws org.apache.thrift.TException;
  
      public void RenewDelegationToken(TRenewDelegationTokenReq req, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.RenewDelegationToken_call> resultHandler) throws org.apache.thrift.TException;
  
    }
  
    public static class Client extends org.apache.thrift.TServiceClient implements Iface {
      public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
        public Factory() {}
        public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
          return new Client(prot);
        }
        public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
          return new Client(iprot, oprot);
        }
      }
  
      public Client(org.apache.thrift.protocol.TProtocol prot)
      {
        super(prot, prot);
      }
  
      public Client(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
        super(iprot, oprot);
      }
  
      public TOpenSessionResp OpenSession(TOpenSessionReq req) throws org.apache.thrift.TException
      {
        send_OpenSession(req);
        return recv_OpenSession();
      }
  
      public void send_OpenSession(TOpenSessionReq req) throws org.apache.thrift.TException
      {
        OpenSession_args args = new OpenSession_args();
        args.setReq(req);
        sendBase("OpenSession", args);
      }
  
      public TOpenSessionResp recv_OpenSession() throws org.apache.thrift.TException
      {
        OpenSession_result result = new OpenSession_result();
        receiveBase(result, "OpenSession");
        if (result.isSetSuccess()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "OpenSession failed: unknown result");
      }
  
      public TCloseSessionResp CloseSession(TCloseSessionReq req) throws org.apache.thrift.TException
      {
        send_CloseSession(req);
        return recv_CloseSession();
      }
  
      public void send_CloseSession(TCloseSessionReq req) throws org.apache.thrift.TException
      {
        CloseSession_args args = new CloseSession_args();
        args.setReq(req);
        sendBase("CloseSession", args);
      }
  
      public TCloseSessionResp recv_CloseSession() throws org.apache.thrift.TException
      {
        CloseSession_result result = new CloseSession_result();
        receiveBase(result, "CloseSession");
        if (result.isSetSuccess()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "CloseSession failed: unknown result");
      }
  
      public TGetInfoResp GetInfo(TGetInfoReq req) throws org.apache.thrift.TException
      {
        send_GetInfo(req);
        return recv_GetInfo();
      }
  
      public void send_GetInfo(TGetInfoReq req) throws org.apache.thrift.TException
      {
        GetInfo_args args = new GetInfo_args();
        args.setReq(req);
        sendBase("GetInfo", args);
      }
  
      public TGetInfoResp recv_GetInfo() throws org.apache.thrift.TException
      {
        GetInfo_result result = new GetInfo_result();
        receiveBase(result, "GetInfo");
        if (result.isSetSuccess()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "GetInfo failed: unknown result");
      }
  
      public TExecuteStatementResp ExecuteStatement(TExecuteStatementReq req) throws org.apache.thrift.TException
      {
        send_ExecuteStatement(req);
        return recv_ExecuteStatement();
      }
  
      public void send_ExecuteStatement(TExecuteStatementReq req) throws org.apache.thrift.TException
      {
        ExecuteStatement_args args = new ExecuteStatement_args();
        args.setReq(req);
        sendBase("ExecuteStatement", args);
      }
  
      public TExecuteStatementResp recv_ExecuteStatement() throws org.apache.thrift.TException
      {
        ExecuteStatement_result result = new ExecuteStatement_result();
        receiveBase(result, "ExecuteStatement");
        if (result.isSetSuccess()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "ExecuteStatement failed: unknown result");
      }
  
      public TGetTypeInfoResp GetTypeInfo(TGetTypeInfoReq req) throws org.apache.thrift.TException
      {
        send_GetTypeInfo(req);
        return recv_GetTypeInfo();
      }
  
      public void send_GetTypeInfo(TGetTypeInfoReq req) throws org.apache.thrift.TException
      {
        GetTypeInfo_args args = new GetTypeInfo_args();
        args.setReq(req);
        sendBase("GetTypeInfo", args);
      }
  
      public TGetTypeInfoResp recv_GetTypeInfo() throws org.apache.thrift.TException
      {
        GetTypeInfo_result result = new GetTypeInfo_result();
        receiveBase(result, "GetTypeInfo");
        if (result.isSetSuccess()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "GetTypeInfo failed: unknown result");
      }
  
      public TGetCatalogsResp GetCatalogs(TGetCatalogsReq req) throws org.apache.thrift.TException
      {
        send_GetCatalogs(req);
        return recv_GetCatalogs();
      }
  
      public void send_GetCatalogs(TGetCatalogsReq req) throws org.apache.thrift.TException
      {
        GetCatalogs_args args = new GetCatalogs_args();
        args.setReq(req);
        sendBase("GetCatalogs", args);
      }
  
      public TGetCatalogsResp recv_GetCatalogs() throws org.apache.thrift.TException
      {
        GetCatalogs_result result = new GetCatalogs_result();
        receiveBase(result, "GetCatalogs");
        if (result.isSetSuccess()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "GetCatalogs failed: unknown result");
      }
  
      public TGetSchemasResp GetSchemas(TGetSchemasReq req) throws org.apache.thrift.TException
      {
        send_GetSchemas(req);
        return recv_GetSchemas();
      }
  
      public void send_GetSchemas(TGetSchemasReq req) throws org.apache.thrift.TException
      {
        GetSchemas_args args = new GetSchemas_args();
        args.setReq(req);
        sendBase("GetSchemas", args);
      }
  
      public TGetSchemasResp recv_GetSchemas() throws org.apache.thrift.TException
      {
        GetSchemas_result result = new GetSchemas_result();
        receiveBase(result, "GetSchemas");
        if (result.isSetSuccess()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "GetSchemas failed: unknown result");
      }
  
      public TGetTablesResp GetTables(TGetTablesReq req) throws org.apache.thrift.TException
      {
        send_GetTables(req);
        return recv_GetTables();
      }
  
      public void send_GetTables(TGetTablesReq req) throws org.apache.thrift.TException
      {
        GetTables_args args = new GetTables_args();
        args.setReq(req);
        sendBase("GetTables", args);
      }
  
      public TGetTablesResp recv_GetTables() throws org.apache.thrift.TException
      {
        GetTables_result result = new GetTables_result();
        receiveBase(result, "GetTables");
        if (result.isSetSuccess()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "GetTables failed: unknown result");
      }
  
      public TGetTableTypesResp GetTableTypes(TGetTableTypesReq req) throws org.apache.thrift.TException
      {
        send_GetTableTypes(req);
        return recv_GetTableTypes();
      }
  
      public void send_GetTableTypes(TGetTableTypesReq req) throws org.apache.thrift.TException
      {
        GetTableTypes_args args = new GetTableTypes_args();
        args.setReq(req);
        sendBase("GetTableTypes", args);
      }
  
      public TGetTableTypesResp recv_GetTableTypes() throws org.apache.thrift.TException
      {
        GetTableTypes_result result = new GetTableTypes_result();
        receiveBase(result, "GetTableTypes");
        if (result.isSetSuccess()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "GetTableTypes failed: unknown result");
      }
  
      public TGetColumnsResp GetColumns(TGetColumnsReq req) throws org.apache.thrift.TException
      {
        send_GetColumns(req);
        return recv_GetColumns();
      }
  
      public void send_GetColumns(TGetColumnsReq req) throws org.apache.thrift.TException
      {
        GetColumns_args args = new GetColumns_args();
        args.setReq(req);
        sendBase("GetColumns", args);
      }
  
      public TGetColumnsResp recv_GetColumns() throws org.apache.thrift.TException
      {
        GetColumns_result result = new GetColumns_result();
        receiveBase(result, "GetColumns");
        if (result.isSetSuccess()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "GetColumns failed: unknown result");
      }
  
      public TGetFunctionsResp GetFunctions(TGetFunctionsReq req) throws org.apache.thrift.TException
      {
        send_GetFunctions(req);
        return recv_GetFunctions();
      }
  
      public void send_GetFunctions(TGetFunctionsReq req) throws org.apache.thrift.TException
      {
        GetFunctions_args args = new GetFunctions_args();
        args.setReq(req);
        sendBase("GetFunctions", args);
      }
  
      public TGetFunctionsResp recv_GetFunctions() throws org.apache.thrift.TException
      {
        GetFunctions_result result = new GetFunctions_result();
        receiveBase(result, "GetFunctions");
        if (result.isSetSuccess()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "GetFunctions failed: unknown result");
      }
  
      public TGetOperationStatusResp GetOperationStatus(TGetOperationStatusReq req) throws org.apache.thrift.TException
      {
        send_GetOperationStatus(req);
        return recv_GetOperationStatus();
      }
  
      public void send_GetOperationStatus(TGetOperationStatusReq req) throws org.apache.thrift.TException
      {
        GetOperationStatus_args args = new GetOperationStatus_args();
        args.setReq(req);
        sendBase("GetOperationStatus", args);
      }
  
      public TGetOperationStatusResp recv_GetOperationStatus() throws org.apache.thrift.TException
      {
        GetOperationStatus_result result = new GetOperationStatus_result();
        receiveBase(result, "GetOperationStatus");
        if (result.isSetSuccess()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "GetOperationStatus failed: unknown result");
      }
  
      public TCancelOperationResp CancelOperation(TCancelOperationReq req) throws org.apache.thrift.TException
      {
        send_CancelOperation(req);
        return recv_CancelOperation();
      }
  
      public void send_CancelOperation(TCancelOperationReq req) throws org.apache.thrift.TException
      {
        CancelOperation_args args = new CancelOperation_args();
        args.setReq(req);
        sendBase("CancelOperation", args);
      }
  
      public TCancelOperationResp recv_CancelOperation() throws org.apache.thrift.TException
      {
        CancelOperation_result result = new CancelOperation_result();
        receiveBase(result, "CancelOperation");
        if (result.isSetSuccess()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "CancelOperation failed: unknown result");
      }
  
      public TCloseOperationResp CloseOperation(TCloseOperationReq req) throws org.apache.thrift.TException
      {
        send_CloseOperation(req);
        return recv_CloseOperation();
      }
  
      public void send_CloseOperation(TCloseOperationReq req) throws org.apache.thrift.TException
      {
        CloseOperation_args args = new CloseOperation_args();
        args.setReq(req);
        sendBase("CloseOperation", args);
      }
  
      public TCloseOperationResp recv_CloseOperation() throws org.apache.thrift.TException
      {
        CloseOperation_result result = new CloseOperation_result();
        receiveBase(result, "CloseOperation");
        if (result.isSetSuccess()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "CloseOperation failed: unknown result");
      }
  
      public TGetResultSetMetadataResp GetResultSetMetadata(TGetResultSetMetadataReq req) throws org.apache.thrift.TException
      {
        send_GetResultSetMetadata(req);
        return recv_GetResultSetMetadata();
      }
  
      public void send_GetResultSetMetadata(TGetResultSetMetadataReq req) throws org.apache.thrift.TException
      {
        GetResultSetMetadata_args args = new GetResultSetMetadata_args();
        args.setReq(req);
        sendBase("GetResultSetMetadata", args);
      }
  
      public TGetResultSetMetadataResp recv_GetResultSetMetadata() throws org.apache.thrift.TException
      {
        GetResultSetMetadata_result result = new GetResultSetMetadata_result();
        receiveBase(result, "GetResultSetMetadata");
        if (result.isSetSuccess()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "GetResultSetMetadata failed: unknown result");
      }
  
      public TFetchResultsResp FetchResults(TFetchResultsReq req) throws org.apache.thrift.TException
      {
        send_FetchResults(req);
        return recv_FetchResults();
      }
  
      public void send_FetchResults(TFetchResultsReq req) throws org.apache.thrift.TException
      {
        FetchResults_args args = new FetchResults_args();
        args.setReq(req);
        sendBase("FetchResults", args);
      }
  
      public TFetchResultsResp recv_FetchResults() throws org.apache.thrift.TException
      {
        FetchResults_result result = new FetchResults_result();
        receiveBase(result, "FetchResults");
        if (result.isSetSuccess()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "FetchResults failed: unknown result");
      }
  
      public TGetDelegationTokenResp GetDelegationToken(TGetDelegationTokenReq req) throws org.apache.thrift.TException
      {
        send_GetDelegationToken(req);
        return recv_GetDelegationToken();
      }
  
      public void send_GetDelegationToken(TGetDelegationTokenReq req) throws org.apache.thrift.TException
      {
        GetDelegationToken_args args = new GetDelegationToken_args();
        args.setReq(req);
        sendBase("GetDelegationToken", args);
      }
  
      public TGetDelegationTokenResp recv_GetDelegationToken() throws org.apache.thrift.TException
      {
        GetDelegationToken_result result = new GetDelegationToken_result();
        receiveBase(result, "GetDelegationToken");
        if (result.isSetSuccess()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "GetDelegationToken failed: unknown result");
      }
  
      public TCancelDelegationTokenResp CancelDelegationToken(TCancelDelegationTokenReq req) throws org.apache.thrift.TException
      {
        send_CancelDelegationToken(req);
        return recv_CancelDelegationToken();
      }
  
      public void send_CancelDelegationToken(TCancelDelegationTokenReq req) throws org.apache.thrift.TException
      {
        CancelDelegationToken_args args = new CancelDelegationToken_args();
        args.setReq(req);
        sendBase("CancelDelegationToken", args);
      }
  
      public TCancelDelegationTokenResp recv_CancelDelegationToken() throws org.apache.thrift.TException
      {
        CancelDelegationToken_result result = new CancelDelegationToken_result();
        receiveBase(result, "CancelDelegationToken");
        if (result.isSetSuccess()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "CancelDelegationToken failed: unknown result");
      }
  
      public TRenewDelegationTokenResp RenewDelegationToken(TRenewDelegationTokenReq req) throws org.apache.thrift.TException
      {
        send_RenewDelegationToken(req);
        return recv_RenewDelegationToken();
      }
  
      public void send_RenewDelegationToken(TRenewDelegationTokenReq req) throws org.apache.thrift.TException
      {
        RenewDelegationToken_args args = new RenewDelegationToken_args();
        args.setReq(req);
        sendBase("RenewDelegationToken", args);
      }
  
      public TRenewDelegationTokenResp recv_RenewDelegationToken() throws org.apache.thrift.TException
      {
        RenewDelegationToken_result result = new RenewDelegationToken_result();
        receiveBase(result, "RenewDelegationToken");
        if (result.isSetSuccess()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "RenewDelegationToken failed: unknown result");
      }
  
    }
    public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface {
      public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
        private org.apache.thrift.async.TAsyncClientManager clientManager;
        private org.apache.thrift.protocol.TProtocolFactory protocolFactory;
        public Factory(org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.protocol.TProtocolFactory protocolFactory) {
          this.clientManager = clientManager;
          this.protocolFactory = protocolFactory;
        }
        public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
          return new AsyncClient(protocolFactory, clientManager, transport);
        }
      }
  
      public AsyncClient(org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.transport.TNonblockingTransport transport) {
        super(protocolFactory, clientManager, transport);
      }
  
      public void OpenSession(TOpenSessionReq req, org.apache.thrift.async.AsyncMethodCallback<OpenSession_call> resultHandler) throws org.apache.thrift.TException {
        checkReady();
        OpenSession_call method_call = new OpenSession_call(req, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class OpenSession_call extends org.apache.thrift.async.TAsyncMethodCall {
        private TOpenSessionReq req;
        public OpenSession_call(TOpenSessionReq req, org.apache.thrift.async.AsyncMethodCallback<OpenSession_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.req = req;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("OpenSession", org.apache.thrift.protocol.TMessageType.CALL, 0));
          OpenSession_args args = new OpenSession_args();
          args.setReq(req);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TOpenSessionResp getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_OpenSession();
        }
      }
  
      public void CloseSession(TCloseSessionReq req, org.apache.thrift.async.AsyncMethodCallback<CloseSession_call> resultHandler) throws org.apache.thrift.TException {
        checkReady();
        CloseSession_call method_call = new CloseSession_call(req, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class CloseSession_call extends org.apache.thrift.async.TAsyncMethodCall {
        private TCloseSessionReq req;
        public CloseSession_call(TCloseSessionReq req, org.apache.thrift.async.AsyncMethodCallback<CloseSession_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.req = req;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("CloseSession", org.apache.thrift.protocol.TMessageType.CALL, 0));
          CloseSession_args args = new CloseSession_args();
          args.setReq(req);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TCloseSessionResp getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_CloseSession();
        }
      }
  
      public void GetInfo(TGetInfoReq req, org.apache.thrift.async.AsyncMethodCallback<GetInfo_call> resultHandler) throws org.apache.thrift.TException {
        checkReady();
        GetInfo_call method_call = new GetInfo_call(req, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class GetInfo_call extends org.apache.thrift.async.TAsyncMethodCall {
        private TGetInfoReq req;
        public GetInfo_call(TGetInfoReq req, org.apache.thrift.async.AsyncMethodCallback<GetInfo_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.req = req;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("GetInfo", org.apache.thrift.protocol.TMessageType.CALL, 0));
          GetInfo_args args = new GetInfo_args();
          args.setReq(req);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TGetInfoResp getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_GetInfo();
        }
      }
  
      public void ExecuteStatement(TExecuteStatementReq req, org.apache.thrift.async.AsyncMethodCallback<ExecuteStatement_call> resultHandler) throws org.apache.thrift.TException {
        checkReady();
        ExecuteStatement_call method_call = new ExecuteStatement_call(req, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class ExecuteStatement_call extends org.apache.thrift.async.TAsyncMethodCall {
        private TExecuteStatementReq req;
        public ExecuteStatement_call(TExecuteStatementReq req, org.apache.thrift.async.AsyncMethodCallback<ExecuteStatement_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.req = req;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("ExecuteStatement", org.apache.thrift.protocol.TMessageType.CALL, 0));
          ExecuteStatement_args args = new ExecuteStatement_args();
          args.setReq(req);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TExecuteStatementResp getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_ExecuteStatement();
        }
      }
  
      public void GetTypeInfo(TGetTypeInfoReq req, org.apache.thrift.async.AsyncMethodCallback<GetTypeInfo_call> resultHandler) throws org.apache.thrift.TException {
        checkReady();
        GetTypeInfo_call method_call = new GetTypeInfo_call(req, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class GetTypeInfo_call extends org.apache.thrift.async.TAsyncMethodCall {
        private TGetTypeInfoReq req;
        public GetTypeInfo_call(TGetTypeInfoReq req, org.apache.thrift.async.AsyncMethodCallback<GetTypeInfo_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.req = req;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("GetTypeInfo", org.apache.thrift.protocol.TMessageType.CALL, 0));
          GetTypeInfo_args args = new GetTypeInfo_args();
          args.setReq(req);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TGetTypeInfoResp getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_GetTypeInfo();
        }
      }
  
      public void GetCatalogs(TGetCatalogsReq req, org.apache.thrift.async.AsyncMethodCallback<GetCatalogs_call> resultHandler) throws org.apache.thrift.TException {
        checkReady();
        GetCatalogs_call method_call = new GetCatalogs_call(req, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class GetCatalogs_call extends org.apache.thrift.async.TAsyncMethodCall {
        private TGetCatalogsReq req;
        public GetCatalogs_call(TGetCatalogsReq req, org.apache.thrift.async.AsyncMethodCallback<GetCatalogs_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.req = req;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("GetCatalogs", org.apache.thrift.protocol.TMessageType.CALL, 0));
          GetCatalogs_args args = new GetCatalogs_args();
          args.setReq(req);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TGetCatalogsResp getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_GetCatalogs();
        }
      }
  
      public void GetSchemas(TGetSchemasReq req, org.apache.thrift.async.AsyncMethodCallback<GetSchemas_call> resultHandler) throws org.apache.thrift.TException {
        checkReady();
        GetSchemas_call method_call = new GetSchemas_call(req, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class GetSchemas_call extends org.apache.thrift.async.TAsyncMethodCall {
        private TGetSchemasReq req;
        public GetSchemas_call(TGetSchemasReq req, org.apache.thrift.async.AsyncMethodCallback<GetSchemas_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.req = req;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("GetSchemas", org.apache.thrift.protocol.TMessageType.CALL, 0));
          GetSchemas_args args = new GetSchemas_args();
          args.setReq(req);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TGetSchemasResp getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_GetSchemas();
        }
      }
  
      public void GetTables(TGetTablesReq req, org.apache.thrift.async.AsyncMethodCallback<GetTables_call> resultHandler) throws org.apache.thrift.TException {
        checkReady();
        GetTables_call method_call = new GetTables_call(req, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class GetTables_call extends org.apache.thrift.async.TAsyncMethodCall {
        private TGetTablesReq req;
        public GetTables_call(TGetTablesReq req, org.apache.thrift.async.AsyncMethodCallback<GetTables_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.req = req;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("GetTables", org.apache.thrift.protocol.TMessageType.CALL, 0));
          GetTables_args args = new GetTables_args();
          args.setReq(req);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TGetTablesResp getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_GetTables();
        }
      }
  
      public void GetTableTypes(TGetTableTypesReq req, org.apache.thrift.async.AsyncMethodCallback<GetTableTypes_call> resultHandler) throws org.apache.thrift.TException {
        checkReady();
        GetTableTypes_call method_call = new GetTableTypes_call(req, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class GetTableTypes_call extends org.apache.thrift.async.TAsyncMethodCall {
        private TGetTableTypesReq req;
        public GetTableTypes_call(TGetTableTypesReq req, org.apache.thrift.async.AsyncMethodCallback<GetTableTypes_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.req = req;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("GetTableTypes", org.apache.thrift.protocol.TMessageType.CALL, 0));
          GetTableTypes_args args = new GetTableTypes_args();
          args.setReq(req);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TGetTableTypesResp getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_GetTableTypes();
        }
      }
  
      public void GetColumns(TGetColumnsReq req, org.apache.thrift.async.AsyncMethodCallback<GetColumns_call> resultHandler) throws org.apache.thrift.TException {
        checkReady();
        GetColumns_call method_call = new GetColumns_call(req, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class GetColumns_call extends org.apache.thrift.async.TAsyncMethodCall {
        private TGetColumnsReq req;
        public GetColumns_call(TGetColumnsReq req, org.apache.thrift.async.AsyncMethodCallback<GetColumns_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.req = req;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("GetColumns", org.apache.thrift.protocol.TMessageType.CALL, 0));
          GetColumns_args args = new GetColumns_args();
          args.setReq(req);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TGetColumnsResp getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_GetColumns();
        }
      }
  
      public void GetFunctions(TGetFunctionsReq req, org.apache.thrift.async.AsyncMethodCallback<GetFunctions_call> resultHandler) throws org.apache.thrift.TException {
        checkReady();
        GetFunctions_call method_call = new GetFunctions_call(req, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class GetFunctions_call extends org.apache.thrift.async.TAsyncMethodCall {
        private TGetFunctionsReq req;
        public GetFunctions_call(TGetFunctionsReq req, org.apache.thrift.async.AsyncMethodCallback<GetFunctions_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.req = req;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("GetFunctions", org.apache.thrift.protocol.TMessageType.CALL, 0));
          GetFunctions_args args = new GetFunctions_args();
          args.setReq(req);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TGetFunctionsResp getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_GetFunctions();
        }
      }
  
      public void GetOperationStatus(TGetOperationStatusReq req, org.apache.thrift.async.AsyncMethodCallback<GetOperationStatus_call> resultHandler) throws org.apache.thrift.TException {
        checkReady();
        GetOperationStatus_call method_call = new GetOperationStatus_call(req, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class GetOperationStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
        private TGetOperationStatusReq req;
        public GetOperationStatus_call(TGetOperationStatusReq req, org.apache.thrift.async.AsyncMethodCallback<GetOperationStatus_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.req = req;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("GetOperationStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
          GetOperationStatus_args args = new GetOperationStatus_args();
          args.setReq(req);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TGetOperationStatusResp getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_GetOperationStatus();
        }
      }
  
      public void CancelOperation(TCancelOperationReq req, org.apache.thrift.async.AsyncMethodCallback<CancelOperation_call> resultHandler) throws org.apache.thrift.TException {
        checkReady();
        CancelOperation_call method_call = new CancelOperation_call(req, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class CancelOperation_call extends org.apache.thrift.async.TAsyncMethodCall {
        private TCancelOperationReq req;
        public CancelOperation_call(TCancelOperationReq req, org.apache.thrift.async.AsyncMethodCallback<CancelOperation_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.req = req;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("CancelOperation", org.apache.thrift.protocol.TMessageType.CALL, 0));
          CancelOperation_args args = new CancelOperation_args();
          args.setReq(req);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TCancelOperationResp getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_CancelOperation();
        }
      }
  
      public void CloseOperation(TCloseOperationReq req, org.apache.thrift.async.AsyncMethodCallback<CloseOperation_call> resultHandler) throws org.apache.thrift.TException {
        checkReady();
        CloseOperation_call method_call = new CloseOperation_call(req, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class CloseOperation_call extends org.apache.thrift.async.TAsyncMethodCall {
        private TCloseOperationReq req;
        public CloseOperation_call(TCloseOperationReq req, org.apache.thrift.async.AsyncMethodCallback<CloseOperation_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.req = req;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("CloseOperation", org.apache.thrift.protocol.TMessageType.CALL, 0));
          CloseOperation_args args = new CloseOperation_args();
          args.setReq(req);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TCloseOperationResp getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_CloseOperation();
        }
      }
  
      public void GetResultSetMetadata(TGetResultSetMetadataReq req, org.apache.thrift.async.AsyncMethodCallback<GetResultSetMetadata_call> resultHandler) throws org.apache.thrift.TException {
        checkReady();
        GetResultSetMetadata_call method_call = new GetResultSetMetadata_call(req, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class GetResultSetMetadata_call extends org.apache.thrift.async.TAsyncMethodCall {
        private TGetResultSetMetadataReq req;
        public GetResultSetMetadata_call(TGetResultSetMetadataReq req, org.apache.thrift.async.AsyncMethodCallback<GetResultSetMetadata_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.req = req;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("GetResultSetMetadata", org.apache.thrift.protocol.TMessageType.CALL, 0));
          GetResultSetMetadata_args args = new GetResultSetMetadata_args();
          args.setReq(req);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TGetResultSetMetadataResp getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_GetResultSetMetadata();
        }
      }
  
      public void FetchResults(TFetchResultsReq req, org.apache.thrift.async.AsyncMethodCallback<FetchResults_call> resultHandler) throws org.apache.thrift.TException {
        checkReady();
        FetchResults_call method_call = new FetchResults_call(req, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class FetchResults_call extends org.apache.thrift.async.TAsyncMethodCall {
        private TFetchResultsReq req;
        public FetchResults_call(TFetchResultsReq req, org.apache.thrift.async.AsyncMethodCallback<FetchResults_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.req = req;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("FetchResults", org.apache.thrift.protocol.TMessageType.CALL, 0));
          FetchResults_args args = new FetchResults_args();
          args.setReq(req);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TFetchResultsResp getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_FetchResults();
        }
      }
  
      public void GetDelegationToken(TGetDelegationTokenReq req, org.apache.thrift.async.AsyncMethodCallback<GetDelegationToken_call> resultHandler) throws org.apache.thrift.TException {
        checkReady();
        GetDelegationToken_call method_call = new GetDelegationToken_call(req, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class GetDelegationToken_call extends org.apache.thrift.async.TAsyncMethodCall {
        private TGetDelegationTokenReq req;
        public GetDelegationToken_call(TGetDelegationTokenReq req, org.apache.thrift.async.AsyncMethodCallback<GetDelegationToken_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.req = req;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("GetDelegationToken", org.apache.thrift.protocol.TMessageType.CALL, 0));
          GetDelegationToken_args args = new GetDelegationToken_args();
          args.setReq(req);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TGetDelegationTokenResp getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_GetDelegationToken();
        }
      }
  
      public void CancelDelegationToken(TCancelDelegationTokenReq req, org.apache.thrift.async.AsyncMethodCallback<CancelDelegationToken_call> resultHandler) throws org.apache.thrift.TException {
        checkReady();
        CancelDelegationToken_call method_call = new CancelDelegationToken_call(req, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class CancelDelegationToken_call extends org.apache.thrift.async.TAsyncMethodCall {
        private TCancelDelegationTokenReq req;
        public CancelDelegationToken_call(TCancelDelegationTokenReq req, org.apache.thrift.async.AsyncMethodCallback<CancelDelegationToken_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.req = req;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("CancelDelegationToken", org.apache.thrift.protocol.TMessageType.CALL, 0));
          CancelDelegationToken_args args = new CancelDelegationToken_args();
          args.setReq(req);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TCancelDelegationTokenResp getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_CancelDelegationToken();
        }
      }
  
      public void RenewDelegationToken(TRenewDelegationTokenReq req, org.apache.thrift.async.AsyncMethodCallback<RenewDelegationToken_call> resultHandler) throws org.apache.thrift.TException {
        checkReady();
        RenewDelegationToken_call method_call = new RenewDelegationToken_call(req, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class RenewDelegationToken_call extends org.apache.thrift.async.TAsyncMethodCall {
        private TRenewDelegationTokenReq req;
        public RenewDelegationToken_call(TRenewDelegationTokenReq req, org.apache.thrift.async.AsyncMethodCallback<RenewDelegationToken_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.req = req;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("RenewDelegationToken", org.apache.thrift.protocol.TMessageType.CALL, 0));
          RenewDelegationToken_args args = new RenewDelegationToken_args();
          args.setReq(req);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TRenewDelegationTokenResp getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_RenewDelegationToken();
        }
      }
  
    }
  
    public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
      private static final Logger LOGGER = LoggerFactory.getLogger(Processor.class.getName());
      public Processor(I iface) {
        super(iface, getProcessMap(new HashMap<String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
      }
  
      protected Processor(I iface, Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
        super(iface, getProcessMap(processMap));
      }
  
      private static <I extends Iface> Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> getProcessMap(Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
        processMap.put("OpenSession", new OpenSession());
        processMap.put("CloseSession", new CloseSession());
        processMap.put("GetInfo", new GetInfo());
        processMap.put("ExecuteStatement", new ExecuteStatement());
        processMap.put("GetTypeInfo", new GetTypeInfo());
        processMap.put("GetCatalogs", new GetCatalogs());
        processMap.put("GetSchemas", new GetSchemas());
        processMap.put("GetTables", new GetTables());
        processMap.put("GetTableTypes", new GetTableTypes());
        processMap.put("GetColumns", new GetColumns());
        processMap.put("GetFunctions", new GetFunctions());
        processMap.put("GetOperationStatus", new GetOperationStatus());
        processMap.put("CancelOperation", new CancelOperation());
        processMap.put("CloseOperation", new CloseOperation());
        processMap.put("GetResultSetMetadata", new GetResultSetMetadata());
        processMap.put("FetchResults", new FetchResults());
        processMap.put("GetDelegationToken", new GetDelegationToken());
        processMap.put("CancelDelegationToken", new CancelDelegationToken());
        processMap.put("RenewDelegationToken", new RenewDelegationToken());
        return processMap;
      }
  
      public static class OpenSession<I extends Iface> extends org.apache.thrift.ProcessFunction<I, OpenSession_args> {
        public OpenSession() {
          super("OpenSession");
        }
  
        public OpenSession_args getEmptyArgsInstance() {
          return new OpenSession_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public OpenSession_result getResult(I iface, OpenSession_args args) throws org.apache.thrift.TException {
          OpenSession_result result = new OpenSession_result();
          result.success = iface.OpenSession(args.req);
          return result;
        }
      }
  
      public static class CloseSession<I extends Iface> extends org.apache.thrift.ProcessFunction<I, CloseSession_args> {
        public CloseSession() {
          super("CloseSession");
        }
  
        public CloseSession_args getEmptyArgsInstance() {
          return new CloseSession_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public CloseSession_result getResult(I iface, CloseSession_args args) throws org.apache.thrift.TException {
          CloseSession_result result = new CloseSession_result();
          result.success = iface.CloseSession(args.req);
          return result;
        }
      }
  
      public static class GetInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, GetInfo_args> {
        public GetInfo() {
          super("GetInfo");
        }
  
        public GetInfo_args getEmptyArgsInstance() {
          return new GetInfo_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public GetInfo_result getResult(I iface, GetInfo_args args) throws org.apache.thrift.TException {
          GetInfo_result result = new GetInfo_result();
          result.success = iface.GetInfo(args.req);
          return result;
        }
      }
  
      public static class ExecuteStatement<I extends Iface> extends org.apache.thrift.ProcessFunction<I, ExecuteStatement_args> {
        public ExecuteStatement() {
          super("ExecuteStatement");
        }
  
        public ExecuteStatement_args getEmptyArgsInstance() {
          return new ExecuteStatement_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public ExecuteStatement_result getResult(I iface, ExecuteStatement_args args) throws org.apache.thrift.TException {
          ExecuteStatement_result result = new ExecuteStatement_result();
          result.success = iface.ExecuteStatement(args.req);
          return result;
        }
      }
  
      public static class GetTypeInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, GetTypeInfo_args> {
        public GetTypeInfo() {
          super("GetTypeInfo");
        }
  
        public GetTypeInfo_args getEmptyArgsInstance() {
          return new GetTypeInfo_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public GetTypeInfo_result getResult(I iface, GetTypeInfo_args args) throws org.apache.thrift.TException {
          GetTypeInfo_result result = new GetTypeInfo_result();
          result.success = iface.GetTypeInfo(args.req);
          return result;
        }
      }
  
      public static class GetCatalogs<I extends Iface> extends org.apache.thrift.ProcessFunction<I, GetCatalogs_args> {
        public GetCatalogs() {
          super("GetCatalogs");
        }
  
        public GetCatalogs_args getEmptyArgsInstance() {
          return new GetCatalogs_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public GetCatalogs_result getResult(I iface, GetCatalogs_args args) throws org.apache.thrift.TException {
          GetCatalogs_result result = new GetCatalogs_result();
          result.success = iface.GetCatalogs(args.req);
          return result;
        }
      }
  
      public static class GetSchemas<I extends Iface> extends org.apache.thrift.ProcessFunction<I, GetSchemas_args> {
        public GetSchemas() {
          super("GetSchemas");
        }
  
        public GetSchemas_args getEmptyArgsInstance() {
          return new GetSchemas_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public GetSchemas_result getResult(I iface, GetSchemas_args args) throws org.apache.thrift.TException {
          GetSchemas_result result = new GetSchemas_result();
          result.success = iface.GetSchemas(args.req);
          return result;
        }
      }
  
      public static class GetTables<I extends Iface> extends org.apache.thrift.ProcessFunction<I, GetTables_args> {
        public GetTables() {
          super("GetTables");
        }
  
        public GetTables_args getEmptyArgsInstance() {
          return new GetTables_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public GetTables_result getResult(I iface, GetTables_args args) throws org.apache.thrift.TException {
          GetTables_result result = new GetTables_result();
          result.success = iface.GetTables(args.req);
          return result;
        }
      }
  
      public static class GetTableTypes<I extends Iface> extends org.apache.thrift.ProcessFunction<I, GetTableTypes_args> {
        public GetTableTypes() {
          super("GetTableTypes");
        }
  
        public GetTableTypes_args getEmptyArgsInstance() {
          return new GetTableTypes_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public GetTableTypes_result getResult(I iface, GetTableTypes_args args) throws org.apache.thrift.TException {
          GetTableTypes_result result = new GetTableTypes_result();
          result.success = iface.GetTableTypes(args.req);
          return result;
        }
      }
  
      public static class GetColumns<I extends Iface> extends org.apache.thrift.ProcessFunction<I, GetColumns_args> {
        public GetColumns() {
          super("GetColumns");
        }
  
        public GetColumns_args getEmptyArgsInstance() {
          return new GetColumns_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public GetColumns_result getResult(I iface, GetColumns_args args) throws org.apache.thrift.TException {
          GetColumns_result result = new GetColumns_result();
          result.success = iface.GetColumns(args.req);
          return result;
        }
      }
  
      public static class GetFunctions<I extends Iface> extends org.apache.thrift.ProcessFunction<I, GetFunctions_args> {
        public GetFunctions() {
          super("GetFunctions");
        }
  
        public GetFunctions_args getEmptyArgsInstance() {
          return new GetFunctions_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public GetFunctions_result getResult(I iface, GetFunctions_args args) throws org.apache.thrift.TException {
          GetFunctions_result result = new GetFunctions_result();
          result.success = iface.GetFunctions(args.req);
          return result;
        }
      }
  
      public static class GetOperationStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, GetOperationStatus_args> {
        public GetOperationStatus() {
          super("GetOperationStatus");
        }
  
        public GetOperationStatus_args getEmptyArgsInstance() {
          return new GetOperationStatus_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public GetOperationStatus_result getResult(I iface, GetOperationStatus_args args) throws org.apache.thrift.TException {
          GetOperationStatus_result result = new GetOperationStatus_result();
          result.success = iface.GetOperationStatus(args.req);
          return result;
        }
      }
  
      public static class CancelOperation<I extends Iface> extends org.apache.thrift.ProcessFunction<I, CancelOperation_args> {
        public CancelOperation() {
          super("CancelOperation");
        }
  
        public CancelOperation_args getEmptyArgsInstance() {
          return new CancelOperation_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public CancelOperation_result getResult(I iface, CancelOperation_args args) throws org.apache.thrift.TException {
          CancelOperation_result result = new CancelOperation_result();
          result.success = iface.CancelOperation(args.req);
          return result;
        }
      }
  
      public static class CloseOperation<I extends Iface> extends org.apache.thrift.ProcessFunction<I, CloseOperation_args> {
        public CloseOperation() {
          super("CloseOperation");
        }
  
        public CloseOperation_args getEmptyArgsInstance() {
          return new CloseOperation_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public CloseOperation_result getResult(I iface, CloseOperation_args args) throws org.apache.thrift.TException {
          CloseOperation_result result = new CloseOperation_result();
          result.success = iface.CloseOperation(args.req);
          return result;
        }
      }
  
      public static class GetResultSetMetadata<I extends Iface> extends org.apache.thrift.ProcessFunction<I, GetResultSetMetadata_args> {
        public GetResultSetMetadata() {
          super("GetResultSetMetadata");
        }
  
        public GetResultSetMetadata_args getEmptyArgsInstance() {
          return new GetResultSetMetadata_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public GetResultSetMetadata_result getResult(I iface, GetResultSetMetadata_args args) throws org.apache.thrift.TException {
          GetResultSetMetadata_result result = new GetResultSetMetadata_result();
          result.success = iface.GetResultSetMetadata(args.req);
          return result;
        }
      }
  
      public static class FetchResults<I extends Iface> extends org.apache.thrift.ProcessFunction<I, FetchResults_args> {
        public FetchResults() {
          super("FetchResults");
        }
  
        public FetchResults_args getEmptyArgsInstance() {
          return new FetchResults_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public FetchResults_result getResult(I iface, FetchResults_args args) throws org.apache.thrift.TException {
          FetchResults_result result = new FetchResults_result();
          result.success = iface.FetchResults(args.req);
          return result;
        }
      }
  
      public static class GetDelegationToken<I extends Iface> extends org.apache.thrift.ProcessFunction<I, GetDelegationToken_args> {
        public GetDelegationToken() {
          super("GetDelegationToken");
        }
  
        public GetDelegationToken_args getEmptyArgsInstance() {
          return new GetDelegationToken_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public GetDelegationToken_result getResult(I iface, GetDelegationToken_args args) throws org.apache.thrift.TException {
          GetDelegationToken_result result = new GetDelegationToken_result();
          result.success = iface.GetDelegationToken(args.req);
          return result;
        }
      }
  
      public static class CancelDelegationToken<I extends Iface> extends org.apache.thrift.ProcessFunction<I, CancelDelegationToken_args> {
        public CancelDelegationToken() {
          super("CancelDelegationToken");
        }
  
        public CancelDelegationToken_args getEmptyArgsInstance() {
          return new CancelDelegationToken_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public CancelDelegationToken_result getResult(I iface, CancelDelegationToken_args args) throws org.apache.thrift.TException {
          CancelDelegationToken_result result = new CancelDelegationToken_result();
          result.success = iface.CancelDelegationToken(args.req);
          return result;
        }
      }
  
      public static class RenewDelegationToken<I extends Iface> extends org.apache.thrift.ProcessFunction<I, RenewDelegationToken_args> {
        public RenewDelegationToken() {
          super("RenewDelegationToken");
        }
  
        public RenewDelegationToken_args getEmptyArgsInstance() {
          return new RenewDelegationToken_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public RenewDelegationToken_result getResult(I iface, RenewDelegationToken_args args) throws org.apache.thrift.TException {
          RenewDelegationToken_result result = new RenewDelegationToken_result();
          result.success = iface.RenewDelegationToken(args.req);
          return result;
        }
      }
  
    }
  
    public static class OpenSession_args implements org.apache.thrift.TBase<OpenSession_args, OpenSession_args._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("OpenSession_args");
  
      private static final org.apache.thrift.protocol.TField REQ_FIELD_DESC = new org.apache.thrift.protocol.TField("req", org.apache.thrift.protocol.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 OpenSession_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new OpenSession_argsTupleSchemeFactory());
      }
  
      private TOpenSessionReq req; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        REQ((short)1, "req");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // REQ
              return REQ;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.REQ, new org.apache.thrift.meta_data.FieldMetaData("req", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TOpenSessionReq.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(OpenSession_args.class, metaDataMap);
      }
  
      public OpenSession_args() {
      }
  
      public OpenSession_args(
        TOpenSessionReq req)
      {
        this();
        this.req = req;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public OpenSession_args(OpenSession_args other) {
        if (other.isSetReq()) {
          this.req = new TOpenSessionReq(other.req);
        }
      }
  
      public OpenSession_args deepCopy() {
        return new OpenSession_args(this);
      }
  
      @Override
      public void clear() {
        this.req = null;
      }
  
      public TOpenSessionReq getReq() {
        return this.req;
      }
  
      public void setReq(TOpenSessionReq req) {
        this.req = req;
      }
  
      public void unsetReq() {
        this.req = null;
      }
  
      /** Returns true if field req is set (has been assigned a value) and false otherwise */
      public boolean isSetReq() {
        return this.req != null;
      }
  
      public void setReqIsSet(boolean value) {
        if (!value) {
          this.req = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case REQ:
          if (value == null) {
            unsetReq();
          } else {
            setReq((TOpenSessionReq)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case REQ:
          return getReq();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case REQ:
          return isSetReq();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof OpenSession_args)
          return this.equals((OpenSession_args)that);
        return false;
      }
  
      public boolean equals(OpenSession_args that) {
        if (that == null)
          return false;
  
        boolean this_present_req = true && this.isSetReq();
        boolean that_present_req = true && that.isSetReq();
        if (this_present_req || that_present_req) {
          if (!(this_present_req && that_present_req))
            return false;
          if (!this.req.equals(that.req))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_req = true && (isSetReq());
        builder.append(present_req);
        if (present_req)
          builder.append(req);
  
        return builder.toHashCode();
      }
  
      public int compareTo(OpenSession_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        OpenSession_args typedOther = (OpenSession_args)other;
  
        lastComparison = Boolean.valueOf(isSetReq()).compareTo(typedOther.isSetReq());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetReq()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.req, typedOther.req);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("OpenSession_args(");
        boolean first = true;
  
        sb.append("req:");
        if (this.req == null) {
          sb.append("null");
        } else {
          sb.append(this.req);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (req != null) {
          req.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class OpenSession_argsStandardSchemeFactory implements SchemeFactory {
        public OpenSession_argsStandardScheme getScheme() {
          return new OpenSession_argsStandardScheme();
        }
      }
  
      private static class OpenSession_argsStandardScheme extends StandardScheme<OpenSession_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, OpenSession_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 1: // REQ
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.req = new TOpenSessionReq();
                  struct.req.read(iprot);
                  struct.setReqIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, OpenSession_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.req != null) {
            oprot.writeFieldBegin(REQ_FIELD_DESC);
            struct.req.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class OpenSession_argsTupleSchemeFactory implements SchemeFactory {
        public OpenSession_argsTupleScheme getScheme() {
          return new OpenSession_argsTupleScheme();
        }
      }
  
      private static class OpenSession_argsTupleScheme extends TupleScheme<OpenSession_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, OpenSession_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetReq()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetReq()) {
            struct.req.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, OpenSession_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.req = new TOpenSessionReq();
            struct.req.read(iprot);
            struct.setReqIsSet(true);
          }
        }
      }
  
    }
  
    public static class OpenSession_result implements org.apache.thrift.TBase<OpenSession_result, OpenSession_result._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("OpenSession_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new OpenSession_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new OpenSession_resultTupleSchemeFactory());
      }
  
      private TOpenSessionResp success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TOpenSessionResp.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(OpenSession_result.class, metaDataMap);
      }
  
      public OpenSession_result() {
      }
  
      public OpenSession_result(
        TOpenSessionResp success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public OpenSession_result(OpenSession_result other) {
        if (other.isSetSuccess()) {
          this.success = new TOpenSessionResp(other.success);
        }
      }
  
      public OpenSession_result deepCopy() {
        return new OpenSession_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public TOpenSessionResp getSuccess() {
        return this.success;
      }
  
      public void setSuccess(TOpenSessionResp success) {
        this.success = success;
      }
  
      public void unsetSuccess() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean isSetSuccess() {
        return this.success != null;
      }
  
      public void setSuccessIsSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unsetSuccess();
          } else {
            setSuccess((TOpenSessionResp)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return getSuccess();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return isSetSuccess();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof OpenSession_result)
          return this.equals((OpenSession_result)that);
        return false;
      }
  
      public boolean equals(OpenSession_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.isSetSuccess();
        boolean that_present_success = true && that.isSetSuccess();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_success = true && (isSetSuccess());
        builder.append(present_success);
        if (present_success)
          builder.append(success);
  
        return builder.toHashCode();
      }
  
      public int compareTo(OpenSession_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        OpenSession_result typedOther = (OpenSession_result)other;
  
        lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetSuccess()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
        }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("OpenSession_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (success != null) {
          success.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class OpenSession_resultStandardSchemeFactory implements SchemeFactory {
        public OpenSession_resultStandardScheme getScheme() {
          return new OpenSession_resultStandardScheme();
        }
      }
  
      private static class OpenSession_resultStandardScheme extends StandardScheme<OpenSession_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, OpenSession_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.success = new TOpenSessionResp();
                  struct.success.read(iprot);
                  struct.setSuccessIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, OpenSession_result struct) throws org.apache.thrift.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 OpenSession_resultTupleSchemeFactory implements SchemeFactory {
        public OpenSession_resultTupleScheme getScheme() {
          return new OpenSession_resultTupleScheme();
        }
      }
  
      private static class OpenSession_resultTupleScheme extends TupleScheme<OpenSession_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, OpenSession_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetSuccess()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetSuccess()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, OpenSession_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new TOpenSessionResp();
            struct.success.read(iprot);
            struct.setSuccessIsSet(true);
          }
        }
      }
  
    }
  
    public static class CloseSession_args implements org.apache.thrift.TBase<CloseSession_args, CloseSession_args._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CloseSession_args");
  
      private static final org.apache.thrift.protocol.TField REQ_FIELD_DESC = new org.apache.thrift.protocol.TField("req", org.apache.thrift.protocol.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 CloseSession_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new CloseSession_argsTupleSchemeFactory());
      }
  
      private TCloseSessionReq req; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        REQ((short)1, "req");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // REQ
              return REQ;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.REQ, new org.apache.thrift.meta_data.FieldMetaData("req", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TCloseSessionReq.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(CloseSession_args.class, metaDataMap);
      }
  
      public CloseSession_args() {
      }
  
      public CloseSession_args(
        TCloseSessionReq req)
      {
        this();
        this.req = req;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public CloseSession_args(CloseSession_args other) {
        if (other.isSetReq()) {
          this.req = new TCloseSessionReq(other.req);
        }
      }
  
      public CloseSession_args deepCopy() {
        return new CloseSession_args(this);
      }
  
      @Override
      public void clear() {
        this.req = null;
      }
  
      public TCloseSessionReq getReq() {
        return this.req;
      }
  
      public void setReq(TCloseSessionReq req) {
        this.req = req;
      }
  
      public void unsetReq() {
        this.req = null;
      }
  
      /** Returns true if field req is set (has been assigned a value) and false otherwise */
      public boolean isSetReq() {
        return this.req != null;
      }
  
      public void setReqIsSet(boolean value) {
        if (!value) {
          this.req = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case REQ:
          if (value == null) {
            unsetReq();
          } else {
            setReq((TCloseSessionReq)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case REQ:
          return getReq();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case REQ:
          return isSetReq();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof CloseSession_args)
          return this.equals((CloseSession_args)that);
        return false;
      }
  
      public boolean equals(CloseSession_args that) {
        if (that == null)
          return false;
  
        boolean this_present_req = true && this.isSetReq();
        boolean that_present_req = true && that.isSetReq();
        if (this_present_req || that_present_req) {
          if (!(this_present_req && that_present_req))
            return false;
          if (!this.req.equals(that.req))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_req = true && (isSetReq());
        builder.append(present_req);
        if (present_req)
          builder.append(req);
  
        return builder.toHashCode();
      }
  
      public int compareTo(CloseSession_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        CloseSession_args typedOther = (CloseSession_args)other;
  
        lastComparison = Boolean.valueOf(isSetReq()).compareTo(typedOther.isSetReq());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetReq()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.req, typedOther.req);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("CloseSession_args(");
        boolean first = true;
  
        sb.append("req:");
        if (this.req == null) {
          sb.append("null");
        } else {
          sb.append(this.req);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (req != null) {
          req.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class CloseSession_argsStandardSchemeFactory implements SchemeFactory {
        public CloseSession_argsStandardScheme getScheme() {
          return new CloseSession_argsStandardScheme();
        }
      }
  
      private static class CloseSession_argsStandardScheme extends StandardScheme<CloseSession_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, CloseSession_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 1: // REQ
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.req = new TCloseSessionReq();
                  struct.req.read(iprot);
                  struct.setReqIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, CloseSession_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.req != null) {
            oprot.writeFieldBegin(REQ_FIELD_DESC);
            struct.req.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class CloseSession_argsTupleSchemeFactory implements SchemeFactory {
        public CloseSession_argsTupleScheme getScheme() {
          return new CloseSession_argsTupleScheme();
        }
      }
  
      private static class CloseSession_argsTupleScheme extends TupleScheme<CloseSession_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, CloseSession_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetReq()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetReq()) {
            struct.req.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, CloseSession_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.req = new TCloseSessionReq();
            struct.req.read(iprot);
            struct.setReqIsSet(true);
          }
        }
      }
  
    }
  
    public static class CloseSession_result implements org.apache.thrift.TBase<CloseSession_result, CloseSession_result._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CloseSession_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new CloseSession_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new CloseSession_resultTupleSchemeFactory());
      }
  
      private TCloseSessionResp success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TCloseSessionResp.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(CloseSession_result.class, metaDataMap);
      }
  
      public CloseSession_result() {
      }
  
      public CloseSession_result(
        TCloseSessionResp success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public CloseSession_result(CloseSession_result other) {
        if (other.isSetSuccess()) {
          this.success = new TCloseSessionResp(other.success);
        }
      }
  
      public CloseSession_result deepCopy() {
        return new CloseSession_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public TCloseSessionResp getSuccess() {
        return this.success;
      }
  
      public void setSuccess(TCloseSessionResp success) {
        this.success = success;
      }
  
      public void unsetSuccess() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean isSetSuccess() {
        return this.success != null;
      }
  
      public void setSuccessIsSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unsetSuccess();
          } else {
            setSuccess((TCloseSessionResp)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return getSuccess();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return isSetSuccess();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof CloseSession_result)
          return this.equals((CloseSession_result)that);
        return false;
      }
  
      public boolean equals(CloseSession_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.isSetSuccess();
        boolean that_present_success = true && that.isSetSuccess();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_success = true && (isSetSuccess());
        builder.append(present_success);
        if (present_success)
          builder.append(success);
  
        return builder.toHashCode();
      }
  
      public int compareTo(CloseSession_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        CloseSession_result typedOther = (CloseSession_result)other;
  
        lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetSuccess()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
        }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("CloseSession_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (success != null) {
          success.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class CloseSession_resultStandardSchemeFactory implements SchemeFactory {
        public CloseSession_resultStandardScheme getScheme() {
          return new CloseSession_resultStandardScheme();
        }
      }
  
      private static class CloseSession_resultStandardScheme extends StandardScheme<CloseSession_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, CloseSession_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.success = new TCloseSessionResp();
                  struct.success.read(iprot);
                  struct.setSuccessIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, CloseSession_result struct) throws org.apache.thrift.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 CloseSession_resultTupleSchemeFactory implements SchemeFactory {
        public CloseSession_resultTupleScheme getScheme() {
          return new CloseSession_resultTupleScheme();
        }
      }
  
      private static class CloseSession_resultTupleScheme extends TupleScheme<CloseSession_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, CloseSession_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetSuccess()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetSuccess()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, CloseSession_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new TCloseSessionResp();
            struct.success.read(iprot);
            struct.setSuccessIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetInfo_args implements org.apache.thrift.TBase<GetInfo_args, GetInfo_args._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetInfo_args");
  
      private static final org.apache.thrift.protocol.TField REQ_FIELD_DESC = new org.apache.thrift.protocol.TField("req", org.apache.thrift.protocol.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 GetInfo_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetInfo_argsTupleSchemeFactory());
      }
  
      private TGetInfoReq req; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        REQ((short)1, "req");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // REQ
              return REQ;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.REQ, new org.apache.thrift.meta_data.FieldMetaData("req", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetInfoReq.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetInfo_args.class, metaDataMap);
      }
  
      public GetInfo_args() {
      }
  
      public GetInfo_args(
        TGetInfoReq req)
      {
        this();
        this.req = req;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetInfo_args(GetInfo_args other) {
        if (other.isSetReq()) {
          this.req = new TGetInfoReq(other.req);
        }
      }
  
      public GetInfo_args deepCopy() {
        return new GetInfo_args(this);
      }
  
      @Override
      public void clear() {
        this.req = null;
      }
  
      public TGetInfoReq getReq() {
        return this.req;
      }
  
      public void setReq(TGetInfoReq req) {
        this.req = req;
      }
  
      public void unsetReq() {
        this.req = null;
      }
  
      /** Returns true if field req is set (has been assigned a value) and false otherwise */
      public boolean isSetReq() {
        return this.req != null;
      }
  
      public void setReqIsSet(boolean value) {
        if (!value) {
          this.req = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case REQ:
          if (value == null) {
            unsetReq();
          } else {
            setReq((TGetInfoReq)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case REQ:
          return getReq();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case REQ:
          return isSetReq();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetInfo_args)
          return this.equals((GetInfo_args)that);
        return false;
      }
  
      public boolean equals(GetInfo_args that) {
        if (that == null)
          return false;
  
        boolean this_present_req = true && this.isSetReq();
        boolean that_present_req = true && that.isSetReq();
        if (this_present_req || that_present_req) {
          if (!(this_present_req && that_present_req))
            return false;
          if (!this.req.equals(that.req))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_req = true && (isSetReq());
        builder.append(present_req);
        if (present_req)
          builder.append(req);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetInfo_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetInfo_args typedOther = (GetInfo_args)other;
  
        lastComparison = Boolean.valueOf(isSetReq()).compareTo(typedOther.isSetReq());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetReq()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.req, typedOther.req);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetInfo_args(");
        boolean first = true;
  
        sb.append("req:");
        if (this.req == null) {
          sb.append("null");
        } else {
          sb.append(this.req);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (req != null) {
          req.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetInfo_argsStandardSchemeFactory implements SchemeFactory {
        public GetInfo_argsStandardScheme getScheme() {
          return new GetInfo_argsStandardScheme();
        }
      }
  
      private static class GetInfo_argsStandardScheme extends StandardScheme<GetInfo_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetInfo_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 1: // REQ
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.req = new TGetInfoReq();
                  struct.req.read(iprot);
                  struct.setReqIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetInfo_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.req != null) {
            oprot.writeFieldBegin(REQ_FIELD_DESC);
            struct.req.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class GetInfo_argsTupleSchemeFactory implements SchemeFactory {
        public GetInfo_argsTupleScheme getScheme() {
          return new GetInfo_argsTupleScheme();
        }
      }
  
      private static class GetInfo_argsTupleScheme extends TupleScheme<GetInfo_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetInfo_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetReq()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetReq()) {
            struct.req.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetInfo_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.req = new TGetInfoReq();
            struct.req.read(iprot);
            struct.setReqIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetInfo_result implements org.apache.thrift.TBase<GetInfo_result, GetInfo_result._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetInfo_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new GetInfo_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetInfo_resultTupleSchemeFactory());
      }
  
      private TGetInfoResp success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetInfoResp.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetInfo_result.class, metaDataMap);
      }
  
      public GetInfo_result() {
      }
  
      public GetInfo_result(
        TGetInfoResp success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetInfo_result(GetInfo_result other) {
        if (other.isSetSuccess()) {
          this.success = new TGetInfoResp(other.success);
        }
      }
  
      public GetInfo_result deepCopy() {
        return new GetInfo_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public TGetInfoResp getSuccess() {
        return this.success;
      }
  
      public void setSuccess(TGetInfoResp success) {
        this.success = success;
      }
  
      public void unsetSuccess() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean isSetSuccess() {
        return this.success != null;
      }
  
      public void setSuccessIsSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unsetSuccess();
          } else {
            setSuccess((TGetInfoResp)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return getSuccess();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return isSetSuccess();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetInfo_result)
          return this.equals((GetInfo_result)that);
        return false;
      }
  
      public boolean equals(GetInfo_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.isSetSuccess();
        boolean that_present_success = true && that.isSetSuccess();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_success = true && (isSetSuccess());
        builder.append(present_success);
        if (present_success)
          builder.append(success);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetInfo_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetInfo_result typedOther = (GetInfo_result)other;
  
        lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetSuccess()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
        }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetInfo_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (success != null) {
          success.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetInfo_resultStandardSchemeFactory implements SchemeFactory {
        public GetInfo_resultStandardScheme getScheme() {
          return new GetInfo_resultStandardScheme();
        }
      }
  
      private static class GetInfo_resultStandardScheme extends StandardScheme<GetInfo_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetInfo_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.success = new TGetInfoResp();
                  struct.success.read(iprot);
                  struct.setSuccessIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetInfo_result struct) throws org.apache.thrift.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 GetInfo_resultTupleSchemeFactory implements SchemeFactory {
        public GetInfo_resultTupleScheme getScheme() {
          return new GetInfo_resultTupleScheme();
        }
      }
  
      private static class GetInfo_resultTupleScheme extends TupleScheme<GetInfo_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetInfo_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetSuccess()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetSuccess()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetInfo_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new TGetInfoResp();
            struct.success.read(iprot);
            struct.setSuccessIsSet(true);
          }
        }
      }
  
    }
  
    public static class ExecuteStatement_args implements org.apache.thrift.TBase<ExecuteStatement_args, ExecuteStatement_args._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExecuteStatement_args");
  
      private static final org.apache.thrift.protocol.TField REQ_FIELD_DESC = new org.apache.thrift.protocol.TField("req", org.apache.thrift.protocol.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 ExecuteStatement_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new ExecuteStatement_argsTupleSchemeFactory());
      }
  
      private TExecuteStatementReq req; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        REQ((short)1, "req");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // REQ
              return REQ;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.REQ, new org.apache.thrift.meta_data.FieldMetaData("req", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TExecuteStatementReq.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ExecuteStatement_args.class, metaDataMap);
      }
  
      public ExecuteStatement_args() {
      }
  
      public ExecuteStatement_args(
        TExecuteStatementReq req)
      {
        this();
        this.req = req;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public ExecuteStatement_args(ExecuteStatement_args other) {
        if (other.isSetReq()) {
          this.req = new TExecuteStatementReq(other.req);
        }
      }
  
      public ExecuteStatement_args deepCopy() {
        return new ExecuteStatement_args(this);
      }
  
      @Override
      public void clear() {
        this.req = null;
      }
  
      public TExecuteStatementReq getReq() {
        return this.req;
      }
  
      public void setReq(TExecuteStatementReq req) {
        this.req = req;
      }
  
      public void unsetReq() {
        this.req = null;
      }
  
      /** Returns true if field req is set (has been assigned a value) and false otherwise */
      public boolean isSetReq() {
        return this.req != null;
      }
  
      public void setReqIsSet(boolean value) {
        if (!value) {
          this.req = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case REQ:
          if (value == null) {
            unsetReq();
          } else {
            setReq((TExecuteStatementReq)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case REQ:
          return getReq();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case REQ:
          return isSetReq();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof ExecuteStatement_args)
          return this.equals((ExecuteStatement_args)that);
        return false;
      }
  
      public boolean equals(ExecuteStatement_args that) {
        if (that == null)
          return false;
  
        boolean this_present_req = true && this.isSetReq();
        boolean that_present_req = true && that.isSetReq();
        if (this_present_req || that_present_req) {
          if (!(this_present_req && that_present_req))
            return false;
          if (!this.req.equals(that.req))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_req = true && (isSetReq());
        builder.append(present_req);
        if (present_req)
          builder.append(req);
  
        return builder.toHashCode();
      }
  
      public int compareTo(ExecuteStatement_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        ExecuteStatement_args typedOther = (ExecuteStatement_args)other;
  
        lastComparison = Boolean.valueOf(isSetReq()).compareTo(typedOther.isSetReq());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetReq()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.req, typedOther.req);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("ExecuteStatement_args(");
        boolean first = true;
  
        sb.append("req:");
        if (this.req == null) {
          sb.append("null");
        } else {
          sb.append(this.req);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (req != null) {
          req.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class ExecuteStatement_argsStandardSchemeFactory implements SchemeFactory {
        public ExecuteStatement_argsStandardScheme getScheme() {
          return new ExecuteStatement_argsStandardScheme();
        }
      }
  
      private static class ExecuteStatement_argsStandardScheme extends StandardScheme<ExecuteStatement_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, ExecuteStatement_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 1: // REQ
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.req = new TExecuteStatementReq();
                  struct.req.read(iprot);
                  struct.setReqIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, ExecuteStatement_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.req != null) {
            oprot.writeFieldBegin(REQ_FIELD_DESC);
            struct.req.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class ExecuteStatement_argsTupleSchemeFactory implements SchemeFactory {
        public ExecuteStatement_argsTupleScheme getScheme() {
          return new ExecuteStatement_argsTupleScheme();
        }
      }
  
      private static class ExecuteStatement_argsTupleScheme extends TupleScheme<ExecuteStatement_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, ExecuteStatement_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetReq()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetReq()) {
            struct.req.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, ExecuteStatement_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.req = new TExecuteStatementReq();
            struct.req.read(iprot);
            struct.setReqIsSet(true);
          }
        }
      }
  
    }
  
    public static class ExecuteStatement_result implements org.apache.thrift.TBase<ExecuteStatement_result, ExecuteStatement_result._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExecuteStatement_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new ExecuteStatement_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new ExecuteStatement_resultTupleSchemeFactory());
      }
  
      private TExecuteStatementResp success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TExecuteStatementResp.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ExecuteStatement_result.class, metaDataMap);
      }
  
      public ExecuteStatement_result() {
      }
  
      public ExecuteStatement_result(
        TExecuteStatementResp success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public ExecuteStatement_result(ExecuteStatement_result other) {
        if (other.isSetSuccess()) {
          this.success = new TExecuteStatementResp(other.success);
        }
      }
  
      public ExecuteStatement_result deepCopy() {
        return new ExecuteStatement_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public TExecuteStatementResp getSuccess() {
        return this.success;
      }
  
      public void setSuccess(TExecuteStatementResp success) {
        this.success = success;
      }
  
      public void unsetSuccess() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean isSetSuccess() {
        return this.success != null;
      }
  
      public void setSuccessIsSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unsetSuccess();
          } else {
            setSuccess((TExecuteStatementResp)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return getSuccess();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return isSetSuccess();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof ExecuteStatement_result)
          return this.equals((ExecuteStatement_result)that);
        return false;
      }
  
      public boolean equals(ExecuteStatement_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.isSetSuccess();
        boolean that_present_success = true && that.isSetSuccess();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_success = true && (isSetSuccess());
        builder.append(present_success);
        if (present_success)
          builder.append(success);
  
        return builder.toHashCode();
      }
  
      public int compareTo(ExecuteStatement_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        ExecuteStatement_result typedOther = (ExecuteStatement_result)other;
  
        lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetSuccess()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
        }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("ExecuteStatement_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (success != null) {
          success.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class ExecuteStatement_resultStandardSchemeFactory implements SchemeFactory {
        public ExecuteStatement_resultStandardScheme getScheme() {
          return new ExecuteStatement_resultStandardScheme();
        }
      }
  
      private static class ExecuteStatement_resultStandardScheme extends StandardScheme<ExecuteStatement_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, ExecuteStatement_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.success = new TExecuteStatementResp();
                  struct.success.read(iprot);
                  struct.setSuccessIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, ExecuteStatement_result struct) throws org.apache.thrift.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 ExecuteStatement_resultTupleSchemeFactory implements SchemeFactory {
        public ExecuteStatement_resultTupleScheme getScheme() {
          return new ExecuteStatement_resultTupleScheme();
        }
      }
  
      private static class ExecuteStatement_resultTupleScheme extends TupleScheme<ExecuteStatement_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, ExecuteStatement_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetSuccess()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetSuccess()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, ExecuteStatement_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new TExecuteStatementResp();
            struct.success.read(iprot);
            struct.setSuccessIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetTypeInfo_args implements org.apache.thrift.TBase<GetTypeInfo_args, GetTypeInfo_args._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetTypeInfo_args");
  
      private static final org.apache.thrift.protocol.TField REQ_FIELD_DESC = new org.apache.thrift.protocol.TField("req", org.apache.thrift.protocol.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 GetTypeInfo_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetTypeInfo_argsTupleSchemeFactory());
      }
  
      private TGetTypeInfoReq req; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        REQ((short)1, "req");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // REQ
              return REQ;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.REQ, new org.apache.thrift.meta_data.FieldMetaData("req", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetTypeInfoReq.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetTypeInfo_args.class, metaDataMap);
      }
  
      public GetTypeInfo_args() {
      }
  
      public GetTypeInfo_args(
        TGetTypeInfoReq req)
      {
        this();
        this.req = req;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetTypeInfo_args(GetTypeInfo_args other) {
        if (other.isSetReq()) {
          this.req = new TGetTypeInfoReq(other.req);
        }
      }
  
      public GetTypeInfo_args deepCopy() {
        return new GetTypeInfo_args(this);
      }
  
      @Override
      public void clear() {
        this.req = null;
      }
  
      public TGetTypeInfoReq getReq() {
        return this.req;
      }
  
      public void setReq(TGetTypeInfoReq req) {
        this.req = req;
      }
  
      public void unsetReq() {
        this.req = null;
      }
  
      /** Returns true if field req is set (has been assigned a value) and false otherwise */
      public boolean isSetReq() {
        return this.req != null;
      }
  
      public void setReqIsSet(boolean value) {
        if (!value) {
          this.req = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case REQ:
          if (value == null) {
            unsetReq();
          } else {
            setReq((TGetTypeInfoReq)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case REQ:
          return getReq();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case REQ:
          return isSetReq();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetTypeInfo_args)
          return this.equals((GetTypeInfo_args)that);
        return false;
      }
  
      public boolean equals(GetTypeInfo_args that) {
        if (that == null)
          return false;
  
        boolean this_present_req = true && this.isSetReq();
        boolean that_present_req = true && that.isSetReq();
        if (this_present_req || that_present_req) {
          if (!(this_present_req && that_present_req))
            return false;
          if (!this.req.equals(that.req))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_req = true && (isSetReq());
        builder.append(present_req);
        if (present_req)
          builder.append(req);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetTypeInfo_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetTypeInfo_args typedOther = (GetTypeInfo_args)other;
  
        lastComparison = Boolean.valueOf(isSetReq()).compareTo(typedOther.isSetReq());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetReq()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.req, typedOther.req);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetTypeInfo_args(");
        boolean first = true;
  
        sb.append("req:");
        if (this.req == null) {
          sb.append("null");
        } else {
          sb.append(this.req);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (req != null) {
          req.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetTypeInfo_argsStandardSchemeFactory implements SchemeFactory {
        public GetTypeInfo_argsStandardScheme getScheme() {
          return new GetTypeInfo_argsStandardScheme();
        }
      }
  
      private static class GetTypeInfo_argsStandardScheme extends StandardScheme<GetTypeInfo_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetTypeInfo_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 1: // REQ
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.req = new TGetTypeInfoReq();
                  struct.req.read(iprot);
                  struct.setReqIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetTypeInfo_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.req != null) {
            oprot.writeFieldBegin(REQ_FIELD_DESC);
            struct.req.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class GetTypeInfo_argsTupleSchemeFactory implements SchemeFactory {
        public GetTypeInfo_argsTupleScheme getScheme() {
          return new GetTypeInfo_argsTupleScheme();
        }
      }
  
      private static class GetTypeInfo_argsTupleScheme extends TupleScheme<GetTypeInfo_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetTypeInfo_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetReq()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetReq()) {
            struct.req.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetTypeInfo_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.req = new TGetTypeInfoReq();
            struct.req.read(iprot);
            struct.setReqIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetTypeInfo_result implements org.apache.thrift.TBase<GetTypeInfo_result, GetTypeInfo_result._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetTypeInfo_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new GetTypeInfo_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetTypeInfo_resultTupleSchemeFactory());
      }
  
      private TGetTypeInfoResp success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetTypeInfoResp.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetTypeInfo_result.class, metaDataMap);
      }
  
      public GetTypeInfo_result() {
      }
  
      public GetTypeInfo_result(
        TGetTypeInfoResp success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetTypeInfo_result(GetTypeInfo_result other) {
        if (other.isSetSuccess()) {
          this.success = new TGetTypeInfoResp(other.success);
        }
      }
  
      public GetTypeInfo_result deepCopy() {
        return new GetTypeInfo_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public TGetTypeInfoResp getSuccess() {
        return this.success;
      }
  
      public void setSuccess(TGetTypeInfoResp success) {
        this.success = success;
      }
  
      public void unsetSuccess() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean isSetSuccess() {
        return this.success != null;
      }
  
      public void setSuccessIsSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unsetSuccess();
          } else {
            setSuccess((TGetTypeInfoResp)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return getSuccess();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return isSetSuccess();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetTypeInfo_result)
          return this.equals((GetTypeInfo_result)that);
        return false;
      }
  
      public boolean equals(GetTypeInfo_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.isSetSuccess();
        boolean that_present_success = true && that.isSetSuccess();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_success = true && (isSetSuccess());
        builder.append(present_success);
        if (present_success)
          builder.append(success);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetTypeInfo_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetTypeInfo_result typedOther = (GetTypeInfo_result)other;
  
        lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetSuccess()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
        }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetTypeInfo_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (success != null) {
          success.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetTypeInfo_resultStandardSchemeFactory implements SchemeFactory {
        public GetTypeInfo_resultStandardScheme getScheme() {
          return new GetTypeInfo_resultStandardScheme();
        }
      }
  
      private static class GetTypeInfo_resultStandardScheme extends StandardScheme<GetTypeInfo_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetTypeInfo_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.success = new TGetTypeInfoResp();
                  struct.success.read(iprot);
                  struct.setSuccessIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetTypeInfo_result struct) throws org.apache.thrift.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 GetTypeInfo_resultTupleSchemeFactory implements SchemeFactory {
        public GetTypeInfo_resultTupleScheme getScheme() {
          return new GetTypeInfo_resultTupleScheme();
        }
      }
  
      private static class GetTypeInfo_resultTupleScheme extends TupleScheme<GetTypeInfo_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetTypeInfo_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetSuccess()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetSuccess()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetTypeInfo_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new TGetTypeInfoResp();
            struct.success.read(iprot);
            struct.setSuccessIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetCatalogs_args implements org.apache.thrift.TBase<GetCatalogs_args, GetCatalogs_args._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetCatalogs_args");
  
      private static final org.apache.thrift.protocol.TField REQ_FIELD_DESC = new org.apache.thrift.protocol.TField("req", org.apache.thrift.protocol.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 GetCatalogs_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetCatalogs_argsTupleSchemeFactory());
      }
  
      private TGetCatalogsReq req; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        REQ((short)1, "req");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // REQ
              return REQ;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.REQ, new org.apache.thrift.meta_data.FieldMetaData("req", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetCatalogsReq.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetCatalogs_args.class, metaDataMap);
      }
  
      public GetCatalogs_args() {
      }
  
      public GetCatalogs_args(
        TGetCatalogsReq req)
      {
        this();
        this.req = req;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetCatalogs_args(GetCatalogs_args other) {
        if (other.isSetReq()) {
          this.req = new TGetCatalogsReq(other.req);
        }
      }
  
      public GetCatalogs_args deepCopy() {
        return new GetCatalogs_args(this);
      }
  
      @Override
      public void clear() {
        this.req = null;
      }
  
      public TGetCatalogsReq getReq() {
        return this.req;
      }
  
      public void setReq(TGetCatalogsReq req) {
        this.req = req;
      }
  
      public void unsetReq() {
        this.req = null;
      }
  
      /** Returns true if field req is set (has been assigned a value) and false otherwise */
      public boolean isSetReq() {
        return this.req != null;
      }
  
      public void setReqIsSet(boolean value) {
        if (!value) {
          this.req = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case REQ:
          if (value == null) {
            unsetReq();
          } else {
            setReq((TGetCatalogsReq)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case REQ:
          return getReq();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case REQ:
          return isSetReq();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetCatalogs_args)
          return this.equals((GetCatalogs_args)that);
        return false;
      }
  
      public boolean equals(GetCatalogs_args that) {
        if (that == null)
          return false;
  
        boolean this_present_req = true && this.isSetReq();
        boolean that_present_req = true && that.isSetReq();
        if (this_present_req || that_present_req) {
          if (!(this_present_req && that_present_req))
            return false;
          if (!this.req.equals(that.req))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_req = true && (isSetReq());
        builder.append(present_req);
        if (present_req)
          builder.append(req);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetCatalogs_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetCatalogs_args typedOther = (GetCatalogs_args)other;
  
        lastComparison = Boolean.valueOf(isSetReq()).compareTo(typedOther.isSetReq());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetReq()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.req, typedOther.req);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetCatalogs_args(");
        boolean first = true;
  
        sb.append("req:");
        if (this.req == null) {
          sb.append("null");
        } else {
          sb.append(this.req);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (req != null) {
          req.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetCatalogs_argsStandardSchemeFactory implements SchemeFactory {
        public GetCatalogs_argsStandardScheme getScheme() {
          return new GetCatalogs_argsStandardScheme();
        }
      }
  
      private static class GetCatalogs_argsStandardScheme extends StandardScheme<GetCatalogs_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetCatalogs_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 1: // REQ
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.req = new TGetCatalogsReq();
                  struct.req.read(iprot);
                  struct.setReqIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetCatalogs_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.req != null) {
            oprot.writeFieldBegin(REQ_FIELD_DESC);
            struct.req.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class GetCatalogs_argsTupleSchemeFactory implements SchemeFactory {
        public GetCatalogs_argsTupleScheme getScheme() {
          return new GetCatalogs_argsTupleScheme();
        }
      }
  
      private static class GetCatalogs_argsTupleScheme extends TupleScheme<GetCatalogs_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetCatalogs_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetReq()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetReq()) {
            struct.req.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetCatalogs_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.req = new TGetCatalogsReq();
            struct.req.read(iprot);
            struct.setReqIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetCatalogs_result implements org.apache.thrift.TBase<GetCatalogs_result, GetCatalogs_result._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetCatalogs_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new GetCatalogs_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetCatalogs_resultTupleSchemeFactory());
      }
  
      private TGetCatalogsResp success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetCatalogsResp.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetCatalogs_result.class, metaDataMap);
      }
  
      public GetCatalogs_result() {
      }
  
      public GetCatalogs_result(
        TGetCatalogsResp success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetCatalogs_result(GetCatalogs_result other) {
        if (other.isSetSuccess()) {
          this.success = new TGetCatalogsResp(other.success);
        }
      }
  
      public GetCatalogs_result deepCopy() {
        return new GetCatalogs_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public TGetCatalogsResp getSuccess() {
        return this.success;
      }
  
      public void setSuccess(TGetCatalogsResp success) {
        this.success = success;
      }
  
      public void unsetSuccess() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean isSetSuccess() {
        return this.success != null;
      }
  
      public void setSuccessIsSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unsetSuccess();
          } else {
            setSuccess((TGetCatalogsResp)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return getSuccess();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return isSetSuccess();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetCatalogs_result)
          return this.equals((GetCatalogs_result)that);
        return false;
      }
  
      public boolean equals(GetCatalogs_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.isSetSuccess();
        boolean that_present_success = true && that.isSetSuccess();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_success = true && (isSetSuccess());
        builder.append(present_success);
        if (present_success)
          builder.append(success);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetCatalogs_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetCatalogs_result typedOther = (GetCatalogs_result)other;
  
        lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetSuccess()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
        }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetCatalogs_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (success != null) {
          success.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetCatalogs_resultStandardSchemeFactory implements SchemeFactory {
        public GetCatalogs_resultStandardScheme getScheme() {
          return new GetCatalogs_resultStandardScheme();
        }
      }
  
      private static class GetCatalogs_resultStandardScheme extends StandardScheme<GetCatalogs_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetCatalogs_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.success = new TGetCatalogsResp();
                  struct.success.read(iprot);
                  struct.setSuccessIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetCatalogs_result struct) throws org.apache.thrift.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 GetCatalogs_resultTupleSchemeFactory implements SchemeFactory {
        public GetCatalogs_resultTupleScheme getScheme() {
          return new GetCatalogs_resultTupleScheme();
        }
      }
  
      private static class GetCatalogs_resultTupleScheme extends TupleScheme<GetCatalogs_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetCatalogs_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetSuccess()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetSuccess()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetCatalogs_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new TGetCatalogsResp();
            struct.success.read(iprot);
            struct.setSuccessIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetSchemas_args implements org.apache.thrift.TBase<GetSchemas_args, GetSchemas_args._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetSchemas_args");
  
      private static final org.apache.thrift.protocol.TField REQ_FIELD_DESC = new org.apache.thrift.protocol.TField("req", org.apache.thrift.protocol.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 GetSchemas_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetSchemas_argsTupleSchemeFactory());
      }
  
      private TGetSchemasReq req; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        REQ((short)1, "req");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // REQ
              return REQ;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.REQ, new org.apache.thrift.meta_data.FieldMetaData("req", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetSchemasReq.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetSchemas_args.class, metaDataMap);
      }
  
      public GetSchemas_args() {
      }
  
      public GetSchemas_args(
        TGetSchemasReq req)
      {
        this();
        this.req = req;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetSchemas_args(GetSchemas_args other) {
        if (other.isSetReq()) {
          this.req = new TGetSchemasReq(other.req);
        }
      }
  
      public GetSchemas_args deepCopy() {
        return new GetSchemas_args(this);
      }
  
      @Override
      public void clear() {
        this.req = null;
      }
  
      public TGetSchemasReq getReq() {
        return this.req;
      }
  
      public void setReq(TGetSchemasReq req) {
        this.req = req;
      }
  
      public void unsetReq() {
        this.req = null;
      }
  
      /** Returns true if field req is set (has been assigned a value) and false otherwise */
      public boolean isSetReq() {
        return this.req != null;
      }
  
      public void setReqIsSet(boolean value) {
        if (!value) {
          this.req = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case REQ:
          if (value == null) {
            unsetReq();
          } else {
            setReq((TGetSchemasReq)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case REQ:
          return getReq();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case REQ:
          return isSetReq();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetSchemas_args)
          return this.equals((GetSchemas_args)that);
        return false;
      }
  
      public boolean equals(GetSchemas_args that) {
        if (that == null)
          return false;
  
        boolean this_present_req = true && this.isSetReq();
        boolean that_present_req = true && that.isSetReq();
        if (this_present_req || that_present_req) {
          if (!(this_present_req && that_present_req))
            return false;
          if (!this.req.equals(that.req))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_req = true && (isSetReq());
        builder.append(present_req);
        if (present_req)
          builder.append(req);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetSchemas_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetSchemas_args typedOther = (GetSchemas_args)other;
  
        lastComparison = Boolean.valueOf(isSetReq()).compareTo(typedOther.isSetReq());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetReq()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.req, typedOther.req);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetSchemas_args(");
        boolean first = true;
  
        sb.append("req:");
        if (this.req == null) {
          sb.append("null");
        } else {
          sb.append(this.req);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (req != null) {
          req.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetSchemas_argsStandardSchemeFactory implements SchemeFactory {
        public GetSchemas_argsStandardScheme getScheme() {
          return new GetSchemas_argsStandardScheme();
        }
      }
  
      private static class GetSchemas_argsStandardScheme extends StandardScheme<GetSchemas_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetSchemas_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 1: // REQ
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.req = new TGetSchemasReq();
                  struct.req.read(iprot);
                  struct.setReqIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetSchemas_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.req != null) {
            oprot.writeFieldBegin(REQ_FIELD_DESC);
            struct.req.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class GetSchemas_argsTupleSchemeFactory implements SchemeFactory {
        public GetSchemas_argsTupleScheme getScheme() {
          return new GetSchemas_argsTupleScheme();
        }
      }
  
      private static class GetSchemas_argsTupleScheme extends TupleScheme<GetSchemas_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetSchemas_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetReq()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetReq()) {
            struct.req.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetSchemas_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.req = new TGetSchemasReq();
            struct.req.read(iprot);
            struct.setReqIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetSchemas_result implements org.apache.thrift.TBase<GetSchemas_result, GetSchemas_result._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetSchemas_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new GetSchemas_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetSchemas_resultTupleSchemeFactory());
      }
  
      private TGetSchemasResp success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetSchemasResp.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetSchemas_result.class, metaDataMap);
      }
  
      public GetSchemas_result() {
      }
  
      public GetSchemas_result(
        TGetSchemasResp success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetSchemas_result(GetSchemas_result other) {
        if (other.isSetSuccess()) {
          this.success = new TGetSchemasResp(other.success);
        }
      }
  
      public GetSchemas_result deepCopy() {
        return new GetSchemas_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public TGetSchemasResp getSuccess() {
        return this.success;
      }
  
      public void setSuccess(TGetSchemasResp success) {
        this.success = success;
      }
  
      public void unsetSuccess() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean isSetSuccess() {
        return this.success != null;
      }
  
      public void setSuccessIsSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unsetSuccess();
          } else {
            setSuccess((TGetSchemasResp)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return getSuccess();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return isSetSuccess();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetSchemas_result)
          return this.equals((GetSchemas_result)that);
        return false;
      }
  
      public boolean equals(GetSchemas_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.isSetSuccess();
        boolean that_present_success = true && that.isSetSuccess();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_success = true && (isSetSuccess());
        builder.append(present_success);
        if (present_success)
          builder.append(success);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetSchemas_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetSchemas_result typedOther = (GetSchemas_result)other;
  
        lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetSuccess()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
        }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetSchemas_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (success != null) {
          success.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetSchemas_resultStandardSchemeFactory implements SchemeFactory {
        public GetSchemas_resultStandardScheme getScheme() {
          return new GetSchemas_resultStandardScheme();
        }
      }
  
      private static class GetSchemas_resultStandardScheme extends StandardScheme<GetSchemas_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetSchemas_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.success = new TGetSchemasResp();
                  struct.success.read(iprot);
                  struct.setSuccessIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetSchemas_result struct) throws org.apache.thrift.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 GetSchemas_resultTupleSchemeFactory implements SchemeFactory {
        public GetSchemas_resultTupleScheme getScheme() {
          return new GetSchemas_resultTupleScheme();
        }
      }
  
      private static class GetSchemas_resultTupleScheme extends TupleScheme<GetSchemas_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetSchemas_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetSuccess()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetSuccess()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetSchemas_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new TGetSchemasResp();
            struct.success.read(iprot);
            struct.setSuccessIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetTables_args implements org.apache.thrift.TBase<GetTables_args, GetTables_args._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetTables_args");
  
      private static final org.apache.thrift.protocol.TField REQ_FIELD_DESC = new org.apache.thrift.protocol.TField("req", org.apache.thrift.protocol.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 GetTables_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetTables_argsTupleSchemeFactory());
      }
  
      private TGetTablesReq req; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        REQ((short)1, "req");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // REQ
              return REQ;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.REQ, new org.apache.thrift.meta_data.FieldMetaData("req", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetTablesReq.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetTables_args.class, metaDataMap);
      }
  
      public GetTables_args() {
      }
  
      public GetTables_args(
        TGetTablesReq req)
      {
        this();
        this.req = req;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetTables_args(GetTables_args other) {
        if (other.isSetReq()) {
          this.req = new TGetTablesReq(other.req);
        }
      }
  
      public GetTables_args deepCopy() {
        return new GetTables_args(this);
      }
  
      @Override
      public void clear() {
        this.req = null;
      }
  
      public TGetTablesReq getReq() {
        return this.req;
      }
  
      public void setReq(TGetTablesReq req) {
        this.req = req;
      }
  
      public void unsetReq() {
        this.req = null;
      }
  
      /** Returns true if field req is set (has been assigned a value) and false otherwise */
      public boolean isSetReq() {
        return this.req != null;
      }
  
      public void setReqIsSet(boolean value) {
        if (!value) {
          this.req = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case REQ:
          if (value == null) {
            unsetReq();
          } else {
            setReq((TGetTablesReq)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case REQ:
          return getReq();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case REQ:
          return isSetReq();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetTables_args)
          return this.equals((GetTables_args)that);
        return false;
      }
  
      public boolean equals(GetTables_args that) {
        if (that == null)
          return false;
  
        boolean this_present_req = true && this.isSetReq();
        boolean that_present_req = true && that.isSetReq();
        if (this_present_req || that_present_req) {
          if (!(this_present_req && that_present_req))
            return false;
          if (!this.req.equals(that.req))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_req = true && (isSetReq());
        builder.append(present_req);
        if (present_req)
          builder.append(req);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetTables_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetTables_args typedOther = (GetTables_args)other;
  
        lastComparison = Boolean.valueOf(isSetReq()).compareTo(typedOther.isSetReq());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetReq()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.req, typedOther.req);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetTables_args(");
        boolean first = true;
  
        sb.append("req:");
        if (this.req == null) {
          sb.append("null");
        } else {
          sb.append(this.req);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (req != null) {
          req.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetTables_argsStandardSchemeFactory implements SchemeFactory {
        public GetTables_argsStandardScheme getScheme() {
          return new GetTables_argsStandardScheme();
        }
      }
  
      private static class GetTables_argsStandardScheme extends StandardScheme<GetTables_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetTables_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 1: // REQ
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.req = new TGetTablesReq();
                  struct.req.read(iprot);
                  struct.setReqIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetTables_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.req != null) {
            oprot.writeFieldBegin(REQ_FIELD_DESC);
            struct.req.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class GetTables_argsTupleSchemeFactory implements SchemeFactory {
        public GetTables_argsTupleScheme getScheme() {
          return new GetTables_argsTupleScheme();
        }
      }
  
      private static class GetTables_argsTupleScheme extends TupleScheme<GetTables_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetTables_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetReq()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetReq()) {
            struct.req.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetTables_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.req = new TGetTablesReq();
            struct.req.read(iprot);
            struct.setReqIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetTables_result implements org.apache.thrift.TBase<GetTables_result, GetTables_result._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetTables_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new GetTables_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetTables_resultTupleSchemeFactory());
      }
  
      private TGetTablesResp success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetTablesResp.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetTables_result.class, metaDataMap);
      }
  
      public GetTables_result() {
      }
  
      public GetTables_result(
        TGetTablesResp success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetTables_result(GetTables_result other) {
        if (other.isSetSuccess()) {
          this.success = new TGetTablesResp(other.success);
        }
      }
  
      public GetTables_result deepCopy() {
        return new GetTables_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public TGetTablesResp getSuccess() {
        return this.success;
      }
  
      public void setSuccess(TGetTablesResp success) {
        this.success = success;
      }
  
      public void unsetSuccess() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean isSetSuccess() {
        return this.success != null;
      }
  
      public void setSuccessIsSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unsetSuccess();
          } else {
            setSuccess((TGetTablesResp)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return getSuccess();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return isSetSuccess();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetTables_result)
          return this.equals((GetTables_result)that);
        return false;
      }
  
      public boolean equals(GetTables_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.isSetSuccess();
        boolean that_present_success = true && that.isSetSuccess();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_success = true && (isSetSuccess());
        builder.append(present_success);
        if (present_success)
          builder.append(success);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetTables_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetTables_result typedOther = (GetTables_result)other;
  
        lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetSuccess()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
        }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetTables_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (success != null) {
          success.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetTables_resultStandardSchemeFactory implements SchemeFactory {
        public GetTables_resultStandardScheme getScheme() {
          return new GetTables_resultStandardScheme();
        }
      }
  
      private static class GetTables_resultStandardScheme extends StandardScheme<GetTables_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetTables_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.success = new TGetTablesResp();
                  struct.success.read(iprot);
                  struct.setSuccessIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetTables_result struct) throws org.apache.thrift.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 GetTables_resultTupleSchemeFactory implements SchemeFactory {
        public GetTables_resultTupleScheme getScheme() {
          return new GetTables_resultTupleScheme();
        }
      }
  
      private static class GetTables_resultTupleScheme extends TupleScheme<GetTables_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetTables_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetSuccess()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetSuccess()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetTables_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new TGetTablesResp();
            struct.success.read(iprot);
            struct.setSuccessIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetTableTypes_args implements org.apache.thrift.TBase<GetTableTypes_args, GetTableTypes_args._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetTableTypes_args");
  
      private static final org.apache.thrift.protocol.TField REQ_FIELD_DESC = new org.apache.thrift.protocol.TField("req", org.apache.thrift.protocol.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 GetTableTypes_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetTableTypes_argsTupleSchemeFactory());
      }
  
      private TGetTableTypesReq req; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        REQ((short)1, "req");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // REQ
              return REQ;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.REQ, new org.apache.thrift.meta_data.FieldMetaData("req", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetTableTypesReq.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetTableTypes_args.class, metaDataMap);
      }
  
      public GetTableTypes_args() {
      }
  
      public GetTableTypes_args(
        TGetTableTypesReq req)
      {
        this();
        this.req = req;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetTableTypes_args(GetTableTypes_args other) {
        if (other.isSetReq()) {
          this.req = new TGetTableTypesReq(other.req);
        }
      }
  
      public GetTableTypes_args deepCopy() {
        return new GetTableTypes_args(this);
      }
  
      @Override
      public void clear() {
        this.req = null;
      }
  
      public TGetTableTypesReq getReq() {
        return this.req;
      }
  
      public void setReq(TGetTableTypesReq req) {
        this.req = req;
      }
  
      public void unsetReq() {
        this.req = null;
      }
  
      /** Returns true if field req is set (has been assigned a value) and false otherwise */
      public boolean isSetReq() {
        return this.req != null;
      }
  
      public void setReqIsSet(boolean value) {
        if (!value) {
          this.req = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case REQ:
          if (value == null) {
            unsetReq();
          } else {
            setReq((TGetTableTypesReq)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case REQ:
          return getReq();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case REQ:
          return isSetReq();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetTableTypes_args)
          return this.equals((GetTableTypes_args)that);
        return false;
      }
  
      public boolean equals(GetTableTypes_args that) {
        if (that == null)
          return false;
  
        boolean this_present_req = true && this.isSetReq();
        boolean that_present_req = true && that.isSetReq();
        if (this_present_req || that_present_req) {
          if (!(this_present_req && that_present_req))
            return false;
          if (!this.req.equals(that.req))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_req = true && (isSetReq());
        builder.append(present_req);
        if (present_req)
          builder.append(req);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetTableTypes_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetTableTypes_args typedOther = (GetTableTypes_args)other;
  
        lastComparison = Boolean.valueOf(isSetReq()).compareTo(typedOther.isSetReq());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetReq()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.req, typedOther.req);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetTableTypes_args(");
        boolean first = true;
  
        sb.append("req:");
        if (this.req == null) {
          sb.append("null");
        } else {
          sb.append(this.req);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (req != null) {
          req.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetTableTypes_argsStandardSchemeFactory implements SchemeFactory {
        public GetTableTypes_argsStandardScheme getScheme() {
          return new GetTableTypes_argsStandardScheme();
        }
      }
  
      private static class GetTableTypes_argsStandardScheme extends StandardScheme<GetTableTypes_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetTableTypes_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 1: // REQ
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.req = new TGetTableTypesReq();
                  struct.req.read(iprot);
                  struct.setReqIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetTableTypes_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.req != null) {
            oprot.writeFieldBegin(REQ_FIELD_DESC);
            struct.req.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class GetTableTypes_argsTupleSchemeFactory implements SchemeFactory {
        public GetTableTypes_argsTupleScheme getScheme() {
          return new GetTableTypes_argsTupleScheme();
        }
      }
  
      private static class GetTableTypes_argsTupleScheme extends TupleScheme<GetTableTypes_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetTableTypes_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetReq()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetReq()) {
            struct.req.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetTableTypes_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.req = new TGetTableTypesReq();
            struct.req.read(iprot);
            struct.setReqIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetTableTypes_result implements org.apache.thrift.TBase<GetTableTypes_result, GetTableTypes_result._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetTableTypes_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new GetTableTypes_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetTableTypes_resultTupleSchemeFactory());
      }
  
      private TGetTableTypesResp success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetTableTypesResp.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetTableTypes_result.class, metaDataMap);
      }
  
      public GetTableTypes_result() {
      }
  
      public GetTableTypes_result(
        TGetTableTypesResp success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetTableTypes_result(GetTableTypes_result other) {
        if (other.isSetSuccess()) {
          this.success = new TGetTableTypesResp(other.success);
        }
      }
  
      public GetTableTypes_result deepCopy() {
        return new GetTableTypes_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public TGetTableTypesResp getSuccess() {
        return this.success;
      }
  
      public void setSuccess(TGetTableTypesResp success) {
        this.success = success;
      }
  
      public void unsetSuccess() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean isSetSuccess() {
        return this.success != null;
      }
  
      public void setSuccessIsSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unsetSuccess();
          } else {
            setSuccess((TGetTableTypesResp)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return getSuccess();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return isSetSuccess();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetTableTypes_result)
          return this.equals((GetTableTypes_result)that);
        return false;
      }
  
      public boolean equals(GetTableTypes_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.isSetSuccess();
        boolean that_present_success = true && that.isSetSuccess();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_success = true && (isSetSuccess());
        builder.append(present_success);
        if (present_success)
          builder.append(success);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetTableTypes_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetTableTypes_result typedOther = (GetTableTypes_result)other;
  
        lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetSuccess()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
        }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetTableTypes_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (success != null) {
          success.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetTableTypes_resultStandardSchemeFactory implements SchemeFactory {
        public GetTableTypes_resultStandardScheme getScheme() {
          return new GetTableTypes_resultStandardScheme();
        }
      }
  
      private static class GetTableTypes_resultStandardScheme extends StandardScheme<GetTableTypes_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetTableTypes_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.success = new TGetTableTypesResp();
                  struct.success.read(iprot);
                  struct.setSuccessIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetTableTypes_result struct) throws org.apache.thrift.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 GetTableTypes_resultTupleSchemeFactory implements SchemeFactory {
        public GetTableTypes_resultTupleScheme getScheme() {
          return new GetTableTypes_resultTupleScheme();
        }
      }
  
      private static class GetTableTypes_resultTupleScheme extends TupleScheme<GetTableTypes_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetTableTypes_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetSuccess()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetSuccess()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetTableTypes_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new TGetTableTypesResp();
            struct.success.read(iprot);
            struct.setSuccessIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetColumns_args implements org.apache.thrift.TBase<GetColumns_args, GetColumns_args._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetColumns_args");
  
      private static final org.apache.thrift.protocol.TField REQ_FIELD_DESC = new org.apache.thrift.protocol.TField("req", org.apache.thrift.protocol.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 GetColumns_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetColumns_argsTupleSchemeFactory());
      }
  
      private TGetColumnsReq req; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        REQ((short)1, "req");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // REQ
              return REQ;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.REQ, new org.apache.thrift.meta_data.FieldMetaData("req", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetColumnsReq.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetColumns_args.class, metaDataMap);
      }
  
      public GetColumns_args() {
      }
  
      public GetColumns_args(
        TGetColumnsReq req)
      {
        this();
        this.req = req;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetColumns_args(GetColumns_args other) {
        if (other.isSetReq()) {
          this.req = new TGetColumnsReq(other.req);
        }
      }
  
      public GetColumns_args deepCopy() {
        return new GetColumns_args(this);
      }
  
      @Override
      public void clear() {
        this.req = null;
      }
  
      public TGetColumnsReq getReq() {
        return this.req;
      }
  
      public void setReq(TGetColumnsReq req) {
        this.req = req;
      }
  
      public void unsetReq() {
        this.req = null;
      }
  
      /** Returns true if field req is set (has been assigned a value) and false otherwise */
      public boolean isSetReq() {
        return this.req != null;
      }
  
      public void setReqIsSet(boolean value) {
        if (!value) {
          this.req = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case REQ:
          if (value == null) {
            unsetReq();
          } else {
            setReq((TGetColumnsReq)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case REQ:
          return getReq();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case REQ:
          return isSetReq();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetColumns_args)
          return this.equals((GetColumns_args)that);
        return false;
      }
  
      public boolean equals(GetColumns_args that) {
        if (that == null)
          return false;
  
        boolean this_present_req = true && this.isSetReq();
        boolean that_present_req = true && that.isSetReq();
        if (this_present_req || that_present_req) {
          if (!(this_present_req && that_present_req))
            return false;
          if (!this.req.equals(that.req))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_req = true && (isSetReq());
        builder.append(present_req);
        if (present_req)
          builder.append(req);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetColumns_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetColumns_args typedOther = (GetColumns_args)other;
  
        lastComparison = Boolean.valueOf(isSetReq()).compareTo(typedOther.isSetReq());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetReq()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.req, typedOther.req);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetColumns_args(");
        boolean first = true;
  
        sb.append("req:");
        if (this.req == null) {
          sb.append("null");
        } else {
          sb.append(this.req);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (req != null) {
          req.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetColumns_argsStandardSchemeFactory implements SchemeFactory {
        public GetColumns_argsStandardScheme getScheme() {
          return new GetColumns_argsStandardScheme();
        }
      }
  
      private static class GetColumns_argsStandardScheme extends StandardScheme<GetColumns_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetColumns_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 1: // REQ
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.req = new TGetColumnsReq();
                  struct.req.read(iprot);
                  struct.setReqIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetColumns_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.req != null) {
            oprot.writeFieldBegin(REQ_FIELD_DESC);
            struct.req.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class GetColumns_argsTupleSchemeFactory implements SchemeFactory {
        public GetColumns_argsTupleScheme getScheme() {
          return new GetColumns_argsTupleScheme();
        }
      }
  
      private static class GetColumns_argsTupleScheme extends TupleScheme<GetColumns_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetColumns_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetReq()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetReq()) {
            struct.req.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetColumns_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.req = new TGetColumnsReq();
            struct.req.read(iprot);
            struct.setReqIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetColumns_result implements org.apache.thrift.TBase<GetColumns_result, GetColumns_result._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetColumns_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new GetColumns_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetColumns_resultTupleSchemeFactory());
      }
  
      private TGetColumnsResp success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetColumnsResp.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetColumns_result.class, metaDataMap);
      }
  
      public GetColumns_result() {
      }
  
      public GetColumns_result(
        TGetColumnsResp success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetColumns_result(GetColumns_result other) {
        if (other.isSetSuccess()) {
          this.success = new TGetColumnsResp(other.success);
        }
      }
  
      public GetColumns_result deepCopy() {
        return new GetColumns_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public TGetColumnsResp getSuccess() {
        return this.success;
      }
  
      public void setSuccess(TGetColumnsResp success) {
        this.success = success;
      }
  
      public void unsetSuccess() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean isSetSuccess() {
        return this.success != null;
      }
  
      public void setSuccessIsSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unsetSuccess();
          } else {
            setSuccess((TGetColumnsResp)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return getSuccess();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return isSetSuccess();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetColumns_result)
          return this.equals((GetColumns_result)that);
        return false;
      }
  
      public boolean equals(GetColumns_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.isSetSuccess();
        boolean that_present_success = true && that.isSetSuccess();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_success = true && (isSetSuccess());
        builder.append(present_success);
        if (present_success)
          builder.append(success);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetColumns_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetColumns_result typedOther = (GetColumns_result)other;
  
        lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetSuccess()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
        }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetColumns_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (success != null) {
          success.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetColumns_resultStandardSchemeFactory implements SchemeFactory {
        public GetColumns_resultStandardScheme getScheme() {
          return new GetColumns_resultStandardScheme();
        }
      }
  
      private static class GetColumns_resultStandardScheme extends StandardScheme<GetColumns_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetColumns_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.success = new TGetColumnsResp();
                  struct.success.read(iprot);
                  struct.setSuccessIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetColumns_result struct) throws org.apache.thrift.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 GetColumns_resultTupleSchemeFactory implements SchemeFactory {
        public GetColumns_resultTupleScheme getScheme() {
          return new GetColumns_resultTupleScheme();
        }
      }
  
      private static class GetColumns_resultTupleScheme extends TupleScheme<GetColumns_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetColumns_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetSuccess()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetSuccess()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetColumns_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new TGetColumnsResp();
            struct.success.read(iprot);
            struct.setSuccessIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetFunctions_args implements org.apache.thrift.TBase<GetFunctions_args, GetFunctions_args._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetFunctions_args");
  
      private static final org.apache.thrift.protocol.TField REQ_FIELD_DESC = new org.apache.thrift.protocol.TField("req", org.apache.thrift.protocol.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 GetFunctions_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetFunctions_argsTupleSchemeFactory());
      }
  
      private TGetFunctionsReq req; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        REQ((short)1, "req");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // REQ
              return REQ;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.REQ, new org.apache.thrift.meta_data.FieldMetaData("req", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetFunctionsReq.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetFunctions_args.class, metaDataMap);
      }
  
      public GetFunctions_args() {
      }
  
      public GetFunctions_args(
        TGetFunctionsReq req)
      {
        this();
        this.req = req;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetFunctions_args(GetFunctions_args other) {
        if (other.isSetReq()) {
          this.req = new TGetFunctionsReq(other.req);
        }
      }
  
      public GetFunctions_args deepCopy() {
        return new GetFunctions_args(this);
      }
  
      @Override
      public void clear() {
        this.req = null;
      }
  
      public TGetFunctionsReq getReq() {
        return this.req;
      }
  
      public void setReq(TGetFunctionsReq req) {
        this.req = req;
      }
  
      public void unsetReq() {
        this.req = null;
      }
  
      /** Returns true if field req is set (has been assigned a value) and false otherwise */
      public boolean isSetReq() {
        return this.req != null;
      }
  
      public void setReqIsSet(boolean value) {
        if (!value) {
          this.req = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case REQ:
          if (value == null) {
            unsetReq();
          } else {
            setReq((TGetFunctionsReq)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case REQ:
          return getReq();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case REQ:
          return isSetReq();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetFunctions_args)
          return this.equals((GetFunctions_args)that);
        return false;
      }
  
      public boolean equals(GetFunctions_args that) {
        if (that == null)
          return false;
  
        boolean this_present_req = true && this.isSetReq();
        boolean that_present_req = true && that.isSetReq();
        if (this_present_req || that_present_req) {
          if (!(this_present_req && that_present_req))
            return false;
          if (!this.req.equals(that.req))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_req = true && (isSetReq());
        builder.append(present_req);
        if (present_req)
          builder.append(req);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetFunctions_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetFunctions_args typedOther = (GetFunctions_args)other;
  
        lastComparison = Boolean.valueOf(isSetReq()).compareTo(typedOther.isSetReq());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetReq()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.req, typedOther.req);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetFunctions_args(");
        boolean first = true;
  
        sb.append("req:");
        if (this.req == null) {
          sb.append("null");
        } else {
          sb.append(this.req);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (req != null) {
          req.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetFunctions_argsStandardSchemeFactory implements SchemeFactory {
        public GetFunctions_argsStandardScheme getScheme() {
          return new GetFunctions_argsStandardScheme();
        }
      }
  
      private static class GetFunctions_argsStandardScheme extends StandardScheme<GetFunctions_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetFunctions_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 1: // REQ
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.req = new TGetFunctionsReq();
                  struct.req.read(iprot);
                  struct.setReqIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetFunctions_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.req != null) {
            oprot.writeFieldBegin(REQ_FIELD_DESC);
            struct.req.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class GetFunctions_argsTupleSchemeFactory implements SchemeFactory {
        public GetFunctions_argsTupleScheme getScheme() {
          return new GetFunctions_argsTupleScheme();
        }
      }
  
      private static class GetFunctions_argsTupleScheme extends TupleScheme<GetFunctions_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetFunctions_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetReq()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetReq()) {
            struct.req.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetFunctions_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.req = new TGetFunctionsReq();
            struct.req.read(iprot);
            struct.setReqIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetFunctions_result implements org.apache.thrift.TBase<GetFunctions_result, GetFunctions_result._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetFunctions_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new GetFunctions_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetFunctions_resultTupleSchemeFactory());
      }
  
      private TGetFunctionsResp success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetFunctionsResp.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetFunctions_result.class, metaDataMap);
      }
  
      public GetFunctions_result() {
      }
  
      public GetFunctions_result(
        TGetFunctionsResp success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetFunctions_result(GetFunctions_result other) {
        if (other.isSetSuccess()) {
          this.success = new TGetFunctionsResp(other.success);
        }
      }
  
      public GetFunctions_result deepCopy() {
        return new GetFunctions_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public TGetFunctionsResp getSuccess() {
        return this.success;
      }
  
      public void setSuccess(TGetFunctionsResp success) {
        this.success = success;
      }
  
      public void unsetSuccess() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean isSetSuccess() {
        return this.success != null;
      }
  
      public void setSuccessIsSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unsetSuccess();
          } else {
            setSuccess((TGetFunctionsResp)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return getSuccess();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return isSetSuccess();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetFunctions_result)
          return this.equals((GetFunctions_result)that);
        return false;
      }
  
      public boolean equals(GetFunctions_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.isSetSuccess();
        boolean that_present_success = true && that.isSetSuccess();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_success = true && (isSetSuccess());
        builder.append(present_success);
        if (present_success)
          builder.append(success);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetFunctions_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetFunctions_result typedOther = (GetFunctions_result)other;
  
        lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetSuccess()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
        }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetFunctions_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (success != null) {
          success.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetFunctions_resultStandardSchemeFactory implements SchemeFactory {
        public GetFunctions_resultStandardScheme getScheme() {
          return new GetFunctions_resultStandardScheme();
        }
      }
  
      private static class GetFunctions_resultStandardScheme extends StandardScheme<GetFunctions_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetFunctions_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.success = new TGetFunctionsResp();
                  struct.success.read(iprot);
                  struct.setSuccessIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetFunctions_result struct) throws org.apache.thrift.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 GetFunctions_resultTupleSchemeFactory implements SchemeFactory {
        public GetFunctions_resultTupleScheme getScheme() {
          return new GetFunctions_resultTupleScheme();
        }
      }
  
      private static class GetFunctions_resultTupleScheme extends TupleScheme<GetFunctions_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetFunctions_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetSuccess()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetSuccess()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetFunctions_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new TGetFunctionsResp();
            struct.success.read(iprot);
            struct.setSuccessIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetOperationStatus_args implements org.apache.thrift.TBase<GetOperationStatus_args, GetOperationStatus_args._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetOperationStatus_args");
  
      private static final org.apache.thrift.protocol.TField REQ_FIELD_DESC = new org.apache.thrift.protocol.TField("req", org.apache.thrift.protocol.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 GetOperationStatus_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetOperationStatus_argsTupleSchemeFactory());
      }
  
      private TGetOperationStatusReq req; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        REQ((short)1, "req");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // REQ
              return REQ;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.REQ, new org.apache.thrift.meta_data.FieldMetaData("req", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetOperationStatusReq.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetOperationStatus_args.class, metaDataMap);
      }
  
      public GetOperationStatus_args() {
      }
  
      public GetOperationStatus_args(
        TGetOperationStatusReq req)
      {
        this();
        this.req = req;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetOperationStatus_args(GetOperationStatus_args other) {
        if (other.isSetReq()) {
          this.req = new TGetOperationStatusReq(other.req);
        }
      }
  
      public GetOperationStatus_args deepCopy() {
        return new GetOperationStatus_args(this);
      }
  
      @Override
      public void clear() {
        this.req = null;
      }
  
      public TGetOperationStatusReq getReq() {
        return this.req;
      }
  
      public void setReq(TGetOperationStatusReq req) {
        this.req = req;
      }
  
      public void unsetReq() {
        this.req = null;
      }
  
      /** Returns true if field req is set (has been assigned a value) and false otherwise */
      public boolean isSetReq() {
        return this.req != null;
      }
  
      public void setReqIsSet(boolean value) {
        if (!value) {
          this.req = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case REQ:
          if (value == null) {
            unsetReq();
          } else {
            setReq((TGetOperationStatusReq)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case REQ:
          return getReq();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case REQ:
          return isSetReq();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetOperationStatus_args)
          return this.equals((GetOperationStatus_args)that);
        return false;
      }
  
      public boolean equals(GetOperationStatus_args that) {
        if (that == null)
          return false;
  
        boolean this_present_req = true && this.isSetReq();
        boolean that_present_req = true && that.isSetReq();
        if (this_present_req || that_present_req) {
          if (!(this_present_req && that_present_req))
            return false;
          if (!this.req.equals(that.req))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_req = true && (isSetReq());
        builder.append(present_req);
        if (present_req)
          builder.append(req);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetOperationStatus_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetOperationStatus_args typedOther = (GetOperationStatus_args)other;
  
        lastComparison = Boolean.valueOf(isSetReq()).compareTo(typedOther.isSetReq());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetReq()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.req, typedOther.req);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetOperationStatus_args(");
        boolean first = true;
  
        sb.append("req:");
        if (this.req == null) {
          sb.append("null");
        } else {
          sb.append(this.req);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (req != null) {
          req.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetOperationStatus_argsStandardSchemeFactory implements SchemeFactory {
        public GetOperationStatus_argsStandardScheme getScheme() {
          return new GetOperationStatus_argsStandardScheme();
        }
      }
  
      private static class GetOperationStatus_argsStandardScheme extends StandardScheme<GetOperationStatus_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetOperationStatus_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 1: // REQ
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.req = new TGetOperationStatusReq();
                  struct.req.read(iprot);
                  struct.setReqIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetOperationStatus_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.req != null) {
            oprot.writeFieldBegin(REQ_FIELD_DESC);
            struct.req.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class GetOperationStatus_argsTupleSchemeFactory implements SchemeFactory {
        public GetOperationStatus_argsTupleScheme getScheme() {
          return new GetOperationStatus_argsTupleScheme();
        }
      }
  
      private static class GetOperationStatus_argsTupleScheme extends TupleScheme<GetOperationStatus_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetOperationStatus_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetReq()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetReq()) {
            struct.req.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetOperationStatus_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.req = new TGetOperationStatusReq();
            struct.req.read(iprot);
            struct.setReqIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetOperationStatus_result implements org.apache.thrift.TBase<GetOperationStatus_result, GetOperationStatus_result._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetOperationStatus_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new GetOperationStatus_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetOperationStatus_resultTupleSchemeFactory());
      }
  
      private TGetOperationStatusResp success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetOperationStatusResp.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetOperationStatus_result.class, metaDataMap);
      }
  
      public GetOperationStatus_result() {
      }
  
      public GetOperationStatus_result(
        TGetOperationStatusResp success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetOperationStatus_result(GetOperationStatus_result other) {
        if (other.isSetSuccess()) {
          this.success = new TGetOperationStatusResp(other.success);
        }
      }
  
      public GetOperationStatus_result deepCopy() {
        return new GetOperationStatus_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public TGetOperationStatusResp getSuccess() {
        return this.success;
      }
  
      public void setSuccess(TGetOperationStatusResp success) {
        this.success = success;
      }
  
      public void unsetSuccess() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean isSetSuccess() {
        return this.success != null;
      }
  
      public void setSuccessIsSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unsetSuccess();
          } else {
            setSuccess((TGetOperationStatusResp)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return getSuccess();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return isSetSuccess();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetOperationStatus_result)
          return this.equals((GetOperationStatus_result)that);
        return false;
      }
  
      public boolean equals(GetOperationStatus_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.isSetSuccess();
        boolean that_present_success = true && that.isSetSuccess();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_success = true && (isSetSuccess());
        builder.append(present_success);
        if (present_success)
          builder.append(success);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetOperationStatus_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetOperationStatus_result typedOther = (GetOperationStatus_result)other;
  
        lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetSuccess()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
        }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetOperationStatus_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (success != null) {
          success.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetOperationStatus_resultStandardSchemeFactory implements SchemeFactory {
        public GetOperationStatus_resultStandardScheme getScheme() {
          return new GetOperationStatus_resultStandardScheme();
        }
      }
  
      private static class GetOperationStatus_resultStandardScheme extends StandardScheme<GetOperationStatus_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetOperationStatus_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.success = new TGetOperationStatusResp();
                  struct.success.read(iprot);
                  struct.setSuccessIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetOperationStatus_result struct) throws org.apache.thrift.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 GetOperationStatus_resultTupleSchemeFactory implements SchemeFactory {
        public GetOperationStatus_resultTupleScheme getScheme() {
          return new GetOperationStatus_resultTupleScheme();
        }
      }
  
      private static class GetOperationStatus_resultTupleScheme extends TupleScheme<GetOperationStatus_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetOperationStatus_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetSuccess()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetSuccess()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetOperationStatus_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new TGetOperationStatusResp();
            struct.success.read(iprot);
            struct.setSuccessIsSet(true);
          }
        }
      }
  
    }
  
    public static class CancelOperation_args implements org.apache.thrift.TBase<CancelOperation_args, CancelOperation_args._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CancelOperation_args");
  
      private static final org.apache.thrift.protocol.TField REQ_FIELD_DESC = new org.apache.thrift.protocol.TField("req", org.apache.thrift.protocol.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 CancelOperation_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new CancelOperation_argsTupleSchemeFactory());
      }
  
      private TCancelOperationReq req; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        REQ((short)1, "req");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // REQ
              return REQ;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.REQ, new org.apache.thrift.meta_data.FieldMetaData("req", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TCancelOperationReq.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(CancelOperation_args.class, metaDataMap);
      }
  
      public CancelOperation_args() {
      }
  
      public CancelOperation_args(
        TCancelOperationReq req)
      {
        this();
        this.req = req;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public CancelOperation_args(CancelOperation_args other) {
        if (other.isSetReq()) {
          this.req = new TCancelOperationReq(other.req);
        }
      }
  
      public CancelOperation_args deepCopy() {
        return new CancelOperation_args(this);
      }
  
      @Override
      public void clear() {
        this.req = null;
      }
  
      public TCancelOperationReq getReq() {
        return this.req;
      }
  
      public void setReq(TCancelOperationReq req) {
        this.req = req;
      }
  
      public void unsetReq() {
        this.req = null;
      }
  
      /** Returns true if field req is set (has been assigned a value) and false otherwise */
      public boolean isSetReq() {
        return this.req != null;
      }
  
      public void setReqIsSet(boolean value) {
        if (!value) {
          this.req = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case REQ:
          if (value == null) {
            unsetReq();
          } else {
            setReq((TCancelOperationReq)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case REQ:
          return getReq();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case REQ:
          return isSetReq();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof CancelOperation_args)
          return this.equals((CancelOperation_args)that);
        return false;
      }
  
      public boolean equals(CancelOperation_args that) {
        if (that == null)
          return false;
  
        boolean this_present_req = true && this.isSetReq();
        boolean that_present_req = true && that.isSetReq();
        if (this_present_req || that_present_req) {
          if (!(this_present_req && that_present_req))
            return false;
          if (!this.req.equals(that.req))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_req = true && (isSetReq());
        builder.append(present_req);
        if (present_req)
          builder.append(req);
  
        return builder.toHashCode();
      }
  
      public int compareTo(CancelOperation_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        CancelOperation_args typedOther = (CancelOperation_args)other;
  
        lastComparison = Boolean.valueOf(isSetReq()).compareTo(typedOther.isSetReq());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetReq()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.req, typedOther.req);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("CancelOperation_args(");
        boolean first = true;
  
        sb.append("req:");
        if (this.req == null) {
          sb.append("null");
        } else {
          sb.append(this.req);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (req != null) {
          req.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class CancelOperation_argsStandardSchemeFactory implements SchemeFactory {
        public CancelOperation_argsStandardScheme getScheme() {
          return new CancelOperation_argsStandardScheme();
        }
      }
  
      private static class CancelOperation_argsStandardScheme extends StandardScheme<CancelOperation_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, CancelOperation_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 1: // REQ
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.req = new TCancelOperationReq();
                  struct.req.read(iprot);
                  struct.setReqIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, CancelOperation_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.req != null) {
            oprot.writeFieldBegin(REQ_FIELD_DESC);
            struct.req.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class CancelOperation_argsTupleSchemeFactory implements SchemeFactory {
        public CancelOperation_argsTupleScheme getScheme() {
          return new CancelOperation_argsTupleScheme();
        }
      }
  
      private static class CancelOperation_argsTupleScheme extends TupleScheme<CancelOperation_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, CancelOperation_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetReq()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetReq()) {
            struct.req.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, CancelOperation_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.req = new TCancelOperationReq();
            struct.req.read(iprot);
            struct.setReqIsSet(true);
          }
        }
      }
  
    }
  
    public static class CancelOperation_result implements org.apache.thrift.TBase<CancelOperation_result, CancelOperation_result._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CancelOperation_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new CancelOperation_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new CancelOperation_resultTupleSchemeFactory());
      }
  
      private TCancelOperationResp success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TCancelOperationResp.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(CancelOperation_result.class, metaDataMap);
      }
  
      public CancelOperation_result() {
      }
  
      public CancelOperation_result(
        TCancelOperationResp success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public CancelOperation_result(CancelOperation_result other) {
        if (other.isSetSuccess()) {
          this.success = new TCancelOperationResp(other.success);
        }
      }
  
      public CancelOperation_result deepCopy() {
        return new CancelOperation_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public TCancelOperationResp getSuccess() {
        return this.success;
      }
  
      public void setSuccess(TCancelOperationResp success) {
        this.success = success;
      }
  
      public void unsetSuccess() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean isSetSuccess() {
        return this.success != null;
      }
  
      public void setSuccessIsSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unsetSuccess();
          } else {
            setSuccess((TCancelOperationResp)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return getSuccess();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return isSetSuccess();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof CancelOperation_result)
          return this.equals((CancelOperation_result)that);
        return false;
      }
  
      public boolean equals(CancelOperation_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.isSetSuccess();
        boolean that_present_success = true && that.isSetSuccess();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_success = true && (isSetSuccess());
        builder.append(present_success);
        if (present_success)
          builder.append(success);
  
        return builder.toHashCode();
      }
  
      public int compareTo(CancelOperation_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        CancelOperation_result typedOther = (CancelOperation_result)other;
  
        lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetSuccess()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
        }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("CancelOperation_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (success != null) {
          success.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class CancelOperation_resultStandardSchemeFactory implements SchemeFactory {
        public CancelOperation_resultStandardScheme getScheme() {
          return new CancelOperation_resultStandardScheme();
        }
      }
  
      private static class CancelOperation_resultStandardScheme extends StandardScheme<CancelOperation_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, CancelOperation_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.success = new TCancelOperationResp();
                  struct.success.read(iprot);
                  struct.setSuccessIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, CancelOperation_result struct) throws org.apache.thrift.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 CancelOperation_resultTupleSchemeFactory implements SchemeFactory {
        public CancelOperation_resultTupleScheme getScheme() {
          return new CancelOperation_resultTupleScheme();
        }
      }
  
      private static class CancelOperation_resultTupleScheme extends TupleScheme<CancelOperation_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, CancelOperation_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetSuccess()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetSuccess()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, CancelOperation_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new TCancelOperationResp();
            struct.success.read(iprot);
            struct.setSuccessIsSet(true);
          }
        }
      }
  
    }
  
    public static class CloseOperation_args implements org.apache.thrift.TBase<CloseOperation_args, CloseOperation_args._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CloseOperation_args");
  
      private static final org.apache.thrift.protocol.TField REQ_FIELD_DESC = new org.apache.thrift.protocol.TField("req", org.apache.thrift.protocol.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 CloseOperation_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new CloseOperation_argsTupleSchemeFactory());
      }
  
      private TCloseOperationReq req; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        REQ((short)1, "req");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // REQ
              return REQ;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.REQ, new org.apache.thrift.meta_data.FieldMetaData("req", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TCloseOperationReq.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(CloseOperation_args.class, metaDataMap);
      }
  
      public CloseOperation_args() {
      }
  
      public CloseOperation_args(
        TCloseOperationReq req)
      {
        this();
        this.req = req;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public CloseOperation_args(CloseOperation_args other) {
        if (other.isSetReq()) {
          this.req = new TCloseOperationReq(other.req);
        }
      }
  
      public CloseOperation_args deepCopy() {
        return new CloseOperation_args(this);
      }
  
      @Override
      public void clear() {
        this.req = null;
      }
  
      public TCloseOperationReq getReq() {
        return this.req;
      }
  
      public void setReq(TCloseOperationReq req) {
        this.req = req;
      }
  
      public void unsetReq() {
        this.req = null;
      }
  
      /** Returns true if field req is set (has been assigned a value) and false otherwise */
      public boolean isSetReq() {
        return this.req != null;
      }
  
      public void setReqIsSet(boolean value) {
        if (!value) {
          this.req = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case REQ:
          if (value == null) {
            unsetReq();
          } else {
            setReq((TCloseOperationReq)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case REQ:
          return getReq();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case REQ:
          return isSetReq();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof CloseOperation_args)
          return this.equals((CloseOperation_args)that);
        return false;
      }
  
      public boolean equals(CloseOperation_args that) {
        if (that == null)
          return false;
  
        boolean this_present_req = true && this.isSetReq();
        boolean that_present_req = true && that.isSetReq();
        if (this_present_req || that_present_req) {
          if (!(this_present_req && that_present_req))
            return false;
          if (!this.req.equals(that.req))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_req = true && (isSetReq());
        builder.append(present_req);
        if (present_req)
          builder.append(req);
  
        return builder.toHashCode();
      }
  
      public int compareTo(CloseOperation_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        CloseOperation_args typedOther = (CloseOperation_args)other;
  
        lastComparison = Boolean.valueOf(isSetReq()).compareTo(typedOther.isSetReq());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetReq()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.req, typedOther.req);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("CloseOperation_args(");
        boolean first = true;
  
        sb.append("req:");
        if (this.req == null) {
          sb.append("null");
        } else {
          sb.append(this.req);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (req != null) {
          req.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class CloseOperation_argsStandardSchemeFactory implements SchemeFactory {
        public CloseOperation_argsStandardScheme getScheme() {
          return new CloseOperation_argsStandardScheme();
        }
      }
  
      private static class CloseOperation_argsStandardScheme extends StandardScheme<CloseOperation_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, CloseOperation_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 1: // REQ
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.req = new TCloseOperationReq();
                  struct.req.read(iprot);
                  struct.setReqIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, CloseOperation_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.req != null) {
            oprot.writeFieldBegin(REQ_FIELD_DESC);
            struct.req.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class CloseOperation_argsTupleSchemeFactory implements SchemeFactory {
        public CloseOperation_argsTupleScheme getScheme() {
          return new CloseOperation_argsTupleScheme();
        }
      }
  
      private static class CloseOperation_argsTupleScheme extends TupleScheme<CloseOperation_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, CloseOperation_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetReq()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetReq()) {
            struct.req.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, CloseOperation_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.req = new TCloseOperationReq();
            struct.req.read(iprot);
            struct.setReqIsSet(true);
          }
        }
      }
  
    }
  
    public static class CloseOperation_result implements org.apache.thrift.TBase<CloseOperation_result, CloseOperation_result._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CloseOperation_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new CloseOperation_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new CloseOperation_resultTupleSchemeFactory());
      }
  
      private TCloseOperationResp success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TCloseOperationResp.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(CloseOperation_result.class, metaDataMap);
      }
  
      public CloseOperation_result() {
      }
  
      public CloseOperation_result(
        TCloseOperationResp success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public CloseOperation_result(CloseOperation_result other) {
        if (other.isSetSuccess()) {
          this.success = new TCloseOperationResp(other.success);
        }
      }
  
      public CloseOperation_result deepCopy() {
        return new CloseOperation_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public TCloseOperationResp getSuccess() {
        return this.success;
      }
  
      public void setSuccess(TCloseOperationResp success) {
        this.success = success;
      }
  
      public void unsetSuccess() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean isSetSuccess() {
        return this.success != null;
      }
  
      public void setSuccessIsSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unsetSuccess();
          } else {
            setSuccess((TCloseOperationResp)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return getSuccess();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return isSetSuccess();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof CloseOperation_result)
          return this.equals((CloseOperation_result)that);
        return false;
      }
  
      public boolean equals(CloseOperation_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.isSetSuccess();
        boolean that_present_success = true && that.isSetSuccess();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_success = true && (isSetSuccess());
        builder.append(present_success);
        if (present_success)
          builder.append(success);
  
        return builder.toHashCode();
      }
  
      public int compareTo(CloseOperation_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        CloseOperation_result typedOther = (CloseOperation_result)other;
  
        lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetSuccess()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
        }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("CloseOperation_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (success != null) {
          success.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class CloseOperation_resultStandardSchemeFactory implements SchemeFactory {
        public CloseOperation_resultStandardScheme getScheme() {
          return new CloseOperation_resultStandardScheme();
        }
      }
  
      private static class CloseOperation_resultStandardScheme extends StandardScheme<CloseOperation_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, CloseOperation_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.success = new TCloseOperationResp();
                  struct.success.read(iprot);
                  struct.setSuccessIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, CloseOperation_result struct) throws org.apache.thrift.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 CloseOperation_resultTupleSchemeFactory implements SchemeFactory {
        public CloseOperation_resultTupleScheme getScheme() {
          return new CloseOperation_resultTupleScheme();
        }
      }
  
      private static class CloseOperation_resultTupleScheme extends TupleScheme<CloseOperation_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, CloseOperation_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetSuccess()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetSuccess()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, CloseOperation_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new TCloseOperationResp();
            struct.success.read(iprot);
            struct.setSuccessIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetResultSetMetadata_args implements org.apache.thrift.TBase<GetResultSetMetadata_args, GetResultSetMetadata_args._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetResultSetMetadata_args");
  
      private static final org.apache.thrift.protocol.TField REQ_FIELD_DESC = new org.apache.thrift.protocol.TField("req", org.apache.thrift.protocol.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 GetResultSetMetadata_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetResultSetMetadata_argsTupleSchemeFactory());
      }
  
      private TGetResultSetMetadataReq req; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        REQ((short)1, "req");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // REQ
              return REQ;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.REQ, new org.apache.thrift.meta_data.FieldMetaData("req", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetResultSetMetadataReq.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetResultSetMetadata_args.class, metaDataMap);
      }
  
      public GetResultSetMetadata_args() {
      }
  
      public GetResultSetMetadata_args(
        TGetResultSetMetadataReq req)
      {
        this();
        this.req = req;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetResultSetMetadata_args(GetResultSetMetadata_args other) {
        if (other.isSetReq()) {
          this.req = new TGetResultSetMetadataReq(other.req);
        }
      }
  
      public GetResultSetMetadata_args deepCopy() {
        return new GetResultSetMetadata_args(this);
      }
  
      @Override
      public void clear() {
        this.req = null;
      }
  
      public TGetResultSetMetadataReq getReq() {
        return this.req;
      }
  
      public void setReq(TGetResultSetMetadataReq req) {
        this.req = req;
      }
  
      public void unsetReq() {
        this.req = null;
      }
  
      /** Returns true if field req is set (has been assigned a value) and false otherwise */
      public boolean isSetReq() {
        return this.req != null;
      }
  
      public void setReqIsSet(boolean value) {
        if (!value) {
          this.req = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case REQ:
          if (value == null) {
            unsetReq();
          } else {
            setReq((TGetResultSetMetadataReq)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case REQ:
          return getReq();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case REQ:
          return isSetReq();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetResultSetMetadata_args)
          return this.equals((GetResultSetMetadata_args)that);
        return false;
      }
  
      public boolean equals(GetResultSetMetadata_args that) {
        if (that == null)
          return false;
  
        boolean this_present_req = true && this.isSetReq();
        boolean that_present_req = true && that.isSetReq();
        if (this_present_req || that_present_req) {
          if (!(this_present_req && that_present_req))
            return false;
          if (!this.req.equals(that.req))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_req = true && (isSetReq());
        builder.append(present_req);
        if (present_req)
          builder.append(req);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetResultSetMetadata_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetResultSetMetadata_args typedOther = (GetResultSetMetadata_args)other;
  
        lastComparison = Boolean.valueOf(isSetReq()).compareTo(typedOther.isSetReq());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetReq()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.req, typedOther.req);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetResultSetMetadata_args(");
        boolean first = true;
  
        sb.append("req:");
        if (this.req == null) {
          sb.append("null");
        } else {
          sb.append(this.req);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (req != null) {
          req.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetResultSetMetadata_argsStandardSchemeFactory implements SchemeFactory {
        public GetResultSetMetadata_argsStandardScheme getScheme() {
          return new GetResultSetMetadata_argsStandardScheme();
        }
      }
  
      private static class GetResultSetMetadata_argsStandardScheme extends StandardScheme<GetResultSetMetadata_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetResultSetMetadata_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 1: // REQ
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.req = new TGetResultSetMetadataReq();
                  struct.req.read(iprot);
                  struct.setReqIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetResultSetMetadata_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.req != null) {
            oprot.writeFieldBegin(REQ_FIELD_DESC);
            struct.req.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class GetResultSetMetadata_argsTupleSchemeFactory implements SchemeFactory {
        public GetResultSetMetadata_argsTupleScheme getScheme() {
          return new GetResultSetMetadata_argsTupleScheme();
        }
      }
  
      private static class GetResultSetMetadata_argsTupleScheme extends TupleScheme<GetResultSetMetadata_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetResultSetMetadata_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetReq()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetReq()) {
            struct.req.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetResultSetMetadata_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.req = new TGetResultSetMetadataReq();
            struct.req.read(iprot);
            struct.setReqIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetResultSetMetadata_result implements org.apache.thrift.TBase<GetResultSetMetadata_result, GetResultSetMetadata_result._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetResultSetMetadata_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new GetResultSetMetadata_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetResultSetMetadata_resultTupleSchemeFactory());
      }
  
      private TGetResultSetMetadataResp success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetResultSetMetadataResp.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetResultSetMetadata_result.class, metaDataMap);
      }
  
      public GetResultSetMetadata_result() {
      }
  
      public GetResultSetMetadata_result(
        TGetResultSetMetadataResp success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetResultSetMetadata_result(GetResultSetMetadata_result other) {
        if (other.isSetSuccess()) {
          this.success = new TGetResultSetMetadataResp(other.success);
        }
      }
  
      public GetResultSetMetadata_result deepCopy() {
        return new GetResultSetMetadata_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public TGetResultSetMetadataResp getSuccess() {
        return this.success;
      }
  
      public void setSuccess(TGetResultSetMetadataResp success) {
        this.success = success;
      }
  
      public void unsetSuccess() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean isSetSuccess() {
        return this.success != null;
      }
  
      public void setSuccessIsSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unsetSuccess();
          } else {
            setSuccess((TGetResultSetMetadataResp)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return getSuccess();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return isSetSuccess();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetResultSetMetadata_result)
          return this.equals((GetResultSetMetadata_result)that);
        return false;
      }
  
      public boolean equals(GetResultSetMetadata_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.isSetSuccess();
        boolean that_present_success = true && that.isSetSuccess();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_success = true && (isSetSuccess());
        builder.append(present_success);
        if (present_success)
          builder.append(success);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetResultSetMetadata_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetResultSetMetadata_result typedOther = (GetResultSetMetadata_result)other;
  
        lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetSuccess()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
        }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetResultSetMetadata_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (success != null) {
          success.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetResultSetMetadata_resultStandardSchemeFactory implements SchemeFactory {
        public GetResultSetMetadata_resultStandardScheme getScheme() {
          return new GetResultSetMetadata_resultStandardScheme();
        }
      }
  
      private static class GetResultSetMetadata_resultStandardScheme extends StandardScheme<GetResultSetMetadata_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetResultSetMetadata_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.success = new TGetResultSetMetadataResp();
                  struct.success.read(iprot);
                  struct.setSuccessIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetResultSetMetadata_result struct) throws org.apache.thrift.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 GetResultSetMetadata_resultTupleSchemeFactory implements SchemeFactory {
        public GetResultSetMetadata_resultTupleScheme getScheme() {
          return new GetResultSetMetadata_resultTupleScheme();
        }
      }
  
      private static class GetResultSetMetadata_resultTupleScheme extends TupleScheme<GetResultSetMetadata_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetResultSetMetadata_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetSuccess()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetSuccess()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetResultSetMetadata_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new TGetResultSetMetadataResp();
            struct.success.read(iprot);
            struct.setSuccessIsSet(true);
          }
        }
      }
  
    }
  
    public static class FetchResults_args implements org.apache.thrift.TBase<FetchResults_args, FetchResults_args._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("FetchResults_args");
  
      private static final org.apache.thrift.protocol.TField REQ_FIELD_DESC = new org.apache.thrift.protocol.TField("req", org.apache.thrift.protocol.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 FetchResults_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new FetchResults_argsTupleSchemeFactory());
      }
  
      private TFetchResultsReq req; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        REQ((short)1, "req");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // REQ
              return REQ;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.REQ, new org.apache.thrift.meta_data.FieldMetaData("req", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TFetchResultsReq.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(FetchResults_args.class, metaDataMap);
      }
  
      public FetchResults_args() {
      }
  
      public FetchResults_args(
        TFetchResultsReq req)
      {
        this();
        this.req = req;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public FetchResults_args(FetchResults_args other) {
        if (other.isSetReq()) {
          this.req = new TFetchResultsReq(other.req);
        }
      }
  
      public FetchResults_args deepCopy() {
        return new FetchResults_args(this);
      }
  
      @Override
      public void clear() {
        this.req = null;
      }
  
      public TFetchResultsReq getReq() {
        return this.req;
      }
  
      public void setReq(TFetchResultsReq req) {
        this.req = req;
      }
  
      public void unsetReq() {
        this.req = null;
      }
  
      /** Returns true if field req is set (has been assigned a value) and false otherwise */
      public boolean isSetReq() {
        return this.req != null;
      }
  
      public void setReqIsSet(boolean value) {
        if (!value) {
          this.req = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case REQ:
          if (value == null) {
            unsetReq();
          } else {
            setReq((TFetchResultsReq)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case REQ:
          return getReq();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case REQ:
          return isSetReq();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof FetchResults_args)
          return this.equals((FetchResults_args)that);
        return false;
      }
  
      public boolean equals(FetchResults_args that) {
        if (that == null)
          return false;
  
        boolean this_present_req = true && this.isSetReq();
        boolean that_present_req = true && that.isSetReq();
        if (this_present_req || that_present_req) {
          if (!(this_present_req && that_present_req))
            return false;
          if (!this.req.equals(that.req))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_req = true && (isSetReq());
        builder.append(present_req);
        if (present_req)
          builder.append(req);
  
        return builder.toHashCode();
      }
  
      public int compareTo(FetchResults_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        FetchResults_args typedOther = (FetchResults_args)other;
  
        lastComparison = Boolean.valueOf(isSetReq()).compareTo(typedOther.isSetReq());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetReq()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.req, typedOther.req);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("FetchResults_args(");
        boolean first = true;
  
        sb.append("req:");
        if (this.req == null) {
          sb.append("null");
        } else {
          sb.append(this.req);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (req != null) {
          req.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class FetchResults_argsStandardSchemeFactory implements SchemeFactory {
        public FetchResults_argsStandardScheme getScheme() {
          return new FetchResults_argsStandardScheme();
        }
      }
  
      private static class FetchResults_argsStandardScheme extends StandardScheme<FetchResults_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, FetchResults_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 1: // REQ
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.req = new TFetchResultsReq();
                  struct.req.read(iprot);
                  struct.setReqIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, FetchResults_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.req != null) {
            oprot.writeFieldBegin(REQ_FIELD_DESC);
            struct.req.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class FetchResults_argsTupleSchemeFactory implements SchemeFactory {
        public FetchResults_argsTupleScheme getScheme() {
          return new FetchResults_argsTupleScheme();
        }
      }
  
      private static class FetchResults_argsTupleScheme extends TupleScheme<FetchResults_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, FetchResults_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetReq()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetReq()) {
            struct.req.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, FetchResults_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.req = new TFetchResultsReq();
            struct.req.read(iprot);
            struct.setReqIsSet(true);
          }
        }
      }
  
    }
  
    public static class FetchResults_result implements org.apache.thrift.TBase<FetchResults_result, FetchResults_result._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("FetchResults_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new FetchResults_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new FetchResults_resultTupleSchemeFactory());
      }
  
      private TFetchResultsResp success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TFetchResultsResp.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(FetchResults_result.class, metaDataMap);
      }
  
      public FetchResults_result() {
      }
  
      public FetchResults_result(
        TFetchResultsResp success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public FetchResults_result(FetchResults_result other) {
        if (other.isSetSuccess()) {
          this.success = new TFetchResultsResp(other.success);
        }
      }
  
      public FetchResults_result deepCopy() {
        return new FetchResults_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public TFetchResultsResp getSuccess() {
        return this.success;
      }
  
      public void setSuccess(TFetchResultsResp success) {
        this.success = success;
      }
  
      public void unsetSuccess() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean isSetSuccess() {
        return this.success != null;
      }
  
      public void setSuccessIsSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unsetSuccess();
          } else {
            setSuccess((TFetchResultsResp)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return getSuccess();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return isSetSuccess();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof FetchResults_result)
          return this.equals((FetchResults_result)that);
        return false;
      }
  
      public boolean equals(FetchResults_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.isSetSuccess();
        boolean that_present_success = true && that.isSetSuccess();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_success = true && (isSetSuccess());
        builder.append(present_success);
        if (present_success)
          builder.append(success);
  
        return builder.toHashCode();
      }
  
      public int compareTo(FetchResults_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        FetchResults_result typedOther = (FetchResults_result)other;
  
        lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetSuccess()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
        }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("FetchResults_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (success != null) {
          success.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class FetchResults_resultStandardSchemeFactory implements SchemeFactory {
        public FetchResults_resultStandardScheme getScheme() {
          return new FetchResults_resultStandardScheme();
        }
      }
  
      private static class FetchResults_resultStandardScheme extends StandardScheme<FetchResults_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, FetchResults_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.success = new TFetchResultsResp();
                  struct.success.read(iprot);
                  struct.setSuccessIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, FetchResults_result struct) throws org.apache.thrift.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 FetchResults_resultTupleSchemeFactory implements SchemeFactory {
        public FetchResults_resultTupleScheme getScheme() {
          return new FetchResults_resultTupleScheme();
        }
      }
  
      private static class FetchResults_resultTupleScheme extends TupleScheme<FetchResults_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, FetchResults_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetSuccess()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetSuccess()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, FetchResults_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new TFetchResultsResp();
            struct.success.read(iprot);
            struct.setSuccessIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetDelegationToken_args implements org.apache.thrift.TBase<GetDelegationToken_args, GetDelegationToken_args._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetDelegationToken_args");
  
      private static final org.apache.thrift.protocol.TField REQ_FIELD_DESC = new org.apache.thrift.protocol.TField("req", org.apache.thrift.protocol.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 GetDelegationToken_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetDelegationToken_argsTupleSchemeFactory());
      }
  
      private TGetDelegationTokenReq req; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        REQ((short)1, "req");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // REQ
              return REQ;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.REQ, new org.apache.thrift.meta_data.FieldMetaData("req", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetDelegationTokenReq.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetDelegationToken_args.class, metaDataMap);
      }
  
      public GetDelegationToken_args() {
      }
  
      public GetDelegationToken_args(
        TGetDelegationTokenReq req)
      {
        this();
        this.req = req;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetDelegationToken_args(GetDelegationToken_args other) {
        if (other.isSetReq()) {
          this.req = new TGetDelegationTokenReq(other.req);
        }
      }
  
      public GetDelegationToken_args deepCopy() {
        return new GetDelegationToken_args(this);
      }
  
      @Override
      public void clear() {
        this.req = null;
      }
  
      public TGetDelegationTokenReq getReq() {
        return this.req;
      }
  
      public void setReq(TGetDelegationTokenReq req) {
        this.req = req;
      }
  
      public void unsetReq() {
        this.req = null;
      }
  
      /** Returns true if field req is set (has been assigned a value) and false otherwise */
      public boolean isSetReq() {
        return this.req != null;
      }
  
      public void setReqIsSet(boolean value) {
        if (!value) {
          this.req = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case REQ:
          if (value == null) {
            unsetReq();
          } else {
            setReq((TGetDelegationTokenReq)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case REQ:
          return getReq();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case REQ:
          return isSetReq();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetDelegationToken_args)
          return this.equals((GetDelegationToken_args)that);
        return false;
      }
  
      public boolean equals(GetDelegationToken_args that) {
        if (that == null)
          return false;
  
        boolean this_present_req = true && this.isSetReq();
        boolean that_present_req = true && that.isSetReq();
        if (this_present_req || that_present_req) {
          if (!(this_present_req && that_present_req))
            return false;
          if (!this.req.equals(that.req))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_req = true && (isSetReq());
        builder.append(present_req);
        if (present_req)
          builder.append(req);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetDelegationToken_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetDelegationToken_args typedOther = (GetDelegationToken_args)other;
  
        lastComparison = Boolean.valueOf(isSetReq()).compareTo(typedOther.isSetReq());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetReq()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.req, typedOther.req);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetDelegationToken_args(");
        boolean first = true;
  
        sb.append("req:");
        if (this.req == null) {
          sb.append("null");
        } else {
          sb.append(this.req);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (req != null) {
          req.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetDelegationToken_argsStandardSchemeFactory implements SchemeFactory {
        public GetDelegationToken_argsStandardScheme getScheme() {
          return new GetDelegationToken_argsStandardScheme();
        }
      }
  
      private static class GetDelegationToken_argsStandardScheme extends StandardScheme<GetDelegationToken_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetDelegationToken_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 1: // REQ
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.req = new TGetDelegationTokenReq();
                  struct.req.read(iprot);
                  struct.setReqIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetDelegationToken_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.req != null) {
            oprot.writeFieldBegin(REQ_FIELD_DESC);
            struct.req.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class GetDelegationToken_argsTupleSchemeFactory implements SchemeFactory {
        public GetDelegationToken_argsTupleScheme getScheme() {
          return new GetDelegationToken_argsTupleScheme();
        }
      }
  
      private static class GetDelegationToken_argsTupleScheme extends TupleScheme<GetDelegationToken_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetDelegationToken_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetReq()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetReq()) {
            struct.req.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetDelegationToken_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.req = new TGetDelegationTokenReq();
            struct.req.read(iprot);
            struct.setReqIsSet(true);
          }
        }
      }
  
    }
  
    public static class GetDelegationToken_result implements org.apache.thrift.TBase<GetDelegationToken_result, GetDelegationToken_result._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetDelegationToken_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new GetDelegationToken_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new GetDelegationToken_resultTupleSchemeFactory());
      }
  
      private TGetDelegationTokenResp success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TGetDelegationTokenResp.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetDelegationToken_result.class, metaDataMap);
      }
  
      public GetDelegationToken_result() {
      }
  
      public GetDelegationToken_result(
        TGetDelegationTokenResp success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public GetDelegationToken_result(GetDelegationToken_result other) {
        if (other.isSetSuccess()) {
          this.success = new TGetDelegationTokenResp(other.success);
        }
      }
  
      public GetDelegationToken_result deepCopy() {
        return new GetDelegationToken_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public TGetDelegationTokenResp getSuccess() {
        return this.success;
      }
  
      public void setSuccess(TGetDelegationTokenResp success) {
        this.success = success;
      }
  
      public void unsetSuccess() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean isSetSuccess() {
        return this.success != null;
      }
  
      public void setSuccessIsSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unsetSuccess();
          } else {
            setSuccess((TGetDelegationTokenResp)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return getSuccess();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return isSetSuccess();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof GetDelegationToken_result)
          return this.equals((GetDelegationToken_result)that);
        return false;
      }
  
      public boolean equals(GetDelegationToken_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.isSetSuccess();
        boolean that_present_success = true && that.isSetSuccess();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_success = true && (isSetSuccess());
        builder.append(present_success);
        if (present_success)
          builder.append(success);
  
        return builder.toHashCode();
      }
  
      public int compareTo(GetDelegationToken_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        GetDelegationToken_result typedOther = (GetDelegationToken_result)other;
  
        lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetSuccess()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
        }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("GetDelegationToken_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (success != null) {
          success.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class GetDelegationToken_resultStandardSchemeFactory implements SchemeFactory {
        public GetDelegationToken_resultStandardScheme getScheme() {
          return new GetDelegationToken_resultStandardScheme();
        }
      }
  
      private static class GetDelegationToken_resultStandardScheme extends StandardScheme<GetDelegationToken_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, GetDelegationToken_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.success = new TGetDelegationTokenResp();
                  struct.success.read(iprot);
                  struct.setSuccessIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, GetDelegationToken_result struct) throws org.apache.thrift.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 GetDelegationToken_resultTupleSchemeFactory implements SchemeFactory {
        public GetDelegationToken_resultTupleScheme getScheme() {
          return new GetDelegationToken_resultTupleScheme();
        }
      }
  
      private static class GetDelegationToken_resultTupleScheme extends TupleScheme<GetDelegationToken_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, GetDelegationToken_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetSuccess()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetSuccess()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, GetDelegationToken_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new TGetDelegationTokenResp();
            struct.success.read(iprot);
            struct.setSuccessIsSet(true);
          }
        }
      }
  
    }
  
    public static class CancelDelegationToken_args implements org.apache.thrift.TBase<CancelDelegationToken_args, CancelDelegationToken_args._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CancelDelegationToken_args");
  
      private static final org.apache.thrift.protocol.TField REQ_FIELD_DESC = new org.apache.thrift.protocol.TField("req", org.apache.thrift.protocol.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 CancelDelegationToken_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new CancelDelegationToken_argsTupleSchemeFactory());
      }
  
      private TCancelDelegationTokenReq req; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        REQ((short)1, "req");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // REQ
              return REQ;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.REQ, new org.apache.thrift.meta_data.FieldMetaData("req", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TCancelDelegationTokenReq.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(CancelDelegationToken_args.class, metaDataMap);
      }
  
      public CancelDelegationToken_args() {
      }
  
      public CancelDelegationToken_args(
        TCancelDelegationTokenReq req)
      {
        this();
        this.req = req;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public CancelDelegationToken_args(CancelDelegationToken_args other) {
        if (other.isSetReq()) {
          this.req = new TCancelDelegationTokenReq(other.req);
        }
      }
  
      public CancelDelegationToken_args deepCopy() {
        return new CancelDelegationToken_args(this);
      }
  
      @Override
      public void clear() {
        this.req = null;
      }
  
      public TCancelDelegationTokenReq getReq() {
        return this.req;
      }
  
      public void setReq(TCancelDelegationTokenReq req) {
        this.req = req;
      }
  
      public void unsetReq() {
        this.req = null;
      }
  
      /** Returns true if field req is set (has been assigned a value) and false otherwise */
      public boolean isSetReq() {
        return this.req != null;
      }
  
      public void setReqIsSet(boolean value) {
        if (!value) {
          this.req = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case REQ:
          if (value == null) {
            unsetReq();
          } else {
            setReq((TCancelDelegationTokenReq)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case REQ:
          return getReq();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case REQ:
          return isSetReq();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof CancelDelegationToken_args)
          return this.equals((CancelDelegationToken_args)that);
        return false;
      }
  
      public boolean equals(CancelDelegationToken_args that) {
        if (that == null)
          return false;
  
        boolean this_present_req = true && this.isSetReq();
        boolean that_present_req = true && that.isSetReq();
        if (this_present_req || that_present_req) {
          if (!(this_present_req && that_present_req))
            return false;
          if (!this.req.equals(that.req))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_req = true && (isSetReq());
        builder.append(present_req);
        if (present_req)
          builder.append(req);
  
        return builder.toHashCode();
      }
  
      public int compareTo(CancelDelegationToken_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        CancelDelegationToken_args typedOther = (CancelDelegationToken_args)other;
  
        lastComparison = Boolean.valueOf(isSetReq()).compareTo(typedOther.isSetReq());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetReq()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.req, typedOther.req);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("CancelDelegationToken_args(");
        boolean first = true;
  
        sb.append("req:");
        if (this.req == null) {
          sb.append("null");
        } else {
          sb.append(this.req);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (req != null) {
          req.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class CancelDelegationToken_argsStandardSchemeFactory implements SchemeFactory {
        public CancelDelegationToken_argsStandardScheme getScheme() {
          return new CancelDelegationToken_argsStandardScheme();
        }
      }
  
      private static class CancelDelegationToken_argsStandardScheme extends StandardScheme<CancelDelegationToken_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, CancelDelegationToken_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 1: // REQ
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.req = new TCancelDelegationTokenReq();
                  struct.req.read(iprot);
                  struct.setReqIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, CancelDelegationToken_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.req != null) {
            oprot.writeFieldBegin(REQ_FIELD_DESC);
            struct.req.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class CancelDelegationToken_argsTupleSchemeFactory implements SchemeFactory {
        public CancelDelegationToken_argsTupleScheme getScheme() {
          return new CancelDelegationToken_argsTupleScheme();
        }
      }
  
      private static class CancelDelegationToken_argsTupleScheme extends TupleScheme<CancelDelegationToken_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, CancelDelegationToken_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetReq()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetReq()) {
            struct.req.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, CancelDelegationToken_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.req = new TCancelDelegationTokenReq();
            struct.req.read(iprot);
            struct.setReqIsSet(true);
          }
        }
      }
  
    }
  
    public static class CancelDelegationToken_result implements org.apache.thrift.TBase<CancelDelegationToken_result, CancelDelegationToken_result._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CancelDelegationToken_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new CancelDelegationToken_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new CancelDelegationToken_resultTupleSchemeFactory());
      }
  
      private TCancelDelegationTokenResp success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TCancelDelegationTokenResp.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(CancelDelegationToken_result.class, metaDataMap);
      }
  
      public CancelDelegationToken_result() {
      }
  
      public CancelDelegationToken_result(
        TCancelDelegationTokenResp success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public CancelDelegationToken_result(CancelDelegationToken_result other) {
        if (other.isSetSuccess()) {
          this.success = new TCancelDelegationTokenResp(other.success);
        }
      }
  
      public CancelDelegationToken_result deepCopy() {
        return new CancelDelegationToken_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public TCancelDelegationTokenResp getSuccess() {
        return this.success;
      }
  
      public void setSuccess(TCancelDelegationTokenResp success) {
        this.success = success;
      }
  
      public void unsetSuccess() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean isSetSuccess() {
        return this.success != null;
      }
  
      public void setSuccessIsSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unsetSuccess();
          } else {
            setSuccess((TCancelDelegationTokenResp)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return getSuccess();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return isSetSuccess();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof CancelDelegationToken_result)
          return this.equals((CancelDelegationToken_result)that);
        return false;
      }
  
      public boolean equals(CancelDelegationToken_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.isSetSuccess();
        boolean that_present_success = true && that.isSetSuccess();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_success = true && (isSetSuccess());
        builder.append(present_success);
        if (present_success)
          builder.append(success);
  
        return builder.toHashCode();
      }
  
      public int compareTo(CancelDelegationToken_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        CancelDelegationToken_result typedOther = (CancelDelegationToken_result)other;
  
        lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetSuccess()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
        }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("CancelDelegationToken_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (success != null) {
          success.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class CancelDelegationToken_resultStandardSchemeFactory implements SchemeFactory {
        public CancelDelegationToken_resultStandardScheme getScheme() {
          return new CancelDelegationToken_resultStandardScheme();
        }
      }
  
      private static class CancelDelegationToken_resultStandardScheme extends StandardScheme<CancelDelegationToken_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, CancelDelegationToken_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.success = new TCancelDelegationTokenResp();
                  struct.success.read(iprot);
                  struct.setSuccessIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, CancelDelegationToken_result struct) throws org.apache.thrift.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 CancelDelegationToken_resultTupleSchemeFactory implements SchemeFactory {
        public CancelDelegationToken_resultTupleScheme getScheme() {
          return new CancelDelegationToken_resultTupleScheme();
        }
      }
  
      private static class CancelDelegationToken_resultTupleScheme extends TupleScheme<CancelDelegationToken_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, CancelDelegationToken_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetSuccess()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetSuccess()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, CancelDelegationToken_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new TCancelDelegationTokenResp();
            struct.success.read(iprot);
            struct.setSuccessIsSet(true);
          }
        }
      }
  
    }
  
    public static class RenewDelegationToken_args implements org.apache.thrift.TBase<RenewDelegationToken_args, RenewDelegationToken_args._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("RenewDelegationToken_args");
  
      private static final org.apache.thrift.protocol.TField REQ_FIELD_DESC = new org.apache.thrift.protocol.TField("req", org.apache.thrift.protocol.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 RenewDelegationToken_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new RenewDelegationToken_argsTupleSchemeFactory());
      }
  
      private TRenewDelegationTokenReq req; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        REQ((short)1, "req");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // REQ
              return REQ;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.REQ, new org.apache.thrift.meta_data.FieldMetaData("req", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TRenewDelegationTokenReq.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(RenewDelegationToken_args.class, metaDataMap);
      }
  
      public RenewDelegationToken_args() {
      }
  
      public RenewDelegationToken_args(
        TRenewDelegationTokenReq req)
      {
        this();
        this.req = req;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public RenewDelegationToken_args(RenewDelegationToken_args other) {
        if (other.isSetReq()) {
          this.req = new TRenewDelegationTokenReq(other.req);
        }
      }
  
      public RenewDelegationToken_args deepCopy() {
        return new RenewDelegationToken_args(this);
      }
  
      @Override
      public void clear() {
        this.req = null;
      }
  
      public TRenewDelegationTokenReq getReq() {
        return this.req;
      }
  
      public void setReq(TRenewDelegationTokenReq req) {
        this.req = req;
      }
  
      public void unsetReq() {
        this.req = null;
      }
  
      /** Returns true if field req is set (has been assigned a value) and false otherwise */
      public boolean isSetReq() {
        return this.req != null;
      }
  
      public void setReqIsSet(boolean value) {
        if (!value) {
          this.req = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case REQ:
          if (value == null) {
            unsetReq();
          } else {
            setReq((TRenewDelegationTokenReq)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case REQ:
          return getReq();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case REQ:
          return isSetReq();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof RenewDelegationToken_args)
          return this.equals((RenewDelegationToken_args)that);
        return false;
      }
  
      public boolean equals(RenewDelegationToken_args that) {
        if (that == null)
          return false;
  
        boolean this_present_req = true && this.isSetReq();
        boolean that_present_req = true && that.isSetReq();
        if (this_present_req || that_present_req) {
          if (!(this_present_req && that_present_req))
            return false;
          if (!this.req.equals(that.req))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_req = true && (isSetReq());
        builder.append(present_req);
        if (present_req)
          builder.append(req);
  
        return builder.toHashCode();
      }
  
      public int compareTo(RenewDelegationToken_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        RenewDelegationToken_args typedOther = (RenewDelegationToken_args)other;
  
        lastComparison = Boolean.valueOf(isSetReq()).compareTo(typedOther.isSetReq());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetReq()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.req, typedOther.req);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("RenewDelegationToken_args(");
        boolean first = true;
  
        sb.append("req:");
        if (this.req == null) {
          sb.append("null");
        } else {
          sb.append(this.req);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (req != null) {
          req.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class RenewDelegationToken_argsStandardSchemeFactory implements SchemeFactory {
        public RenewDelegationToken_argsStandardScheme getScheme() {
          return new RenewDelegationToken_argsStandardScheme();
        }
      }
  
      private static class RenewDelegationToken_argsStandardScheme extends StandardScheme<RenewDelegationToken_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, RenewDelegationToken_args struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 1: // REQ
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.req = new TRenewDelegationTokenReq();
                  struct.req.read(iprot);
                  struct.setReqIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, RenewDelegationToken_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.req != null) {
            oprot.writeFieldBegin(REQ_FIELD_DESC);
            struct.req.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class RenewDelegationToken_argsTupleSchemeFactory implements SchemeFactory {
        public RenewDelegationToken_argsTupleScheme getScheme() {
          return new RenewDelegationToken_argsTupleScheme();
        }
      }
  
      private static class RenewDelegationToken_argsTupleScheme extends TupleScheme<RenewDelegationToken_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, RenewDelegationToken_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetReq()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetReq()) {
            struct.req.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, RenewDelegationToken_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.req = new TRenewDelegationTokenReq();
            struct.req.read(iprot);
            struct.setReqIsSet(true);
          }
        }
      }
  
    }
  
    public static class RenewDelegationToken_result implements org.apache.thrift.TBase<RenewDelegationToken_result, RenewDelegationToken_result._Fields>, java.io.Serializable, Cloneable   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("RenewDelegationToken_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new RenewDelegationToken_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new RenewDelegationToken_resultTupleSchemeFactory());
      }
  
      private TRenewDelegationTokenResp success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TRenewDelegationTokenResp.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(RenewDelegationToken_result.class, metaDataMap);
      }
  
      public RenewDelegationToken_result() {
      }
  
      public RenewDelegationToken_result(
        TRenewDelegationTokenResp success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public RenewDelegationToken_result(RenewDelegationToken_result other) {
        if (other.isSetSuccess()) {
          this.success = new TRenewDelegationTokenResp(other.success);
        }
      }
  
      public RenewDelegationToken_result deepCopy() {
        return new RenewDelegationToken_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public TRenewDelegationTokenResp getSuccess() {
        return this.success;
      }
  
      public void setSuccess(TRenewDelegationTokenResp success) {
        this.success = success;
      }
  
      public void unsetSuccess() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean isSetSuccess() {
        return this.success != null;
      }
  
      public void setSuccessIsSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unsetSuccess();
          } else {
            setSuccess((TRenewDelegationTokenResp)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return getSuccess();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return isSetSuccess();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof RenewDelegationToken_result)
          return this.equals((RenewDelegationToken_result)that);
        return false;
      }
  
      public boolean equals(RenewDelegationToken_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.isSetSuccess();
        boolean that_present_success = true && that.isSetSuccess();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        HashCodeBuilder builder = new HashCodeBuilder();
  
        boolean present_success = true && (isSetSuccess());
        builder.append(present_success);
        if (present_success)
          builder.append(success);
  
        return builder.toHashCode();
      }
  
      public int compareTo(RenewDelegationToken_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
        RenewDelegationToken_result typedOther = (RenewDelegationToken_result)other;
  
        lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (isSetSuccess()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
        schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
        }
  
      @Override
      public String toString() {
        StringBuilder sb = new StringBuilder("RenewDelegationToken_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
        if (success != null) {
          success.validate();
        }
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private static class RenewDelegationToken_resultStandardSchemeFactory implements SchemeFactory {
        public RenewDelegationToken_resultStandardScheme getScheme() {
          return new RenewDelegationToken_resultStandardScheme();
        }
      }
  
      private static class RenewDelegationToken_resultStandardScheme extends StandardScheme<RenewDelegationToken_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, RenewDelegationToken_result struct) throws org.apache.thrift.TException {
          org.apache.thrift.protocol.TField schemeField;
          iprot.readStructBegin();
          while (true)
          {
            schemeField = iprot.readFieldBegin();
            if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
              break;
            }
            switch (schemeField.id) {
              case 0: // SUCCESS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.success = new TRenewDelegationTokenResp();
                  struct.success.read(iprot);
                  struct.setSuccessIsSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              default:
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            iprot.readFieldEnd();
          }
          iprot.readStructEnd();
          struct.validate();
        }
  
        public void write(org.apache.thrift.protocol.TProtocol oprot, RenewDelegationToken_result struct) throws org.apache.thrift.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 RenewDelegationToken_resultTupleSchemeFactory implements SchemeFactory {
        public RenewDelegationToken_resultTupleScheme getScheme() {
          return new RenewDelegationToken_resultTupleScheme();
        }
      }
  
      private static class RenewDelegationToken_resultTupleScheme extends TupleScheme<RenewDelegationToken_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, RenewDelegationToken_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.isSetSuccess()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.isSetSuccess()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, RenewDelegationToken_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new TRenewDelegationTokenResp();
            struct.success.read(iprot);
            struct.setSuccessIsSet(true);
          }
        }
      }
  
    }
  
  }
  