content: /**
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance
   * with the License.  You may obtain a copy of the License at
   *
   * http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  /**
   * Autogenerated by Thrift Compiler (0.9.2)
   *
   * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
   *  @generated
   */
  package backtype.storm.generated;
  
  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 org.apache.thrift.async.AsyncMethodCallback;
  import org.apache.thrift.server.AbstractNonblockingServer.*;
  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 javax.annotation.Generated;
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
  @Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2017-2-22")
  public class Nimbus {
  
    public interface Iface {
  
      public String submitTopology(String name, String uploadedJarLocation, String jsonConf, StormTopology topology) throws AlreadyAliveException, InvalidTopologyException, TopologyAssignException, org.apache.thrift.TException;
  
      public String submitTopologyWithOpts(String name, String uploadedJarLocation, String jsonConf, StormTopology topology, SubmitOptions options) throws AlreadyAliveException, InvalidTopologyException, TopologyAssignException, org.apache.thrift.TException;
  
      public void killTopology(String name) throws NotAliveException, org.apache.thrift.TException;
  
      public void killTopologyWithOpts(String name, KillOptions options) throws NotAliveException, org.apache.thrift.TException;
  
      public void activate(String name) throws NotAliveException, org.apache.thrift.TException;
  
      public void deactivate(String name) throws NotAliveException, org.apache.thrift.TException;
  
      public void rebalance(String name, RebalanceOptions options) throws NotAliveException, InvalidTopologyException, org.apache.thrift.TException;
  
      public void metricMonitor(String name, MonitorOptions options) throws NotAliveException, org.apache.thrift.TException;
  
      public void restart(String name, String jsonConf) throws NotAliveException, InvalidTopologyException, TopologyAssignException, org.apache.thrift.TException;
  
      public String beginCreateBlob(String key, SettableBlobMeta meta) throws KeyAlreadyExistsException, org.apache.thrift.TException;
  
      public String beginUpdateBlob(String key) throws KeyNotFoundException, org.apache.thrift.TException;
  
      public void uploadBlobChunk(String session, ByteBuffer chunk) throws org.apache.thrift.TException;
  
      public void finishBlobUpload(String session) throws org.apache.thrift.TException;
  
      public void cancelBlobUpload(String session) throws org.apache.thrift.TException;
  
      public ReadableBlobMeta getBlobMeta(String key) throws KeyNotFoundException, org.apache.thrift.TException;
  
      public void setBlobMeta(String key, SettableBlobMeta meta) throws KeyNotFoundException, org.apache.thrift.TException;
  
      public BeginDownloadResult beginBlobDownload(String key) throws KeyNotFoundException, org.apache.thrift.TException;
  
      public ByteBuffer downloadBlobChunk(String session) throws org.apache.thrift.TException;
  
      public void deleteBlob(String key) throws KeyNotFoundException, org.apache.thrift.TException;
  
      public ListBlobsResult listBlobs(String session) throws org.apache.thrift.TException;
  
      public int getBlobReplication(String key) throws KeyNotFoundException, org.apache.thrift.TException;
  
      public int updateBlobReplication(String key, int replication) throws KeyNotFoundException, org.apache.thrift.TException;
  
      public void createStateInZookeeper(String key) throws org.apache.thrift.TException;
  
      public void beginLibUpload(String libName) throws org.apache.thrift.TException;
  
      public String beginFileUpload() throws org.apache.thrift.TException;
  
      public void uploadChunk(String location, ByteBuffer chunk) throws org.apache.thrift.TException;
  
      public void finishFileUpload(String location) throws org.apache.thrift.TException;
  
      public String beginFileDownload(String file) throws org.apache.thrift.TException;
  
      public ByteBuffer downloadChunk(String id) throws org.apache.thrift.TException;
  
      public void finishFileDownload(String id) throws org.apache.thrift.TException;
  
      public String getNimbusConf() throws org.apache.thrift.TException;
  
      public String getStormRawConf() throws org.apache.thrift.TException;
  
      public String getSupervisorConf(String id) throws org.apache.thrift.TException;
  
      public String getTopologyConf(String id) throws NotAliveException, org.apache.thrift.TException;
  
      public String getTopologyId(String topologyName) throws NotAliveException, org.apache.thrift.TException;
  
      public ClusterSummary getClusterInfo() throws org.apache.thrift.TException;
  
      public SupervisorWorkers getSupervisorWorkers(String host) throws NotAliveException, org.apache.thrift.TException;
  
      public SupervisorWorkers getSupervisorWorkersById(String id) throws NotAliveException, org.apache.thrift.TException;
  
      public TopologyInfo getTopologyInfo(String id) throws NotAliveException, org.apache.thrift.TException;
  
      public TopologyInfo getTopologyInfoByName(String topologyName) throws NotAliveException, org.apache.thrift.TException;
  
      public Map<Integer,String> getTopologyTasksToSupervisorIds(String topologyName) throws NotAliveException, org.apache.thrift.TException;
  
      public Map<String,Map<String,String>> getTopologyWorkersToSupervisorIds(String topologyName) throws NotAliveException, org.apache.thrift.TException;
  
      public StormTopology getTopology(String id) throws NotAliveException, org.apache.thrift.TException;
  
      public StormTopology getUserTopology(String id) throws NotAliveException, org.apache.thrift.TException;
  
      public void notifyThisTopologyTasksIsDead(String topologyId) throws org.apache.thrift.TException;
  
      public void uploadTopologyMetrics(String topologyId, TopologyMetric topologyMetrics) throws org.apache.thrift.TException;
  
      public Map<String,Long> registerMetrics(String topologyId, Set<String> metrics) throws org.apache.thrift.TException;
  
      public TopologyMetric getTopologyMetrics(String topologyId) throws org.apache.thrift.TException;
  
      public List<MetricInfo> getMetrics(String topologyId, int type) throws org.apache.thrift.TException;
  
      public MetricInfo getNettyMetrics(String topologyId) throws org.apache.thrift.TException;
  
      public MetricInfo getNettyMetricsByHost(String topologyId, String host) throws org.apache.thrift.TException;
  
      public MetricInfo getPagingNettyMetrics(String topologyId, String host, int page) throws org.apache.thrift.TException;
  
      public int getNettyMetricSizeByHost(String topologyId, String host) throws org.apache.thrift.TException;
  
      public MetricInfo getTaskMetrics(String topologyId, String component) throws org.apache.thrift.TException;
  
      public List<MetricInfo> getTaskAndStreamMetrics(String topologyId, int taskId) throws org.apache.thrift.TException;
  
      public List<MetricInfo> getSummarizedTopologyMetrics(String topologyId) throws org.apache.thrift.TException;
  
      public String getVersion() throws org.apache.thrift.TException;
  
      public void updateTopology(String name, String uploadedLocation, String updateConf) throws NotAliveException, InvalidTopologyException, org.apache.thrift.TException;
  
      public void updateTaskHeartbeat(TopologyTaskHbInfo taskHbs) throws org.apache.thrift.TException;
  
      public void setHostInBlackList(String host) throws org.apache.thrift.TException;
  
      public void removeHostOutBlackList(String host) throws org.apache.thrift.TException;
  
      public void deleteMetricMeta(String topologyId, int metaType, List<String> idList) throws org.apache.thrift.TException;
  
      public void grayUpgrade(String topologyName, String component, List<String> workers, int workerNum) throws org.apache.thrift.TException;
  
      public void rollbackTopology(String topologyName) throws org.apache.thrift.TException;
  
      public void completeUpgrade(String topologyName) throws org.apache.thrift.TException;
  
    }
  
    public interface AsyncIface {
  
      public void submitTopology(String name, String uploadedJarLocation, String jsonConf, StormTopology topology, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void submitTopologyWithOpts(String name, String uploadedJarLocation, String jsonConf, StormTopology topology, SubmitOptions options, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void killTopology(String name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void killTopologyWithOpts(String name, KillOptions options, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void activate(String name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void deactivate(String name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void rebalance(String name, RebalanceOptions options, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void metricMonitor(String name, MonitorOptions options, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void restart(String name, String jsonConf, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void beginCreateBlob(String key, SettableBlobMeta meta, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void beginUpdateBlob(String key, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void uploadBlobChunk(String session, ByteBuffer chunk, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void finishBlobUpload(String session, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void cancelBlobUpload(String session, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getBlobMeta(String key, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void setBlobMeta(String key, SettableBlobMeta meta, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void beginBlobDownload(String key, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void downloadBlobChunk(String session, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void deleteBlob(String key, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void listBlobs(String session, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getBlobReplication(String key, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void updateBlobReplication(String key, int replication, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void createStateInZookeeper(String key, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void beginLibUpload(String libName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void beginFileUpload(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void uploadChunk(String location, ByteBuffer chunk, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void finishFileUpload(String location, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void beginFileDownload(String file, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void downloadChunk(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void finishFileDownload(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getNimbusConf(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getStormRawConf(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getSupervisorConf(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getTopologyConf(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getTopologyId(String topologyName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getClusterInfo(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getSupervisorWorkers(String host, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getSupervisorWorkersById(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getTopologyInfo(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getTopologyInfoByName(String topologyName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getTopologyTasksToSupervisorIds(String topologyName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getTopologyWorkersToSupervisorIds(String topologyName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getTopology(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getUserTopology(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void notifyThisTopologyTasksIsDead(String topologyId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void uploadTopologyMetrics(String topologyId, TopologyMetric topologyMetrics, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void registerMetrics(String topologyId, Set<String> metrics, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getTopologyMetrics(String topologyId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getMetrics(String topologyId, int type, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getNettyMetrics(String topologyId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getNettyMetricsByHost(String topologyId, String host, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getPagingNettyMetrics(String topologyId, String host, int page, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getNettyMetricSizeByHost(String topologyId, String host, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getTaskMetrics(String topologyId, String component, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getTaskAndStreamMetrics(String topologyId, int taskId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getSummarizedTopologyMetrics(String topologyId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void getVersion(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void updateTopology(String name, String uploadedLocation, String updateConf, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void updateTaskHeartbeat(TopologyTaskHbInfo taskHbs, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void setHostInBlackList(String host, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void removeHostOutBlackList(String host, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void deleteMetricMeta(String topologyId, int metaType, List<String> idList, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void grayUpgrade(String topologyName, String component, List<String> workers, int workerNum, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void rollbackTopology(String topologyName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
      public void completeUpgrade(String topologyName, org.apache.thrift.async.AsyncMethodCallback 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 String submitTopology(String name, String uploadedJarLocation, String jsonConf, StormTopology topology) throws AlreadyAliveException, InvalidTopologyException, TopologyAssignException, org.apache.thrift.TException
      {
        send_submitTopology(name, uploadedJarLocation, jsonConf, topology);
        return recv_submitTopology();
      }
  
      public void send_submitTopology(String name, String uploadedJarLocation, String jsonConf, StormTopology topology) throws org.apache.thrift.TException
      {
        submitTopology_args args = new submitTopology_args();
        args.set_name(name);
        args.set_uploadedJarLocation(uploadedJarLocation);
        args.set_jsonConf(jsonConf);
        args.set_topology(topology);
        sendBase("submitTopology", args);
      }
  
      public String recv_submitTopology() throws AlreadyAliveException, InvalidTopologyException, TopologyAssignException, org.apache.thrift.TException
      {
        submitTopology_result result = new submitTopology_result();
        receiveBase(result, "submitTopology");
        if (result.is_set_success()) {
          return result.success;
        }
        if (result.e != null) {
          throw result.e;
        }
        if (result.ite != null) {
          throw result.ite;
        }
        if (result.tae != null) {
          throw result.tae;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "submitTopology failed: unknown result");
      }
  
      public String submitTopologyWithOpts(String name, String uploadedJarLocation, String jsonConf, StormTopology topology, SubmitOptions options) throws AlreadyAliveException, InvalidTopologyException, TopologyAssignException, org.apache.thrift.TException
      {
        send_submitTopologyWithOpts(name, uploadedJarLocation, jsonConf, topology, options);
        return recv_submitTopologyWithOpts();
      }
  
      public void send_submitTopologyWithOpts(String name, String uploadedJarLocation, String jsonConf, StormTopology topology, SubmitOptions options) throws org.apache.thrift.TException
      {
        submitTopologyWithOpts_args args = new submitTopologyWithOpts_args();
        args.set_name(name);
        args.set_uploadedJarLocation(uploadedJarLocation);
        args.set_jsonConf(jsonConf);
        args.set_topology(topology);
        args.set_options(options);
        sendBase("submitTopologyWithOpts", args);
      }
  
      public String recv_submitTopologyWithOpts() throws AlreadyAliveException, InvalidTopologyException, TopologyAssignException, org.apache.thrift.TException
      {
        submitTopologyWithOpts_result result = new submitTopologyWithOpts_result();
        receiveBase(result, "submitTopologyWithOpts");
        if (result.is_set_success()) {
          return result.success;
        }
        if (result.e != null) {
          throw result.e;
        }
        if (result.ite != null) {
          throw result.ite;
        }
        if (result.tae != null) {
          throw result.tae;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "submitTopologyWithOpts failed: unknown result");
      }
  
      public void killTopology(String name) throws NotAliveException, org.apache.thrift.TException
      {
        send_killTopology(name);
        recv_killTopology();
      }
  
      public void send_killTopology(String name) throws org.apache.thrift.TException
      {
        killTopology_args args = new killTopology_args();
        args.set_name(name);
        sendBase("killTopology", args);
      }
  
      public void recv_killTopology() throws NotAliveException, org.apache.thrift.TException
      {
        killTopology_result result = new killTopology_result();
        receiveBase(result, "killTopology");
        if (result.e != null) {
          throw result.e;
        }
        return;
      }
  
      public void killTopologyWithOpts(String name, KillOptions options) throws NotAliveException, org.apache.thrift.TException
      {
        send_killTopologyWithOpts(name, options);
        recv_killTopologyWithOpts();
      }
  
      public void send_killTopologyWithOpts(String name, KillOptions options) throws org.apache.thrift.TException
      {
        killTopologyWithOpts_args args = new killTopologyWithOpts_args();
        args.set_name(name);
        args.set_options(options);
        sendBase("killTopologyWithOpts", args);
      }
  
      public void recv_killTopologyWithOpts() throws NotAliveException, org.apache.thrift.TException
      {
        killTopologyWithOpts_result result = new killTopologyWithOpts_result();
        receiveBase(result, "killTopologyWithOpts");
        if (result.e != null) {
          throw result.e;
        }
        return;
      }
  
      public void activate(String name) throws NotAliveException, org.apache.thrift.TException
      {
        send_activate(name);
        recv_activate();
      }
  
      public void send_activate(String name) throws org.apache.thrift.TException
      {
        activate_args args = new activate_args();
        args.set_name(name);
        sendBase("activate", args);
      }
  
      public void recv_activate() throws NotAliveException, org.apache.thrift.TException
      {
        activate_result result = new activate_result();
        receiveBase(result, "activate");
        if (result.e != null) {
          throw result.e;
        }
        return;
      }
  
      public void deactivate(String name) throws NotAliveException, org.apache.thrift.TException
      {
        send_deactivate(name);
        recv_deactivate();
      }
  
      public void send_deactivate(String name) throws org.apache.thrift.TException
      {
        deactivate_args args = new deactivate_args();
        args.set_name(name);
        sendBase("deactivate", args);
      }
  
      public void recv_deactivate() throws NotAliveException, org.apache.thrift.TException
      {
        deactivate_result result = new deactivate_result();
        receiveBase(result, "deactivate");
        if (result.e != null) {
          throw result.e;
        }
        return;
      }
  
      public void rebalance(String name, RebalanceOptions options) throws NotAliveException, InvalidTopologyException, org.apache.thrift.TException
      {
        send_rebalance(name, options);
        recv_rebalance();
      }
  
      public void send_rebalance(String name, RebalanceOptions options) throws org.apache.thrift.TException
      {
        rebalance_args args = new rebalance_args();
        args.set_name(name);
        args.set_options(options);
        sendBase("rebalance", args);
      }
  
      public void recv_rebalance() throws NotAliveException, InvalidTopologyException, org.apache.thrift.TException
      {
        rebalance_result result = new rebalance_result();
        receiveBase(result, "rebalance");
        if (result.e != null) {
          throw result.e;
        }
        if (result.ite != null) {
          throw result.ite;
        }
        return;
      }
  
      public void metricMonitor(String name, MonitorOptions options) throws NotAliveException, org.apache.thrift.TException
      {
        send_metricMonitor(name, options);
        recv_metricMonitor();
      }
  
      public void send_metricMonitor(String name, MonitorOptions options) throws org.apache.thrift.TException
      {
        metricMonitor_args args = new metricMonitor_args();
        args.set_name(name);
        args.set_options(options);
        sendBase("metricMonitor", args);
      }
  
      public void recv_metricMonitor() throws NotAliveException, org.apache.thrift.TException
      {
        metricMonitor_result result = new metricMonitor_result();
        receiveBase(result, "metricMonitor");
        if (result.e != null) {
          throw result.e;
        }
        return;
      }
  
      public void restart(String name, String jsonConf) throws NotAliveException, InvalidTopologyException, TopologyAssignException, org.apache.thrift.TException
      {
        send_restart(name, jsonConf);
        recv_restart();
      }
  
      public void send_restart(String name, String jsonConf) throws org.apache.thrift.TException
      {
        restart_args args = new restart_args();
        args.set_name(name);
        args.set_jsonConf(jsonConf);
        sendBase("restart", args);
      }
  
      public void recv_restart() throws NotAliveException, InvalidTopologyException, TopologyAssignException, org.apache.thrift.TException
      {
        restart_result result = new restart_result();
        receiveBase(result, "restart");
        if (result.e != null) {
          throw result.e;
        }
        if (result.ite != null) {
          throw result.ite;
        }
        if (result.tae != null) {
          throw result.tae;
        }
        return;
      }
  
      public String beginCreateBlob(String key, SettableBlobMeta meta) throws KeyAlreadyExistsException, org.apache.thrift.TException
      {
        send_beginCreateBlob(key, meta);
        return recv_beginCreateBlob();
      }
  
      public void send_beginCreateBlob(String key, SettableBlobMeta meta) throws org.apache.thrift.TException
      {
        beginCreateBlob_args args = new beginCreateBlob_args();
        args.set_key(key);
        args.set_meta(meta);
        sendBase("beginCreateBlob", args);
      }
  
      public String recv_beginCreateBlob() throws KeyAlreadyExistsException, org.apache.thrift.TException
      {
        beginCreateBlob_result result = new beginCreateBlob_result();
        receiveBase(result, "beginCreateBlob");
        if (result.is_set_success()) {
          return result.success;
        }
        if (result.kae != null) {
          throw result.kae;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "beginCreateBlob failed: unknown result");
      }
  
      public String beginUpdateBlob(String key) throws KeyNotFoundException, org.apache.thrift.TException
      {
        send_beginUpdateBlob(key);
        return recv_beginUpdateBlob();
      }
  
      public void send_beginUpdateBlob(String key) throws org.apache.thrift.TException
      {
        beginUpdateBlob_args args = new beginUpdateBlob_args();
        args.set_key(key);
        sendBase("beginUpdateBlob", args);
      }
  
      public String recv_beginUpdateBlob() throws KeyNotFoundException, org.apache.thrift.TException
      {
        beginUpdateBlob_result result = new beginUpdateBlob_result();
        receiveBase(result, "beginUpdateBlob");
        if (result.is_set_success()) {
          return result.success;
        }
        if (result.knf != null) {
          throw result.knf;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "beginUpdateBlob failed: unknown result");
      }
  
      public void uploadBlobChunk(String session, ByteBuffer chunk) throws org.apache.thrift.TException
      {
        send_uploadBlobChunk(session, chunk);
        recv_uploadBlobChunk();
      }
  
      public void send_uploadBlobChunk(String session, ByteBuffer chunk) throws org.apache.thrift.TException
      {
        uploadBlobChunk_args args = new uploadBlobChunk_args();
        args.set_session(session);
        args.set_chunk(chunk);
        sendBase("uploadBlobChunk", args);
      }
  
      public void recv_uploadBlobChunk() throws org.apache.thrift.TException
      {
        uploadBlobChunk_result result = new uploadBlobChunk_result();
        receiveBase(result, "uploadBlobChunk");
        return;
      }
  
      public void finishBlobUpload(String session) throws org.apache.thrift.TException
      {
        send_finishBlobUpload(session);
        recv_finishBlobUpload();
      }
  
      public void send_finishBlobUpload(String session) throws org.apache.thrift.TException
      {
        finishBlobUpload_args args = new finishBlobUpload_args();
        args.set_session(session);
        sendBase("finishBlobUpload", args);
      }
  
      public void recv_finishBlobUpload() throws org.apache.thrift.TException
      {
        finishBlobUpload_result result = new finishBlobUpload_result();
        receiveBase(result, "finishBlobUpload");
        return;
      }
  
      public void cancelBlobUpload(String session) throws org.apache.thrift.TException
      {
        send_cancelBlobUpload(session);
        recv_cancelBlobUpload();
      }
  
      public void send_cancelBlobUpload(String session) throws org.apache.thrift.TException
      {
        cancelBlobUpload_args args = new cancelBlobUpload_args();
        args.set_session(session);
        sendBase("cancelBlobUpload", args);
      }
  
      public void recv_cancelBlobUpload() throws org.apache.thrift.TException
      {
        cancelBlobUpload_result result = new cancelBlobUpload_result();
        receiveBase(result, "cancelBlobUpload");
        return;
      }
  
      public ReadableBlobMeta getBlobMeta(String key) throws KeyNotFoundException, org.apache.thrift.TException
      {
        send_getBlobMeta(key);
        return recv_getBlobMeta();
      }
  
      public void send_getBlobMeta(String key) throws org.apache.thrift.TException
      {
        getBlobMeta_args args = new getBlobMeta_args();
        args.set_key(key);
        sendBase("getBlobMeta", args);
      }
  
      public ReadableBlobMeta recv_getBlobMeta() throws KeyNotFoundException, org.apache.thrift.TException
      {
        getBlobMeta_result result = new getBlobMeta_result();
        receiveBase(result, "getBlobMeta");
        if (result.is_set_success()) {
          return result.success;
        }
        if (result.knf != null) {
          throw result.knf;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getBlobMeta failed: unknown result");
      }
  
      public void setBlobMeta(String key, SettableBlobMeta meta) throws KeyNotFoundException, org.apache.thrift.TException
      {
        send_setBlobMeta(key, meta);
        recv_setBlobMeta();
      }
  
      public void send_setBlobMeta(String key, SettableBlobMeta meta) throws org.apache.thrift.TException
      {
        setBlobMeta_args args = new setBlobMeta_args();
        args.set_key(key);
        args.set_meta(meta);
        sendBase("setBlobMeta", args);
      }
  
      public void recv_setBlobMeta() throws KeyNotFoundException, org.apache.thrift.TException
      {
        setBlobMeta_result result = new setBlobMeta_result();
        receiveBase(result, "setBlobMeta");
        if (result.knf != null) {
          throw result.knf;
        }
        return;
      }
  
      public BeginDownloadResult beginBlobDownload(String key) throws KeyNotFoundException, org.apache.thrift.TException
      {
        send_beginBlobDownload(key);
        return recv_beginBlobDownload();
      }
  
      public void send_beginBlobDownload(String key) throws org.apache.thrift.TException
      {
        beginBlobDownload_args args = new beginBlobDownload_args();
        args.set_key(key);
        sendBase("beginBlobDownload", args);
      }
  
      public BeginDownloadResult recv_beginBlobDownload() throws KeyNotFoundException, org.apache.thrift.TException
      {
        beginBlobDownload_result result = new beginBlobDownload_result();
        receiveBase(result, "beginBlobDownload");
        if (result.is_set_success()) {
          return result.success;
        }
        if (result.knf != null) {
          throw result.knf;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "beginBlobDownload failed: unknown result");
      }
  
      public ByteBuffer downloadBlobChunk(String session) throws org.apache.thrift.TException
      {
        send_downloadBlobChunk(session);
        return recv_downloadBlobChunk();
      }
  
      public void send_downloadBlobChunk(String session) throws org.apache.thrift.TException
      {
        downloadBlobChunk_args args = new downloadBlobChunk_args();
        args.set_session(session);
        sendBase("downloadBlobChunk", args);
      }
  
      public ByteBuffer recv_downloadBlobChunk() throws org.apache.thrift.TException
      {
        downloadBlobChunk_result result = new downloadBlobChunk_result();
        receiveBase(result, "downloadBlobChunk");
        if (result.is_set_success()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "downloadBlobChunk failed: unknown result");
      }
  
      public void deleteBlob(String key) throws KeyNotFoundException, org.apache.thrift.TException
      {
        send_deleteBlob(key);
        recv_deleteBlob();
      }
  
      public void send_deleteBlob(String key) throws org.apache.thrift.TException
      {
        deleteBlob_args args = new deleteBlob_args();
        args.set_key(key);
        sendBase("deleteBlob", args);
      }
  
      public void recv_deleteBlob() throws KeyNotFoundException, org.apache.thrift.TException
      {
        deleteBlob_result result = new deleteBlob_result();
        receiveBase(result, "deleteBlob");
        if (result.knf != null) {
          throw result.knf;
        }
        return;
      }
  
      public ListBlobsResult listBlobs(String session) throws org.apache.thrift.TException
      {
        send_listBlobs(session);
        return recv_listBlobs();
      }
  
      public void send_listBlobs(String session) throws org.apache.thrift.TException
      {
        listBlobs_args args = new listBlobs_args();
        args.set_session(session);
        sendBase("listBlobs", args);
      }
  
      public ListBlobsResult recv_listBlobs() throws org.apache.thrift.TException
      {
        listBlobs_result result = new listBlobs_result();
        receiveBase(result, "listBlobs");
        if (result.is_set_success()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "listBlobs failed: unknown result");
      }
  
      public int getBlobReplication(String key) throws KeyNotFoundException, org.apache.thrift.TException
      {
        send_getBlobReplication(key);
        return recv_getBlobReplication();
      }
  
      public void send_getBlobReplication(String key) throws org.apache.thrift.TException
      {
        getBlobReplication_args args = new getBlobReplication_args();
        args.set_key(key);
        sendBase("getBlobReplication", args);
      }
  
      public int recv_getBlobReplication() throws KeyNotFoundException, org.apache.thrift.TException
      {
        getBlobReplication_result result = new getBlobReplication_result();
        receiveBase(result, "getBlobReplication");
        if (result.is_set_success()) {
          return result.success;
        }
        if (result.knf != null) {
          throw result.knf;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getBlobReplication failed: unknown result");
      }
  
      public int updateBlobReplication(String key, int replication) throws KeyNotFoundException, org.apache.thrift.TException
      {
        send_updateBlobReplication(key, replication);
        return recv_updateBlobReplication();
      }
  
      public void send_updateBlobReplication(String key, int replication) throws org.apache.thrift.TException
      {
        updateBlobReplication_args args = new updateBlobReplication_args();
        args.set_key(key);
        args.set_replication(replication);
        sendBase("updateBlobReplication", args);
      }
  
      public int recv_updateBlobReplication() throws KeyNotFoundException, org.apache.thrift.TException
      {
        updateBlobReplication_result result = new updateBlobReplication_result();
        receiveBase(result, "updateBlobReplication");
        if (result.is_set_success()) {
          return result.success;
        }
        if (result.knf != null) {
          throw result.knf;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateBlobReplication failed: unknown result");
      }
  
      public void createStateInZookeeper(String key) throws org.apache.thrift.TException
      {
        send_createStateInZookeeper(key);
        recv_createStateInZookeeper();
      }
  
      public void send_createStateInZookeeper(String key) throws org.apache.thrift.TException
      {
        createStateInZookeeper_args args = new createStateInZookeeper_args();
        args.set_key(key);
        sendBase("createStateInZookeeper", args);
      }
  
      public void recv_createStateInZookeeper() throws org.apache.thrift.TException
      {
        createStateInZookeeper_result result = new createStateInZookeeper_result();
        receiveBase(result, "createStateInZookeeper");
        return;
      }
  
      public void beginLibUpload(String libName) throws org.apache.thrift.TException
      {
        send_beginLibUpload(libName);
        recv_beginLibUpload();
      }
  
      public void send_beginLibUpload(String libName) throws org.apache.thrift.TException
      {
        beginLibUpload_args args = new beginLibUpload_args();
        args.set_libName(libName);
        sendBase("beginLibUpload", args);
      }
  
      public void recv_beginLibUpload() throws org.apache.thrift.TException
      {
        beginLibUpload_result result = new beginLibUpload_result();
        receiveBase(result, "beginLibUpload");
        return;
      }
  
      public String beginFileUpload() throws org.apache.thrift.TException
      {
        send_beginFileUpload();
        return recv_beginFileUpload();
      }
  
      public void send_beginFileUpload() throws org.apache.thrift.TException
      {
        beginFileUpload_args args = new beginFileUpload_args();
        sendBase("beginFileUpload", args);
      }
  
      public String recv_beginFileUpload() throws org.apache.thrift.TException
      {
        beginFileUpload_result result = new beginFileUpload_result();
        receiveBase(result, "beginFileUpload");
        if (result.is_set_success()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "beginFileUpload failed: unknown result");
      }
  
      public void uploadChunk(String location, ByteBuffer chunk) throws org.apache.thrift.TException
      {
        send_uploadChunk(location, chunk);
        recv_uploadChunk();
      }
  
      public void send_uploadChunk(String location, ByteBuffer chunk) throws org.apache.thrift.TException
      {
        uploadChunk_args args = new uploadChunk_args();
        args.set_location(location);
        args.set_chunk(chunk);
        sendBase("uploadChunk", args);
      }
  
      public void recv_uploadChunk() throws org.apache.thrift.TException
      {
        uploadChunk_result result = new uploadChunk_result();
        receiveBase(result, "uploadChunk");
        return;
      }
  
      public void finishFileUpload(String location) throws org.apache.thrift.TException
      {
        send_finishFileUpload(location);
        recv_finishFileUpload();
      }
  
      public void send_finishFileUpload(String location) throws org.apache.thrift.TException
      {
        finishFileUpload_args args = new finishFileUpload_args();
        args.set_location(location);
        sendBase("finishFileUpload", args);
      }
  
      public void recv_finishFileUpload() throws org.apache.thrift.TException
      {
        finishFileUpload_result result = new finishFileUpload_result();
        receiveBase(result, "finishFileUpload");
        return;
      }
  
      public String beginFileDownload(String file) throws org.apache.thrift.TException
      {
        send_beginFileDownload(file);
        return recv_beginFileDownload();
      }
  
      public void send_beginFileDownload(String file) throws org.apache.thrift.TException
      {
        beginFileDownload_args args = new beginFileDownload_args();
        args.set_file(file);
        sendBase("beginFileDownload", args);
      }
  
      public String recv_beginFileDownload() throws org.apache.thrift.TException
      {
        beginFileDownload_result result = new beginFileDownload_result();
        receiveBase(result, "beginFileDownload");
        if (result.is_set_success()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "beginFileDownload failed: unknown result");
      }
  
      public ByteBuffer downloadChunk(String id) throws org.apache.thrift.TException
      {
        send_downloadChunk(id);
        return recv_downloadChunk();
      }
  
      public void send_downloadChunk(String id) throws org.apache.thrift.TException
      {
        downloadChunk_args args = new downloadChunk_args();
        args.set_id(id);
        sendBase("downloadChunk", args);
      }
  
      public ByteBuffer recv_downloadChunk() throws org.apache.thrift.TException
      {
        downloadChunk_result result = new downloadChunk_result();
        receiveBase(result, "downloadChunk");
        if (result.is_set_success()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "downloadChunk failed: unknown result");
      }
  
      public void finishFileDownload(String id) throws org.apache.thrift.TException
      {
        send_finishFileDownload(id);
        recv_finishFileDownload();
      }
  
      public void send_finishFileDownload(String id) throws org.apache.thrift.TException
      {
        finishFileDownload_args args = new finishFileDownload_args();
        args.set_id(id);
        sendBase("finishFileDownload", args);
      }
  
      public void recv_finishFileDownload() throws org.apache.thrift.TException
      {
        finishFileDownload_result result = new finishFileDownload_result();
        receiveBase(result, "finishFileDownload");
        return;
      }
  
      public String getNimbusConf() throws org.apache.thrift.TException
      {
        send_getNimbusConf();
        return recv_getNimbusConf();
      }
  
      public void send_getNimbusConf() throws org.apache.thrift.TException
      {
        getNimbusConf_args args = new getNimbusConf_args();
        sendBase("getNimbusConf", args);
      }
  
      public String recv_getNimbusConf() throws org.apache.thrift.TException
      {
        getNimbusConf_result result = new getNimbusConf_result();
        receiveBase(result, "getNimbusConf");
        if (result.is_set_success()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getNimbusConf failed: unknown result");
      }
  
      public String getStormRawConf() throws org.apache.thrift.TException
      {
        send_getStormRawConf();
        return recv_getStormRawConf();
      }
  
      public void send_getStormRawConf() throws org.apache.thrift.TException
      {
        getStormRawConf_args args = new getStormRawConf_args();
        sendBase("getStormRawConf", args);
      }
  
      public String recv_getStormRawConf() throws org.apache.thrift.TException
      {
        getStormRawConf_result result = new getStormRawConf_result();
        receiveBase(result, "getStormRawConf");
        if (result.is_set_success()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getStormRawConf failed: unknown result");
      }
  
      public String getSupervisorConf(String id) throws org.apache.thrift.TException
      {
        send_getSupervisorConf(id);
        return recv_getSupervisorConf();
      }
  
      public void send_getSupervisorConf(String id) throws org.apache.thrift.TException
      {
        getSupervisorConf_args args = new getSupervisorConf_args();
        args.set_id(id);
        sendBase("getSupervisorConf", args);
      }
  
      public String recv_getSupervisorConf() throws org.apache.thrift.TException
      {
        getSupervisorConf_result result = new getSupervisorConf_result();
        receiveBase(result, "getSupervisorConf");
        if (result.is_set_success()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSupervisorConf failed: unknown result");
      }
  
      public String getTopologyConf(String id) throws NotAliveException, org.apache.thrift.TException
      {
        send_getTopologyConf(id);
        return recv_getTopologyConf();
      }
  
      public void send_getTopologyConf(String id) throws org.apache.thrift.TException
      {
        getTopologyConf_args args = new getTopologyConf_args();
        args.set_id(id);
        sendBase("getTopologyConf", args);
      }
  
      public String recv_getTopologyConf() throws NotAliveException, org.apache.thrift.TException
      {
        getTopologyConf_result result = new getTopologyConf_result();
        receiveBase(result, "getTopologyConf");
        if (result.is_set_success()) {
          return result.success;
        }
        if (result.e != null) {
          throw result.e;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTopologyConf failed: unknown result");
      }
  
      public String getTopologyId(String topologyName) throws NotAliveException, org.apache.thrift.TException
      {
        send_getTopologyId(topologyName);
        return recv_getTopologyId();
      }
  
      public void send_getTopologyId(String topologyName) throws org.apache.thrift.TException
      {
        getTopologyId_args args = new getTopologyId_args();
        args.set_topologyName(topologyName);
        sendBase("getTopologyId", args);
      }
  
      public String recv_getTopologyId() throws NotAliveException, org.apache.thrift.TException
      {
        getTopologyId_result result = new getTopologyId_result();
        receiveBase(result, "getTopologyId");
        if (result.is_set_success()) {
          return result.success;
        }
        if (result.e != null) {
          throw result.e;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTopologyId failed: unknown result");
      }
  
      public ClusterSummary getClusterInfo() throws org.apache.thrift.TException
      {
        send_getClusterInfo();
        return recv_getClusterInfo();
      }
  
      public void send_getClusterInfo() throws org.apache.thrift.TException
      {
        getClusterInfo_args args = new getClusterInfo_args();
        sendBase("getClusterInfo", args);
      }
  
      public ClusterSummary recv_getClusterInfo() throws org.apache.thrift.TException
      {
        getClusterInfo_result result = new getClusterInfo_result();
        receiveBase(result, "getClusterInfo");
        if (result.is_set_success()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getClusterInfo failed: unknown result");
      }
  
      public SupervisorWorkers getSupervisorWorkers(String host) throws NotAliveException, org.apache.thrift.TException
      {
        send_getSupervisorWorkers(host);
        return recv_getSupervisorWorkers();
      }
  
      public void send_getSupervisorWorkers(String host) throws org.apache.thrift.TException
      {
        getSupervisorWorkers_args args = new getSupervisorWorkers_args();
        args.set_host(host);
        sendBase("getSupervisorWorkers", args);
      }
  
      public SupervisorWorkers recv_getSupervisorWorkers() throws NotAliveException, org.apache.thrift.TException
      {
        getSupervisorWorkers_result result = new getSupervisorWorkers_result();
        receiveBase(result, "getSupervisorWorkers");
        if (result.is_set_success()) {
          return result.success;
        }
        if (result.e != null) {
          throw result.e;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSupervisorWorkers failed: unknown result");
      }
  
      public SupervisorWorkers getSupervisorWorkersById(String id) throws NotAliveException, org.apache.thrift.TException
      {
        send_getSupervisorWorkersById(id);
        return recv_getSupervisorWorkersById();
      }
  
      public void send_getSupervisorWorkersById(String id) throws org.apache.thrift.TException
      {
        getSupervisorWorkersById_args args = new getSupervisorWorkersById_args();
        args.set_id(id);
        sendBase("getSupervisorWorkersById", args);
      }
  
      public SupervisorWorkers recv_getSupervisorWorkersById() throws NotAliveException, org.apache.thrift.TException
      {
        getSupervisorWorkersById_result result = new getSupervisorWorkersById_result();
        receiveBase(result, "getSupervisorWorkersById");
        if (result.is_set_success()) {
          return result.success;
        }
        if (result.e != null) {
          throw result.e;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSupervisorWorkersById failed: unknown result");
      }
  
      public TopologyInfo getTopologyInfo(String id) throws NotAliveException, org.apache.thrift.TException
      {
        send_getTopologyInfo(id);
        return recv_getTopologyInfo();
      }
  
      public void send_getTopologyInfo(String id) throws org.apache.thrift.TException
      {
        getTopologyInfo_args args = new getTopologyInfo_args();
        args.set_id(id);
        sendBase("getTopologyInfo", args);
      }
  
      public TopologyInfo recv_getTopologyInfo() throws NotAliveException, org.apache.thrift.TException
      {
        getTopologyInfo_result result = new getTopologyInfo_result();
        receiveBase(result, "getTopologyInfo");
        if (result.is_set_success()) {
          return result.success;
        }
        if (result.e != null) {
          throw result.e;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTopologyInfo failed: unknown result");
      }
  
      public TopologyInfo getTopologyInfoByName(String topologyName) throws NotAliveException, org.apache.thrift.TException
      {
        send_getTopologyInfoByName(topologyName);
        return recv_getTopologyInfoByName();
      }
  
      public void send_getTopologyInfoByName(String topologyName) throws org.apache.thrift.TException
      {
        getTopologyInfoByName_args args = new getTopologyInfoByName_args();
        args.set_topologyName(topologyName);
        sendBase("getTopologyInfoByName", args);
      }
  
      public TopologyInfo recv_getTopologyInfoByName() throws NotAliveException, org.apache.thrift.TException
      {
        getTopologyInfoByName_result result = new getTopologyInfoByName_result();
        receiveBase(result, "getTopologyInfoByName");
        if (result.is_set_success()) {
          return result.success;
        }
        if (result.e != null) {
          throw result.e;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTopologyInfoByName failed: unknown result");
      }
  
      public Map<Integer,String> getTopologyTasksToSupervisorIds(String topologyName) throws NotAliveException, org.apache.thrift.TException
      {
        send_getTopologyTasksToSupervisorIds(topologyName);
        return recv_getTopologyTasksToSupervisorIds();
      }
  
      public void send_getTopologyTasksToSupervisorIds(String topologyName) throws org.apache.thrift.TException
      {
        getTopologyTasksToSupervisorIds_args args = new getTopologyTasksToSupervisorIds_args();
        args.set_topologyName(topologyName);
        sendBase("getTopologyTasksToSupervisorIds", args);
      }
  
      public Map<Integer,String> recv_getTopologyTasksToSupervisorIds() throws NotAliveException, org.apache.thrift.TException
      {
        getTopologyTasksToSupervisorIds_result result = new getTopologyTasksToSupervisorIds_result();
        receiveBase(result, "getTopologyTasksToSupervisorIds");
        if (result.is_set_success()) {
          return result.success;
        }
        if (result.e != null) {
          throw result.e;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTopologyTasksToSupervisorIds failed: unknown result");
      }
  
      public Map<String,Map<String,String>> getTopologyWorkersToSupervisorIds(String topologyName) throws NotAliveException, org.apache.thrift.TException
      {
        send_getTopologyWorkersToSupervisorIds(topologyName);
        return recv_getTopologyWorkersToSupervisorIds();
      }
  
      public void send_getTopologyWorkersToSupervisorIds(String topologyName) throws org.apache.thrift.TException
      {
        getTopologyWorkersToSupervisorIds_args args = new getTopologyWorkersToSupervisorIds_args();
        args.set_topologyName(topologyName);
        sendBase("getTopologyWorkersToSupervisorIds", args);
      }
  
      public Map<String,Map<String,String>> recv_getTopologyWorkersToSupervisorIds() throws NotAliveException, org.apache.thrift.TException
      {
        getTopologyWorkersToSupervisorIds_result result = new getTopologyWorkersToSupervisorIds_result();
        receiveBase(result, "getTopologyWorkersToSupervisorIds");
        if (result.is_set_success()) {
          return result.success;
        }
        if (result.e != null) {
          throw result.e;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTopologyWorkersToSupervisorIds failed: unknown result");
      }
  
      public StormTopology getTopology(String id) throws NotAliveException, org.apache.thrift.TException
      {
        send_getTopology(id);
        return recv_getTopology();
      }
  
      public void send_getTopology(String id) throws org.apache.thrift.TException
      {
        getTopology_args args = new getTopology_args();
        args.set_id(id);
        sendBase("getTopology", args);
      }
  
      public StormTopology recv_getTopology() throws NotAliveException, org.apache.thrift.TException
      {
        getTopology_result result = new getTopology_result();
        receiveBase(result, "getTopology");
        if (result.is_set_success()) {
          return result.success;
        }
        if (result.e != null) {
          throw result.e;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTopology failed: unknown result");
      }
  
      public StormTopology getUserTopology(String id) throws NotAliveException, org.apache.thrift.TException
      {
        send_getUserTopology(id);
        return recv_getUserTopology();
      }
  
      public void send_getUserTopology(String id) throws org.apache.thrift.TException
      {
        getUserTopology_args args = new getUserTopology_args();
        args.set_id(id);
        sendBase("getUserTopology", args);
      }
  
      public StormTopology recv_getUserTopology() throws NotAliveException, org.apache.thrift.TException
      {
        getUserTopology_result result = new getUserTopology_result();
        receiveBase(result, "getUserTopology");
        if (result.is_set_success()) {
          return result.success;
        }
        if (result.e != null) {
          throw result.e;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserTopology failed: unknown result");
      }
  
      public void notifyThisTopologyTasksIsDead(String topologyId) throws org.apache.thrift.TException
      {
        send_notifyThisTopologyTasksIsDead(topologyId);
        recv_notifyThisTopologyTasksIsDead();
      }
  
      public void send_notifyThisTopologyTasksIsDead(String topologyId) throws org.apache.thrift.TException
      {
        notifyThisTopologyTasksIsDead_args args = new notifyThisTopologyTasksIsDead_args();
        args.set_topologyId(topologyId);
        sendBase("notifyThisTopologyTasksIsDead", args);
      }
  
      public void recv_notifyThisTopologyTasksIsDead() throws org.apache.thrift.TException
      {
        notifyThisTopologyTasksIsDead_result result = new notifyThisTopologyTasksIsDead_result();
        receiveBase(result, "notifyThisTopologyTasksIsDead");
        return;
      }
  
      public void uploadTopologyMetrics(String topologyId, TopologyMetric topologyMetrics) throws org.apache.thrift.TException
      {
        send_uploadTopologyMetrics(topologyId, topologyMetrics);
        recv_uploadTopologyMetrics();
      }
  
      public void send_uploadTopologyMetrics(String topologyId, TopologyMetric topologyMetrics) throws org.apache.thrift.TException
      {
        uploadTopologyMetrics_args args = new uploadTopologyMetrics_args();
        args.set_topologyId(topologyId);
        args.set_topologyMetrics(topologyMetrics);
        sendBase("uploadTopologyMetrics", args);
      }
  
      public void recv_uploadTopologyMetrics() throws org.apache.thrift.TException
      {
        uploadTopologyMetrics_result result = new uploadTopologyMetrics_result();
        receiveBase(result, "uploadTopologyMetrics");
        return;
      }
  
      public Map<String,Long> registerMetrics(String topologyId, Set<String> metrics) throws org.apache.thrift.TException
      {
        send_registerMetrics(topologyId, metrics);
        return recv_registerMetrics();
      }
  
      public void send_registerMetrics(String topologyId, Set<String> metrics) throws org.apache.thrift.TException
      {
        registerMetrics_args args = new registerMetrics_args();
        args.set_topologyId(topologyId);
        args.set_metrics(metrics);
        sendBase("registerMetrics", args);
      }
  
      public Map<String,Long> recv_registerMetrics() throws org.apache.thrift.TException
      {
        registerMetrics_result result = new registerMetrics_result();
        receiveBase(result, "registerMetrics");
        if (result.is_set_success()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerMetrics failed: unknown result");
      }
  
      public TopologyMetric getTopologyMetrics(String topologyId) throws org.apache.thrift.TException
      {
        send_getTopologyMetrics(topologyId);
        return recv_getTopologyMetrics();
      }
  
      public void send_getTopologyMetrics(String topologyId) throws org.apache.thrift.TException
      {
        getTopologyMetrics_args args = new getTopologyMetrics_args();
        args.set_topologyId(topologyId);
        sendBase("getTopologyMetrics", args);
      }
  
      public TopologyMetric recv_getTopologyMetrics() throws org.apache.thrift.TException
      {
        getTopologyMetrics_result result = new getTopologyMetrics_result();
        receiveBase(result, "getTopologyMetrics");
        if (result.is_set_success()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTopologyMetrics failed: unknown result");
      }
  
      public List<MetricInfo> getMetrics(String topologyId, int type) throws org.apache.thrift.TException
      {
        send_getMetrics(topologyId, type);
        return recv_getMetrics();
      }
  
      public void send_getMetrics(String topologyId, int type) throws org.apache.thrift.TException
      {
        getMetrics_args args = new getMetrics_args();
        args.set_topologyId(topologyId);
        args.set_type(type);
        sendBase("getMetrics", args);
      }
  
      public List<MetricInfo> recv_getMetrics() throws org.apache.thrift.TException
      {
        getMetrics_result result = new getMetrics_result();
        receiveBase(result, "getMetrics");
        if (result.is_set_success()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getMetrics failed: unknown result");
      }
  
      public MetricInfo getNettyMetrics(String topologyId) throws org.apache.thrift.TException
      {
        send_getNettyMetrics(topologyId);
        return recv_getNettyMetrics();
      }
  
      public void send_getNettyMetrics(String topologyId) throws org.apache.thrift.TException
      {
        getNettyMetrics_args args = new getNettyMetrics_args();
        args.set_topologyId(topologyId);
        sendBase("getNettyMetrics", args);
      }
  
      public MetricInfo recv_getNettyMetrics() throws org.apache.thrift.TException
      {
        getNettyMetrics_result result = new getNettyMetrics_result();
        receiveBase(result, "getNettyMetrics");
        if (result.is_set_success()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getNettyMetrics failed: unknown result");
      }
  
      public MetricInfo getNettyMetricsByHost(String topologyId, String host) throws org.apache.thrift.TException
      {
        send_getNettyMetricsByHost(topologyId, host);
        return recv_getNettyMetricsByHost();
      }
  
      public void send_getNettyMetricsByHost(String topologyId, String host) throws org.apache.thrift.TException
      {
        getNettyMetricsByHost_args args = new getNettyMetricsByHost_args();
        args.set_topologyId(topologyId);
        args.set_host(host);
        sendBase("getNettyMetricsByHost", args);
      }
  
      public MetricInfo recv_getNettyMetricsByHost() throws org.apache.thrift.TException
      {
        getNettyMetricsByHost_result result = new getNettyMetricsByHost_result();
        receiveBase(result, "getNettyMetricsByHost");
        if (result.is_set_success()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getNettyMetricsByHost failed: unknown result");
      }
  
      public MetricInfo getPagingNettyMetrics(String topologyId, String host, int page) throws org.apache.thrift.TException
      {
        send_getPagingNettyMetrics(topologyId, host, page);
        return recv_getPagingNettyMetrics();
      }
  
      public void send_getPagingNettyMetrics(String topologyId, String host, int page) throws org.apache.thrift.TException
      {
        getPagingNettyMetrics_args args = new getPagingNettyMetrics_args();
        args.set_topologyId(topologyId);
        args.set_host(host);
        args.set_page(page);
        sendBase("getPagingNettyMetrics", args);
      }
  
      public MetricInfo recv_getPagingNettyMetrics() throws org.apache.thrift.TException
      {
        getPagingNettyMetrics_result result = new getPagingNettyMetrics_result();
        receiveBase(result, "getPagingNettyMetrics");
        if (result.is_set_success()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getPagingNettyMetrics failed: unknown result");
      }
  
      public int getNettyMetricSizeByHost(String topologyId, String host) throws org.apache.thrift.TException
      {
        send_getNettyMetricSizeByHost(topologyId, host);
        return recv_getNettyMetricSizeByHost();
      }
  
      public void send_getNettyMetricSizeByHost(String topologyId, String host) throws org.apache.thrift.TException
      {
        getNettyMetricSizeByHost_args args = new getNettyMetricSizeByHost_args();
        args.set_topologyId(topologyId);
        args.set_host(host);
        sendBase("getNettyMetricSizeByHost", args);
      }
  
      public int recv_getNettyMetricSizeByHost() throws org.apache.thrift.TException
      {
        getNettyMetricSizeByHost_result result = new getNettyMetricSizeByHost_result();
        receiveBase(result, "getNettyMetricSizeByHost");
        if (result.is_set_success()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getNettyMetricSizeByHost failed: unknown result");
      }
  
      public MetricInfo getTaskMetrics(String topologyId, String component) throws org.apache.thrift.TException
      {
        send_getTaskMetrics(topologyId, component);
        return recv_getTaskMetrics();
      }
  
      public void send_getTaskMetrics(String topologyId, String component) throws org.apache.thrift.TException
      {
        getTaskMetrics_args args = new getTaskMetrics_args();
        args.set_topologyId(topologyId);
        args.set_component(component);
        sendBase("getTaskMetrics", args);
      }
  
      public MetricInfo recv_getTaskMetrics() throws org.apache.thrift.TException
      {
        getTaskMetrics_result result = new getTaskMetrics_result();
        receiveBase(result, "getTaskMetrics");
        if (result.is_set_success()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTaskMetrics failed: unknown result");
      }
  
      public List<MetricInfo> getTaskAndStreamMetrics(String topologyId, int taskId) throws org.apache.thrift.TException
      {
        send_getTaskAndStreamMetrics(topologyId, taskId);
        return recv_getTaskAndStreamMetrics();
      }
  
      public void send_getTaskAndStreamMetrics(String topologyId, int taskId) throws org.apache.thrift.TException
      {
        getTaskAndStreamMetrics_args args = new getTaskAndStreamMetrics_args();
        args.set_topologyId(topologyId);
        args.set_taskId(taskId);
        sendBase("getTaskAndStreamMetrics", args);
      }
  
      public List<MetricInfo> recv_getTaskAndStreamMetrics() throws org.apache.thrift.TException
      {
        getTaskAndStreamMetrics_result result = new getTaskAndStreamMetrics_result();
        receiveBase(result, "getTaskAndStreamMetrics");
        if (result.is_set_success()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTaskAndStreamMetrics failed: unknown result");
      }
  
      public List<MetricInfo> getSummarizedTopologyMetrics(String topologyId) throws org.apache.thrift.TException
      {
        send_getSummarizedTopologyMetrics(topologyId);
        return recv_getSummarizedTopologyMetrics();
      }
  
      public void send_getSummarizedTopologyMetrics(String topologyId) throws org.apache.thrift.TException
      {
        getSummarizedTopologyMetrics_args args = new getSummarizedTopologyMetrics_args();
        args.set_topologyId(topologyId);
        sendBase("getSummarizedTopologyMetrics", args);
      }
  
      public List<MetricInfo> recv_getSummarizedTopologyMetrics() throws org.apache.thrift.TException
      {
        getSummarizedTopologyMetrics_result result = new getSummarizedTopologyMetrics_result();
        receiveBase(result, "getSummarizedTopologyMetrics");
        if (result.is_set_success()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSummarizedTopologyMetrics failed: unknown result");
      }
  
      public String getVersion() throws org.apache.thrift.TException
      {
        send_getVersion();
        return recv_getVersion();
      }
  
      public void send_getVersion() throws org.apache.thrift.TException
      {
        getVersion_args args = new getVersion_args();
        sendBase("getVersion", args);
      }
  
      public String recv_getVersion() throws org.apache.thrift.TException
      {
        getVersion_result result = new getVersion_result();
        receiveBase(result, "getVersion");
        if (result.is_set_success()) {
          return result.success;
        }
        throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getVersion failed: unknown result");
      }
  
      public void updateTopology(String name, String uploadedLocation, String updateConf) throws NotAliveException, InvalidTopologyException, org.apache.thrift.TException
      {
        send_updateTopology(name, uploadedLocation, updateConf);
        recv_updateTopology();
      }
  
      public void send_updateTopology(String name, String uploadedLocation, String updateConf) throws org.apache.thrift.TException
      {
        updateTopology_args args = new updateTopology_args();
        args.set_name(name);
        args.set_uploadedLocation(uploadedLocation);
        args.set_updateConf(updateConf);
        sendBase("updateTopology", args);
      }
  
      public void recv_updateTopology() throws NotAliveException, InvalidTopologyException, org.apache.thrift.TException
      {
        updateTopology_result result = new updateTopology_result();
        receiveBase(result, "updateTopology");
        if (result.e != null) {
          throw result.e;
        }
        if (result.ite != null) {
          throw result.ite;
        }
        return;
      }
  
      public void updateTaskHeartbeat(TopologyTaskHbInfo taskHbs) throws org.apache.thrift.TException
      {
        send_updateTaskHeartbeat(taskHbs);
        recv_updateTaskHeartbeat();
      }
  
      public void send_updateTaskHeartbeat(TopologyTaskHbInfo taskHbs) throws org.apache.thrift.TException
      {
        updateTaskHeartbeat_args args = new updateTaskHeartbeat_args();
        args.set_taskHbs(taskHbs);
        sendBase("updateTaskHeartbeat", args);
      }
  
      public void recv_updateTaskHeartbeat() throws org.apache.thrift.TException
      {
        updateTaskHeartbeat_result result = new updateTaskHeartbeat_result();
        receiveBase(result, "updateTaskHeartbeat");
        return;
      }
  
      public void setHostInBlackList(String host) throws org.apache.thrift.TException
      {
        send_setHostInBlackList(host);
        recv_setHostInBlackList();
      }
  
      public void send_setHostInBlackList(String host) throws org.apache.thrift.TException
      {
        setHostInBlackList_args args = new setHostInBlackList_args();
        args.set_host(host);
        sendBase("setHostInBlackList", args);
      }
  
      public void recv_setHostInBlackList() throws org.apache.thrift.TException
      {
        setHostInBlackList_result result = new setHostInBlackList_result();
        receiveBase(result, "setHostInBlackList");
        return;
      }
  
      public void removeHostOutBlackList(String host) throws org.apache.thrift.TException
      {
        send_removeHostOutBlackList(host);
        recv_removeHostOutBlackList();
      }
  
      public void send_removeHostOutBlackList(String host) throws org.apache.thrift.TException
      {
        removeHostOutBlackList_args args = new removeHostOutBlackList_args();
        args.set_host(host);
        sendBase("removeHostOutBlackList", args);
      }
  
      public void recv_removeHostOutBlackList() throws org.apache.thrift.TException
      {
        removeHostOutBlackList_result result = new removeHostOutBlackList_result();
        receiveBase(result, "removeHostOutBlackList");
        return;
      }
  
      public void deleteMetricMeta(String topologyId, int metaType, List<String> idList) throws org.apache.thrift.TException
      {
        send_deleteMetricMeta(topologyId, metaType, idList);
        recv_deleteMetricMeta();
      }
  
      public void send_deleteMetricMeta(String topologyId, int metaType, List<String> idList) throws org.apache.thrift.TException
      {
        deleteMetricMeta_args args = new deleteMetricMeta_args();
        args.set_topologyId(topologyId);
        args.set_metaType(metaType);
        args.set_idList(idList);
        sendBase("deleteMetricMeta", args);
      }
  
      public void recv_deleteMetricMeta() throws org.apache.thrift.TException
      {
        deleteMetricMeta_result result = new deleteMetricMeta_result();
        receiveBase(result, "deleteMetricMeta");
        return;
      }
  
      public void grayUpgrade(String topologyName, String component, List<String> workers, int workerNum) throws org.apache.thrift.TException
      {
        send_grayUpgrade(topologyName, component, workers, workerNum);
        recv_grayUpgrade();
      }
  
      public void send_grayUpgrade(String topologyName, String component, List<String> workers, int workerNum) throws org.apache.thrift.TException
      {
        grayUpgrade_args args = new grayUpgrade_args();
        args.set_topologyName(topologyName);
        args.set_component(component);
        args.set_workers(workers);
        args.set_workerNum(workerNum);
        sendBase("grayUpgrade", args);
      }
  
      public void recv_grayUpgrade() throws org.apache.thrift.TException
      {
        grayUpgrade_result result = new grayUpgrade_result();
        receiveBase(result, "grayUpgrade");
        return;
      }
  
      public void rollbackTopology(String topologyName) throws org.apache.thrift.TException
      {
        send_rollbackTopology(topologyName);
        recv_rollbackTopology();
      }
  
      public void send_rollbackTopology(String topologyName) throws org.apache.thrift.TException
      {
        rollbackTopology_args args = new rollbackTopology_args();
        args.set_topologyName(topologyName);
        sendBase("rollbackTopology", args);
      }
  
      public void recv_rollbackTopology() throws org.apache.thrift.TException
      {
        rollbackTopology_result result = new rollbackTopology_result();
        receiveBase(result, "rollbackTopology");
        return;
      }
  
      public void completeUpgrade(String topologyName) throws org.apache.thrift.TException
      {
        send_completeUpgrade(topologyName);
        recv_completeUpgrade();
      }
  
      public void send_completeUpgrade(String topologyName) throws org.apache.thrift.TException
      {
        completeUpgrade_args args = new completeUpgrade_args();
        args.set_topologyName(topologyName);
        sendBase("completeUpgrade", args);
      }
  
      public void recv_completeUpgrade() throws org.apache.thrift.TException
      {
        completeUpgrade_result result = new completeUpgrade_result();
        receiveBase(result, "completeUpgrade");
        return;
      }
  
    }
    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 submitTopology(String name, String uploadedJarLocation, String jsonConf, StormTopology topology, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        submitTopology_call method_call = new submitTopology_call(name, uploadedJarLocation, jsonConf, topology, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class submitTopology_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String name;
        private String uploadedJarLocation;
        private String jsonConf;
        private StormTopology topology;
        public submitTopology_call(String name, String uploadedJarLocation, String jsonConf, StormTopology topology, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.name = name;
          this.uploadedJarLocation = uploadedJarLocation;
          this.jsonConf = jsonConf;
          this.topology = topology;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("submitTopology", org.apache.thrift.protocol.TMessageType.CALL, 0));
          submitTopology_args args = new submitTopology_args();
          args.set_name(name);
          args.set_uploadedJarLocation(uploadedJarLocation);
          args.set_jsonConf(jsonConf);
          args.set_topology(topology);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public String getResult() throws AlreadyAliveException, InvalidTopologyException, TopologyAssignException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_submitTopology();
        }
      }
  
      public void submitTopologyWithOpts(String name, String uploadedJarLocation, String jsonConf, StormTopology topology, SubmitOptions options, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        submitTopologyWithOpts_call method_call = new submitTopologyWithOpts_call(name, uploadedJarLocation, jsonConf, topology, options, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class submitTopologyWithOpts_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String name;
        private String uploadedJarLocation;
        private String jsonConf;
        private StormTopology topology;
        private SubmitOptions options;
        public submitTopologyWithOpts_call(String name, String uploadedJarLocation, String jsonConf, StormTopology topology, SubmitOptions options, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.name = name;
          this.uploadedJarLocation = uploadedJarLocation;
          this.jsonConf = jsonConf;
          this.topology = topology;
          this.options = options;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("submitTopologyWithOpts", org.apache.thrift.protocol.TMessageType.CALL, 0));
          submitTopologyWithOpts_args args = new submitTopologyWithOpts_args();
          args.set_name(name);
          args.set_uploadedJarLocation(uploadedJarLocation);
          args.set_jsonConf(jsonConf);
          args.set_topology(topology);
          args.set_options(options);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public String getResult() throws AlreadyAliveException, InvalidTopologyException, TopologyAssignException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_submitTopologyWithOpts();
        }
      }
  
      public void killTopology(String name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        killTopology_call method_call = new killTopology_call(name, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class killTopology_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String name;
        public killTopology_call(String name, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.name = name;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("killTopology", org.apache.thrift.protocol.TMessageType.CALL, 0));
          killTopology_args args = new killTopology_args();
          args.set_name(name);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws NotAliveException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_killTopology();
        }
      }
  
      public void killTopologyWithOpts(String name, KillOptions options, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        killTopologyWithOpts_call method_call = new killTopologyWithOpts_call(name, options, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class killTopologyWithOpts_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String name;
        private KillOptions options;
        public killTopologyWithOpts_call(String name, KillOptions options, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.name = name;
          this.options = options;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("killTopologyWithOpts", org.apache.thrift.protocol.TMessageType.CALL, 0));
          killTopologyWithOpts_args args = new killTopologyWithOpts_args();
          args.set_name(name);
          args.set_options(options);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws NotAliveException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_killTopologyWithOpts();
        }
      }
  
      public void activate(String name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        activate_call method_call = new activate_call(name, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class activate_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String name;
        public activate_call(String name, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.name = name;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("activate", org.apache.thrift.protocol.TMessageType.CALL, 0));
          activate_args args = new activate_args();
          args.set_name(name);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws NotAliveException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_activate();
        }
      }
  
      public void deactivate(String name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        deactivate_call method_call = new deactivate_call(name, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class deactivate_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String name;
        public deactivate_call(String name, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.name = name;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deactivate", org.apache.thrift.protocol.TMessageType.CALL, 0));
          deactivate_args args = new deactivate_args();
          args.set_name(name);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws NotAliveException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_deactivate();
        }
      }
  
      public void rebalance(String name, RebalanceOptions options, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        rebalance_call method_call = new rebalance_call(name, options, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class rebalance_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String name;
        private RebalanceOptions options;
        public rebalance_call(String name, RebalanceOptions options, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.name = name;
          this.options = options;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("rebalance", org.apache.thrift.protocol.TMessageType.CALL, 0));
          rebalance_args args = new rebalance_args();
          args.set_name(name);
          args.set_options(options);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws NotAliveException, InvalidTopologyException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_rebalance();
        }
      }
  
      public void metricMonitor(String name, MonitorOptions options, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        metricMonitor_call method_call = new metricMonitor_call(name, options, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class metricMonitor_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String name;
        private MonitorOptions options;
        public metricMonitor_call(String name, MonitorOptions options, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.name = name;
          this.options = options;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("metricMonitor", org.apache.thrift.protocol.TMessageType.CALL, 0));
          metricMonitor_args args = new metricMonitor_args();
          args.set_name(name);
          args.set_options(options);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws NotAliveException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_metricMonitor();
        }
      }
  
      public void restart(String name, String jsonConf, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        restart_call method_call = new restart_call(name, jsonConf, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class restart_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String name;
        private String jsonConf;
        public restart_call(String name, String jsonConf, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.name = name;
          this.jsonConf = jsonConf;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("restart", org.apache.thrift.protocol.TMessageType.CALL, 0));
          restart_args args = new restart_args();
          args.set_name(name);
          args.set_jsonConf(jsonConf);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws NotAliveException, InvalidTopologyException, TopologyAssignException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_restart();
        }
      }
  
      public void beginCreateBlob(String key, SettableBlobMeta meta, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        beginCreateBlob_call method_call = new beginCreateBlob_call(key, meta, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class beginCreateBlob_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String key;
        private SettableBlobMeta meta;
        public beginCreateBlob_call(String key, SettableBlobMeta meta, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.key = key;
          this.meta = meta;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("beginCreateBlob", org.apache.thrift.protocol.TMessageType.CALL, 0));
          beginCreateBlob_args args = new beginCreateBlob_args();
          args.set_key(key);
          args.set_meta(meta);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public String getResult() throws KeyAlreadyExistsException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_beginCreateBlob();
        }
      }
  
      public void beginUpdateBlob(String key, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        beginUpdateBlob_call method_call = new beginUpdateBlob_call(key, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class beginUpdateBlob_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String key;
        public beginUpdateBlob_call(String key, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.key = key;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("beginUpdateBlob", org.apache.thrift.protocol.TMessageType.CALL, 0));
          beginUpdateBlob_args args = new beginUpdateBlob_args();
          args.set_key(key);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public String getResult() throws KeyNotFoundException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_beginUpdateBlob();
        }
      }
  
      public void uploadBlobChunk(String session, ByteBuffer chunk, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        uploadBlobChunk_call method_call = new uploadBlobChunk_call(session, chunk, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class uploadBlobChunk_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String session;
        private ByteBuffer chunk;
        public uploadBlobChunk_call(String session, ByteBuffer chunk, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.session = session;
          this.chunk = chunk;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("uploadBlobChunk", org.apache.thrift.protocol.TMessageType.CALL, 0));
          uploadBlobChunk_args args = new uploadBlobChunk_args();
          args.set_session(session);
          args.set_chunk(chunk);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_uploadBlobChunk();
        }
      }
  
      public void finishBlobUpload(String session, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        finishBlobUpload_call method_call = new finishBlobUpload_call(session, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class finishBlobUpload_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String session;
        public finishBlobUpload_call(String session, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.session = session;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("finishBlobUpload", org.apache.thrift.protocol.TMessageType.CALL, 0));
          finishBlobUpload_args args = new finishBlobUpload_args();
          args.set_session(session);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_finishBlobUpload();
        }
      }
  
      public void cancelBlobUpload(String session, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        cancelBlobUpload_call method_call = new cancelBlobUpload_call(session, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class cancelBlobUpload_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String session;
        public cancelBlobUpload_call(String session, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.session = session;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("cancelBlobUpload", org.apache.thrift.protocol.TMessageType.CALL, 0));
          cancelBlobUpload_args args = new cancelBlobUpload_args();
          args.set_session(session);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_cancelBlobUpload();
        }
      }
  
      public void getBlobMeta(String key, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getBlobMeta_call method_call = new getBlobMeta_call(key, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getBlobMeta_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String key;
        public getBlobMeta_call(String key, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.key = key;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getBlobMeta", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getBlobMeta_args args = new getBlobMeta_args();
          args.set_key(key);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public ReadableBlobMeta getResult() throws KeyNotFoundException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_getBlobMeta();
        }
      }
  
      public void setBlobMeta(String key, SettableBlobMeta meta, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        setBlobMeta_call method_call = new setBlobMeta_call(key, meta, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class setBlobMeta_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String key;
        private SettableBlobMeta meta;
        public setBlobMeta_call(String key, SettableBlobMeta meta, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.key = key;
          this.meta = meta;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("setBlobMeta", org.apache.thrift.protocol.TMessageType.CALL, 0));
          setBlobMeta_args args = new setBlobMeta_args();
          args.set_key(key);
          args.set_meta(meta);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws KeyNotFoundException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_setBlobMeta();
        }
      }
  
      public void beginBlobDownload(String key, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        beginBlobDownload_call method_call = new beginBlobDownload_call(key, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class beginBlobDownload_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String key;
        public beginBlobDownload_call(String key, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.key = key;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("beginBlobDownload", org.apache.thrift.protocol.TMessageType.CALL, 0));
          beginBlobDownload_args args = new beginBlobDownload_args();
          args.set_key(key);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public BeginDownloadResult getResult() throws KeyNotFoundException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_beginBlobDownload();
        }
      }
  
      public void downloadBlobChunk(String session, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        downloadBlobChunk_call method_call = new downloadBlobChunk_call(session, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class downloadBlobChunk_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String session;
        public downloadBlobChunk_call(String session, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.session = session;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("downloadBlobChunk", org.apache.thrift.protocol.TMessageType.CALL, 0));
          downloadBlobChunk_args args = new downloadBlobChunk_args();
          args.set_session(session);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public ByteBuffer getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_downloadBlobChunk();
        }
      }
  
      public void deleteBlob(String key, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        deleteBlob_call method_call = new deleteBlob_call(key, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class deleteBlob_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String key;
        public deleteBlob_call(String key, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.key = key;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteBlob", org.apache.thrift.protocol.TMessageType.CALL, 0));
          deleteBlob_args args = new deleteBlob_args();
          args.set_key(key);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws KeyNotFoundException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_deleteBlob();
        }
      }
  
      public void listBlobs(String session, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        listBlobs_call method_call = new listBlobs_call(session, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class listBlobs_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String session;
        public listBlobs_call(String session, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.session = session;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("listBlobs", org.apache.thrift.protocol.TMessageType.CALL, 0));
          listBlobs_args args = new listBlobs_args();
          args.set_session(session);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public ListBlobsResult 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_listBlobs();
        }
      }
  
      public void getBlobReplication(String key, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getBlobReplication_call method_call = new getBlobReplication_call(key, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getBlobReplication_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String key;
        public getBlobReplication_call(String key, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.key = key;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getBlobReplication", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getBlobReplication_args args = new getBlobReplication_args();
          args.set_key(key);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public int getResult() throws KeyNotFoundException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_getBlobReplication();
        }
      }
  
      public void updateBlobReplication(String key, int replication, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        updateBlobReplication_call method_call = new updateBlobReplication_call(key, replication, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class updateBlobReplication_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String key;
        private int replication;
        public updateBlobReplication_call(String key, int replication, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.key = key;
          this.replication = replication;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateBlobReplication", org.apache.thrift.protocol.TMessageType.CALL, 0));
          updateBlobReplication_args args = new updateBlobReplication_args();
          args.set_key(key);
          args.set_replication(replication);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public int getResult() throws KeyNotFoundException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_updateBlobReplication();
        }
      }
  
      public void createStateInZookeeper(String key, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        createStateInZookeeper_call method_call = new createStateInZookeeper_call(key, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class createStateInZookeeper_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String key;
        public createStateInZookeeper_call(String key, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.key = key;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createStateInZookeeper", org.apache.thrift.protocol.TMessageType.CALL, 0));
          createStateInZookeeper_args args = new createStateInZookeeper_args();
          args.set_key(key);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_createStateInZookeeper();
        }
      }
  
      public void beginLibUpload(String libName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        beginLibUpload_call method_call = new beginLibUpload_call(libName, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class beginLibUpload_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String libName;
        public beginLibUpload_call(String libName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.libName = libName;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("beginLibUpload", org.apache.thrift.protocol.TMessageType.CALL, 0));
          beginLibUpload_args args = new beginLibUpload_args();
          args.set_libName(libName);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_beginLibUpload();
        }
      }
  
      public void beginFileUpload(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        beginFileUpload_call method_call = new beginFileUpload_call(resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class beginFileUpload_call extends org.apache.thrift.async.TAsyncMethodCall {
        public beginFileUpload_call(org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("beginFileUpload", org.apache.thrift.protocol.TMessageType.CALL, 0));
          beginFileUpload_args args = new beginFileUpload_args();
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public String getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_beginFileUpload();
        }
      }
  
      public void uploadChunk(String location, ByteBuffer chunk, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        uploadChunk_call method_call = new uploadChunk_call(location, chunk, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class uploadChunk_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String location;
        private ByteBuffer chunk;
        public uploadChunk_call(String location, ByteBuffer chunk, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.location = location;
          this.chunk = chunk;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("uploadChunk", org.apache.thrift.protocol.TMessageType.CALL, 0));
          uploadChunk_args args = new uploadChunk_args();
          args.set_location(location);
          args.set_chunk(chunk);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_uploadChunk();
        }
      }
  
      public void finishFileUpload(String location, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        finishFileUpload_call method_call = new finishFileUpload_call(location, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class finishFileUpload_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String location;
        public finishFileUpload_call(String location, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.location = location;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("finishFileUpload", org.apache.thrift.protocol.TMessageType.CALL, 0));
          finishFileUpload_args args = new finishFileUpload_args();
          args.set_location(location);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_finishFileUpload();
        }
      }
  
      public void beginFileDownload(String file, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        beginFileDownload_call method_call = new beginFileDownload_call(file, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class beginFileDownload_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String file;
        public beginFileDownload_call(String file, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.file = file;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("beginFileDownload", org.apache.thrift.protocol.TMessageType.CALL, 0));
          beginFileDownload_args args = new beginFileDownload_args();
          args.set_file(file);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public String getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_beginFileDownload();
        }
      }
  
      public void downloadChunk(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        downloadChunk_call method_call = new downloadChunk_call(id, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class downloadChunk_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String id;
        public downloadChunk_call(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.id = id;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("downloadChunk", org.apache.thrift.protocol.TMessageType.CALL, 0));
          downloadChunk_args args = new downloadChunk_args();
          args.set_id(id);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public ByteBuffer getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_downloadChunk();
        }
      }
  
      public void finishFileDownload(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        finishFileDownload_call method_call = new finishFileDownload_call(id, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class finishFileDownload_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String id;
        public finishFileDownload_call(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.id = id;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("finishFileDownload", org.apache.thrift.protocol.TMessageType.CALL, 0));
          finishFileDownload_args args = new finishFileDownload_args();
          args.set_id(id);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_finishFileDownload();
        }
      }
  
      public void getNimbusConf(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getNimbusConf_call method_call = new getNimbusConf_call(resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getNimbusConf_call extends org.apache.thrift.async.TAsyncMethodCall {
        public getNimbusConf_call(org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getNimbusConf", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getNimbusConf_args args = new getNimbusConf_args();
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public String getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_getNimbusConf();
        }
      }
  
      public void getStormRawConf(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getStormRawConf_call method_call = new getStormRawConf_call(resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getStormRawConf_call extends org.apache.thrift.async.TAsyncMethodCall {
        public getStormRawConf_call(org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getStormRawConf", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getStormRawConf_args args = new getStormRawConf_args();
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public String getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_getStormRawConf();
        }
      }
  
      public void getSupervisorConf(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getSupervisorConf_call method_call = new getSupervisorConf_call(id, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getSupervisorConf_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String id;
        public getSupervisorConf_call(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.id = id;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getSupervisorConf", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getSupervisorConf_args args = new getSupervisorConf_args();
          args.set_id(id);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public String getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_getSupervisorConf();
        }
      }
  
      public void getTopologyConf(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getTopologyConf_call method_call = new getTopologyConf_call(id, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getTopologyConf_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String id;
        public getTopologyConf_call(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.id = id;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTopologyConf", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getTopologyConf_args args = new getTopologyConf_args();
          args.set_id(id);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public String getResult() throws NotAliveException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_getTopologyConf();
        }
      }
  
      public void getTopologyId(String topologyName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getTopologyId_call method_call = new getTopologyId_call(topologyName, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getTopologyId_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String topologyName;
        public getTopologyId_call(String topologyName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.topologyName = topologyName;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTopologyId", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getTopologyId_args args = new getTopologyId_args();
          args.set_topologyName(topologyName);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public String getResult() throws NotAliveException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_getTopologyId();
        }
      }
  
      public void getClusterInfo(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getClusterInfo_call method_call = new getClusterInfo_call(resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getClusterInfo_call extends org.apache.thrift.async.TAsyncMethodCall {
        public getClusterInfo_call(org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getClusterInfo", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getClusterInfo_args args = new getClusterInfo_args();
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public ClusterSummary 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_getClusterInfo();
        }
      }
  
      public void getSupervisorWorkers(String host, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getSupervisorWorkers_call method_call = new getSupervisorWorkers_call(host, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getSupervisorWorkers_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String host;
        public getSupervisorWorkers_call(String host, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.host = host;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getSupervisorWorkers", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getSupervisorWorkers_args args = new getSupervisorWorkers_args();
          args.set_host(host);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public SupervisorWorkers getResult() throws NotAliveException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_getSupervisorWorkers();
        }
      }
  
      public void getSupervisorWorkersById(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getSupervisorWorkersById_call method_call = new getSupervisorWorkersById_call(id, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getSupervisorWorkersById_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String id;
        public getSupervisorWorkersById_call(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.id = id;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getSupervisorWorkersById", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getSupervisorWorkersById_args args = new getSupervisorWorkersById_args();
          args.set_id(id);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public SupervisorWorkers getResult() throws NotAliveException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_getSupervisorWorkersById();
        }
      }
  
      public void getTopologyInfo(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getTopologyInfo_call method_call = new getTopologyInfo_call(id, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getTopologyInfo_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String id;
        public getTopologyInfo_call(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.id = id;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTopologyInfo", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getTopologyInfo_args args = new getTopologyInfo_args();
          args.set_id(id);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TopologyInfo getResult() throws NotAliveException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_getTopologyInfo();
        }
      }
  
      public void getTopologyInfoByName(String topologyName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getTopologyInfoByName_call method_call = new getTopologyInfoByName_call(topologyName, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getTopologyInfoByName_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String topologyName;
        public getTopologyInfoByName_call(String topologyName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.topologyName = topologyName;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTopologyInfoByName", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getTopologyInfoByName_args args = new getTopologyInfoByName_args();
          args.set_topologyName(topologyName);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TopologyInfo getResult() throws NotAliveException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_getTopologyInfoByName();
        }
      }
  
      public void getTopologyTasksToSupervisorIds(String topologyName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getTopologyTasksToSupervisorIds_call method_call = new getTopologyTasksToSupervisorIds_call(topologyName, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getTopologyTasksToSupervisorIds_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String topologyName;
        public getTopologyTasksToSupervisorIds_call(String topologyName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.topologyName = topologyName;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTopologyTasksToSupervisorIds", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getTopologyTasksToSupervisorIds_args args = new getTopologyTasksToSupervisorIds_args();
          args.set_topologyName(topologyName);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public Map<Integer,String> getResult() throws NotAliveException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_getTopologyTasksToSupervisorIds();
        }
      }
  
      public void getTopologyWorkersToSupervisorIds(String topologyName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getTopologyWorkersToSupervisorIds_call method_call = new getTopologyWorkersToSupervisorIds_call(topologyName, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getTopologyWorkersToSupervisorIds_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String topologyName;
        public getTopologyWorkersToSupervisorIds_call(String topologyName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.topologyName = topologyName;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTopologyWorkersToSupervisorIds", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getTopologyWorkersToSupervisorIds_args args = new getTopologyWorkersToSupervisorIds_args();
          args.set_topologyName(topologyName);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public Map<String,Map<String,String>> getResult() throws NotAliveException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_getTopologyWorkersToSupervisorIds();
        }
      }
  
      public void getTopology(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getTopology_call method_call = new getTopology_call(id, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getTopology_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String id;
        public getTopology_call(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.id = id;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTopology", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getTopology_args args = new getTopology_args();
          args.set_id(id);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public StormTopology getResult() throws NotAliveException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_getTopology();
        }
      }
  
      public void getUserTopology(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getUserTopology_call method_call = new getUserTopology_call(id, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getUserTopology_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String id;
        public getUserTopology_call(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.id = id;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserTopology", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getUserTopology_args args = new getUserTopology_args();
          args.set_id(id);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public StormTopology getResult() throws NotAliveException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_getUserTopology();
        }
      }
  
      public void notifyThisTopologyTasksIsDead(String topologyId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        notifyThisTopologyTasksIsDead_call method_call = new notifyThisTopologyTasksIsDead_call(topologyId, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class notifyThisTopologyTasksIsDead_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String topologyId;
        public notifyThisTopologyTasksIsDead_call(String topologyId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.topologyId = topologyId;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("notifyThisTopologyTasksIsDead", org.apache.thrift.protocol.TMessageType.CALL, 0));
          notifyThisTopologyTasksIsDead_args args = new notifyThisTopologyTasksIsDead_args();
          args.set_topologyId(topologyId);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_notifyThisTopologyTasksIsDead();
        }
      }
  
      public void uploadTopologyMetrics(String topologyId, TopologyMetric topologyMetrics, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        uploadTopologyMetrics_call method_call = new uploadTopologyMetrics_call(topologyId, topologyMetrics, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class uploadTopologyMetrics_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String topologyId;
        private TopologyMetric topologyMetrics;
        public uploadTopologyMetrics_call(String topologyId, TopologyMetric topologyMetrics, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.topologyId = topologyId;
          this.topologyMetrics = topologyMetrics;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("uploadTopologyMetrics", org.apache.thrift.protocol.TMessageType.CALL, 0));
          uploadTopologyMetrics_args args = new uploadTopologyMetrics_args();
          args.set_topologyId(topologyId);
          args.set_topologyMetrics(topologyMetrics);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_uploadTopologyMetrics();
        }
      }
  
      public void registerMetrics(String topologyId, Set<String> metrics, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        registerMetrics_call method_call = new registerMetrics_call(topologyId, metrics, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class registerMetrics_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String topologyId;
        private Set<String> metrics;
        public registerMetrics_call(String topologyId, Set<String> metrics, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.topologyId = topologyId;
          this.metrics = metrics;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerMetrics", org.apache.thrift.protocol.TMessageType.CALL, 0));
          registerMetrics_args args = new registerMetrics_args();
          args.set_topologyId(topologyId);
          args.set_metrics(metrics);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public Map<String,Long> getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_registerMetrics();
        }
      }
  
      public void getTopologyMetrics(String topologyId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getTopologyMetrics_call method_call = new getTopologyMetrics_call(topologyId, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getTopologyMetrics_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String topologyId;
        public getTopologyMetrics_call(String topologyId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.topologyId = topologyId;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTopologyMetrics", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getTopologyMetrics_args args = new getTopologyMetrics_args();
          args.set_topologyId(topologyId);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public TopologyMetric 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_getTopologyMetrics();
        }
      }
  
      public void getMetrics(String topologyId, int type, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getMetrics_call method_call = new getMetrics_call(topologyId, type, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getMetrics_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String topologyId;
        private int type;
        public getMetrics_call(String topologyId, int type, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.topologyId = topologyId;
          this.type = type;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getMetrics", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getMetrics_args args = new getMetrics_args();
          args.set_topologyId(topologyId);
          args.set_type(type);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public List<MetricInfo> 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_getMetrics();
        }
      }
  
      public void getNettyMetrics(String topologyId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getNettyMetrics_call method_call = new getNettyMetrics_call(topologyId, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getNettyMetrics_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String topologyId;
        public getNettyMetrics_call(String topologyId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.topologyId = topologyId;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getNettyMetrics", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getNettyMetrics_args args = new getNettyMetrics_args();
          args.set_topologyId(topologyId);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public MetricInfo 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_getNettyMetrics();
        }
      }
  
      public void getNettyMetricsByHost(String topologyId, String host, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getNettyMetricsByHost_call method_call = new getNettyMetricsByHost_call(topologyId, host, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getNettyMetricsByHost_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String topologyId;
        private String host;
        public getNettyMetricsByHost_call(String topologyId, String host, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.topologyId = topologyId;
          this.host = host;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getNettyMetricsByHost", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getNettyMetricsByHost_args args = new getNettyMetricsByHost_args();
          args.set_topologyId(topologyId);
          args.set_host(host);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public MetricInfo 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_getNettyMetricsByHost();
        }
      }
  
      public void getPagingNettyMetrics(String topologyId, String host, int page, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getPagingNettyMetrics_call method_call = new getPagingNettyMetrics_call(topologyId, host, page, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getPagingNettyMetrics_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String topologyId;
        private String host;
        private int page;
        public getPagingNettyMetrics_call(String topologyId, String host, int page, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.topologyId = topologyId;
          this.host = host;
          this.page = page;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getPagingNettyMetrics", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getPagingNettyMetrics_args args = new getPagingNettyMetrics_args();
          args.set_topologyId(topologyId);
          args.set_host(host);
          args.set_page(page);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public MetricInfo 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_getPagingNettyMetrics();
        }
      }
  
      public void getNettyMetricSizeByHost(String topologyId, String host, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getNettyMetricSizeByHost_call method_call = new getNettyMetricSizeByHost_call(topologyId, host, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getNettyMetricSizeByHost_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String topologyId;
        private String host;
        public getNettyMetricSizeByHost_call(String topologyId, String host, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.topologyId = topologyId;
          this.host = host;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getNettyMetricSizeByHost", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getNettyMetricSizeByHost_args args = new getNettyMetricSizeByHost_args();
          args.set_topologyId(topologyId);
          args.set_host(host);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public int 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_getNettyMetricSizeByHost();
        }
      }
  
      public void getTaskMetrics(String topologyId, String component, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getTaskMetrics_call method_call = new getTaskMetrics_call(topologyId, component, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getTaskMetrics_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String topologyId;
        private String component;
        public getTaskMetrics_call(String topologyId, String component, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.topologyId = topologyId;
          this.component = component;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTaskMetrics", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getTaskMetrics_args args = new getTaskMetrics_args();
          args.set_topologyId(topologyId);
          args.set_component(component);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public MetricInfo 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_getTaskMetrics();
        }
      }
  
      public void getTaskAndStreamMetrics(String topologyId, int taskId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getTaskAndStreamMetrics_call method_call = new getTaskAndStreamMetrics_call(topologyId, taskId, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getTaskAndStreamMetrics_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String topologyId;
        private int taskId;
        public getTaskAndStreamMetrics_call(String topologyId, int taskId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.topologyId = topologyId;
          this.taskId = taskId;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTaskAndStreamMetrics", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getTaskAndStreamMetrics_args args = new getTaskAndStreamMetrics_args();
          args.set_topologyId(topologyId);
          args.set_taskId(taskId);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public List<MetricInfo> 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_getTaskAndStreamMetrics();
        }
      }
  
      public void getSummarizedTopologyMetrics(String topologyId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getSummarizedTopologyMetrics_call method_call = new getSummarizedTopologyMetrics_call(topologyId, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getSummarizedTopologyMetrics_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String topologyId;
        public getSummarizedTopologyMetrics_call(String topologyId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.topologyId = topologyId;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getSummarizedTopologyMetrics", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getSummarizedTopologyMetrics_args args = new getSummarizedTopologyMetrics_args();
          args.set_topologyId(topologyId);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public List<MetricInfo> 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_getSummarizedTopologyMetrics();
        }
      }
  
      public void getVersion(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getVersion_call method_call = new getVersion_call(resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class getVersion_call extends org.apache.thrift.async.TAsyncMethodCall {
        public getVersion_call(org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getVersion", org.apache.thrift.protocol.TMessageType.CALL, 0));
          getVersion_args args = new getVersion_args();
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public String getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          return (new Client(prot)).recv_getVersion();
        }
      }
  
      public void updateTopology(String name, String uploadedLocation, String updateConf, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        updateTopology_call method_call = new updateTopology_call(name, uploadedLocation, updateConf, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class updateTopology_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String name;
        private String uploadedLocation;
        private String updateConf;
        public updateTopology_call(String name, String uploadedLocation, String updateConf, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.name = name;
          this.uploadedLocation = uploadedLocation;
          this.updateConf = updateConf;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateTopology", org.apache.thrift.protocol.TMessageType.CALL, 0));
          updateTopology_args args = new updateTopology_args();
          args.set_name(name);
          args.set_uploadedLocation(uploadedLocation);
          args.set_updateConf(updateConf);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws NotAliveException, InvalidTopologyException, org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_updateTopology();
        }
      }
  
      public void updateTaskHeartbeat(TopologyTaskHbInfo taskHbs, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        updateTaskHeartbeat_call method_call = new updateTaskHeartbeat_call(taskHbs, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class updateTaskHeartbeat_call extends org.apache.thrift.async.TAsyncMethodCall {
        private TopologyTaskHbInfo taskHbs;
        public updateTaskHeartbeat_call(TopologyTaskHbInfo taskHbs, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.taskHbs = taskHbs;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateTaskHeartbeat", org.apache.thrift.protocol.TMessageType.CALL, 0));
          updateTaskHeartbeat_args args = new updateTaskHeartbeat_args();
          args.set_taskHbs(taskHbs);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_updateTaskHeartbeat();
        }
      }
  
      public void setHostInBlackList(String host, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        setHostInBlackList_call method_call = new setHostInBlackList_call(host, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class setHostInBlackList_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String host;
        public setHostInBlackList_call(String host, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.host = host;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("setHostInBlackList", org.apache.thrift.protocol.TMessageType.CALL, 0));
          setHostInBlackList_args args = new setHostInBlackList_args();
          args.set_host(host);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_setHostInBlackList();
        }
      }
  
      public void removeHostOutBlackList(String host, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        removeHostOutBlackList_call method_call = new removeHostOutBlackList_call(host, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class removeHostOutBlackList_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String host;
        public removeHostOutBlackList_call(String host, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.host = host;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeHostOutBlackList", org.apache.thrift.protocol.TMessageType.CALL, 0));
          removeHostOutBlackList_args args = new removeHostOutBlackList_args();
          args.set_host(host);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_removeHostOutBlackList();
        }
      }
  
      public void deleteMetricMeta(String topologyId, int metaType, List<String> idList, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        deleteMetricMeta_call method_call = new deleteMetricMeta_call(topologyId, metaType, idList, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class deleteMetricMeta_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String topologyId;
        private int metaType;
        private List<String> idList;
        public deleteMetricMeta_call(String topologyId, int metaType, List<String> idList, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.topologyId = topologyId;
          this.metaType = metaType;
          this.idList = idList;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteMetricMeta", org.apache.thrift.protocol.TMessageType.CALL, 0));
          deleteMetricMeta_args args = new deleteMetricMeta_args();
          args.set_topologyId(topologyId);
          args.set_metaType(metaType);
          args.set_idList(idList);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_deleteMetricMeta();
        }
      }
  
      public void grayUpgrade(String topologyName, String component, List<String> workers, int workerNum, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        grayUpgrade_call method_call = new grayUpgrade_call(topologyName, component, workers, workerNum, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class grayUpgrade_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String topologyName;
        private String component;
        private List<String> workers;
        private int workerNum;
        public grayUpgrade_call(String topologyName, String component, List<String> workers, int workerNum, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.topologyName = topologyName;
          this.component = component;
          this.workers = workers;
          this.workerNum = workerNum;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("grayUpgrade", org.apache.thrift.protocol.TMessageType.CALL, 0));
          grayUpgrade_args args = new grayUpgrade_args();
          args.set_topologyName(topologyName);
          args.set_component(component);
          args.set_workers(workers);
          args.set_workerNum(workerNum);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_grayUpgrade();
        }
      }
  
      public void rollbackTopology(String topologyName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        rollbackTopology_call method_call = new rollbackTopology_call(topologyName, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class rollbackTopology_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String topologyName;
        public rollbackTopology_call(String topologyName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.topologyName = topologyName;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("rollbackTopology", org.apache.thrift.protocol.TMessageType.CALL, 0));
          rollbackTopology_args args = new rollbackTopology_args();
          args.set_topologyName(topologyName);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_rollbackTopology();
        }
      }
  
      public void completeUpgrade(String topologyName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        completeUpgrade_call method_call = new completeUpgrade_call(topologyName, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
        ___manager.call(method_call);
      }
  
      public static class completeUpgrade_call extends org.apache.thrift.async.TAsyncMethodCall {
        private String topologyName;
        public completeUpgrade_call(String topologyName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
          super(client, protocolFactory, transport, resultHandler, false);
          this.topologyName = topologyName;
        }
  
        public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
          prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("completeUpgrade", org.apache.thrift.protocol.TMessageType.CALL, 0));
          completeUpgrade_args args = new completeUpgrade_args();
          args.set_topologyName(topologyName);
          args.write(prot);
          prot.writeMessageEnd();
        }
  
        public void getResult() throws org.apache.thrift.TException {
          if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
            throw new IllegalStateException("Method call not finished!");
          }
          org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
          org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
          (new Client(prot)).recv_completeUpgrade();
        }
      }
  
    }
  
    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("submitTopology", new submitTopology());
        processMap.put("submitTopologyWithOpts", new submitTopologyWithOpts());
        processMap.put("killTopology", new killTopology());
        processMap.put("killTopologyWithOpts", new killTopologyWithOpts());
        processMap.put("activate", new activate());
        processMap.put("deactivate", new deactivate());
        processMap.put("rebalance", new rebalance());
        processMap.put("metricMonitor", new metricMonitor());
        processMap.put("restart", new restart());
        processMap.put("beginCreateBlob", new beginCreateBlob());
        processMap.put("beginUpdateBlob", new beginUpdateBlob());
        processMap.put("uploadBlobChunk", new uploadBlobChunk());
        processMap.put("finishBlobUpload", new finishBlobUpload());
        processMap.put("cancelBlobUpload", new cancelBlobUpload());
        processMap.put("getBlobMeta", new getBlobMeta());
        processMap.put("setBlobMeta", new setBlobMeta());
        processMap.put("beginBlobDownload", new beginBlobDownload());
        processMap.put("downloadBlobChunk", new downloadBlobChunk());
        processMap.put("deleteBlob", new deleteBlob());
        processMap.put("listBlobs", new listBlobs());
        processMap.put("getBlobReplication", new getBlobReplication());
        processMap.put("updateBlobReplication", new updateBlobReplication());
        processMap.put("createStateInZookeeper", new createStateInZookeeper());
        processMap.put("beginLibUpload", new beginLibUpload());
        processMap.put("beginFileUpload", new beginFileUpload());
        processMap.put("uploadChunk", new uploadChunk());
        processMap.put("finishFileUpload", new finishFileUpload());
        processMap.put("beginFileDownload", new beginFileDownload());
        processMap.put("downloadChunk", new downloadChunk());
        processMap.put("finishFileDownload", new finishFileDownload());
        processMap.put("getNimbusConf", new getNimbusConf());
        processMap.put("getStormRawConf", new getStormRawConf());
        processMap.put("getSupervisorConf", new getSupervisorConf());
        processMap.put("getTopologyConf", new getTopologyConf());
        processMap.put("getTopologyId", new getTopologyId());
        processMap.put("getClusterInfo", new getClusterInfo());
        processMap.put("getSupervisorWorkers", new getSupervisorWorkers());
        processMap.put("getSupervisorWorkersById", new getSupervisorWorkersById());
        processMap.put("getTopologyInfo", new getTopologyInfo());
        processMap.put("getTopologyInfoByName", new getTopologyInfoByName());
        processMap.put("getTopologyTasksToSupervisorIds", new getTopologyTasksToSupervisorIds());
        processMap.put("getTopologyWorkersToSupervisorIds", new getTopologyWorkersToSupervisorIds());
        processMap.put("getTopology", new getTopology());
        processMap.put("getUserTopology", new getUserTopology());
        processMap.put("notifyThisTopologyTasksIsDead", new notifyThisTopologyTasksIsDead());
        processMap.put("uploadTopologyMetrics", new uploadTopologyMetrics());
        processMap.put("registerMetrics", new registerMetrics());
        processMap.put("getTopologyMetrics", new getTopologyMetrics());
        processMap.put("getMetrics", new getMetrics());
        processMap.put("getNettyMetrics", new getNettyMetrics());
        processMap.put("getNettyMetricsByHost", new getNettyMetricsByHost());
        processMap.put("getPagingNettyMetrics", new getPagingNettyMetrics());
        processMap.put("getNettyMetricSizeByHost", new getNettyMetricSizeByHost());
        processMap.put("getTaskMetrics", new getTaskMetrics());
        processMap.put("getTaskAndStreamMetrics", new getTaskAndStreamMetrics());
        processMap.put("getSummarizedTopologyMetrics", new getSummarizedTopologyMetrics());
        processMap.put("getVersion", new getVersion());
        processMap.put("updateTopology", new updateTopology());
        processMap.put("updateTaskHeartbeat", new updateTaskHeartbeat());
        processMap.put("setHostInBlackList", new setHostInBlackList());
        processMap.put("removeHostOutBlackList", new removeHostOutBlackList());
        processMap.put("deleteMetricMeta", new deleteMetricMeta());
        processMap.put("grayUpgrade", new grayUpgrade());
        processMap.put("rollbackTopology", new rollbackTopology());
        processMap.put("completeUpgrade", new completeUpgrade());
        return processMap;
      }
  
      public static class submitTopology<I extends Iface> extends org.apache.thrift.ProcessFunction<I, submitTopology_args> {
        public submitTopology() {
          super("submitTopology");
        }
  
        public submitTopology_args getEmptyArgsInstance() {
          return new submitTopology_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public submitTopology_result getResult(I iface, submitTopology_args args) throws org.apache.thrift.TException {
          submitTopology_result result = new submitTopology_result();
          try {
            result.success = iface.submitTopology(args.name, args.uploadedJarLocation, args.jsonConf, args.topology);
          } catch (AlreadyAliveException e) {
            result.e = e;
          } catch (InvalidTopologyException ite) {
            result.ite = ite;
          } catch (TopologyAssignException tae) {
            result.tae = tae;
          }
          return result;
        }
      }
  
      public static class submitTopologyWithOpts<I extends Iface> extends org.apache.thrift.ProcessFunction<I, submitTopologyWithOpts_args> {
        public submitTopologyWithOpts() {
          super("submitTopologyWithOpts");
        }
  
        public submitTopologyWithOpts_args getEmptyArgsInstance() {
          return new submitTopologyWithOpts_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public submitTopologyWithOpts_result getResult(I iface, submitTopologyWithOpts_args args) throws org.apache.thrift.TException {
          submitTopologyWithOpts_result result = new submitTopologyWithOpts_result();
          try {
            result.success = iface.submitTopologyWithOpts(args.name, args.uploadedJarLocation, args.jsonConf, args.topology, args.options);
          } catch (AlreadyAliveException e) {
            result.e = e;
          } catch (InvalidTopologyException ite) {
            result.ite = ite;
          } catch (TopologyAssignException tae) {
            result.tae = tae;
          }
          return result;
        }
      }
  
      public static class killTopology<I extends Iface> extends org.apache.thrift.ProcessFunction<I, killTopology_args> {
        public killTopology() {
          super("killTopology");
        }
  
        public killTopology_args getEmptyArgsInstance() {
          return new killTopology_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public killTopology_result getResult(I iface, killTopology_args args) throws org.apache.thrift.TException {
          killTopology_result result = new killTopology_result();
          try {
            iface.killTopology(args.name);
          } catch (NotAliveException e) {
            result.e = e;
          }
          return result;
        }
      }
  
      public static class killTopologyWithOpts<I extends Iface> extends org.apache.thrift.ProcessFunction<I, killTopologyWithOpts_args> {
        public killTopologyWithOpts() {
          super("killTopologyWithOpts");
        }
  
        public killTopologyWithOpts_args getEmptyArgsInstance() {
          return new killTopologyWithOpts_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public killTopologyWithOpts_result getResult(I iface, killTopologyWithOpts_args args) throws org.apache.thrift.TException {
          killTopologyWithOpts_result result = new killTopologyWithOpts_result();
          try {
            iface.killTopologyWithOpts(args.name, args.options);
          } catch (NotAliveException e) {
            result.e = e;
          }
          return result;
        }
      }
  
      public static class activate<I extends Iface> extends org.apache.thrift.ProcessFunction<I, activate_args> {
        public activate() {
          super("activate");
        }
  
        public activate_args getEmptyArgsInstance() {
          return new activate_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public activate_result getResult(I iface, activate_args args) throws org.apache.thrift.TException {
          activate_result result = new activate_result();
          try {
            iface.activate(args.name);
          } catch (NotAliveException e) {
            result.e = e;
          }
          return result;
        }
      }
  
      public static class deactivate<I extends Iface> extends org.apache.thrift.ProcessFunction<I, deactivate_args> {
        public deactivate() {
          super("deactivate");
        }
  
        public deactivate_args getEmptyArgsInstance() {
          return new deactivate_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public deactivate_result getResult(I iface, deactivate_args args) throws org.apache.thrift.TException {
          deactivate_result result = new deactivate_result();
          try {
            iface.deactivate(args.name);
          } catch (NotAliveException e) {
            result.e = e;
          }
          return result;
        }
      }
  
      public static class rebalance<I extends Iface> extends org.apache.thrift.ProcessFunction<I, rebalance_args> {
        public rebalance() {
          super("rebalance");
        }
  
        public rebalance_args getEmptyArgsInstance() {
          return new rebalance_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public rebalance_result getResult(I iface, rebalance_args args) throws org.apache.thrift.TException {
          rebalance_result result = new rebalance_result();
          try {
            iface.rebalance(args.name, args.options);
          } catch (NotAliveException e) {
            result.e = e;
          } catch (InvalidTopologyException ite) {
            result.ite = ite;
          }
          return result;
        }
      }
  
      public static class metricMonitor<I extends Iface> extends org.apache.thrift.ProcessFunction<I, metricMonitor_args> {
        public metricMonitor() {
          super("metricMonitor");
        }
  
        public metricMonitor_args getEmptyArgsInstance() {
          return new metricMonitor_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public metricMonitor_result getResult(I iface, metricMonitor_args args) throws org.apache.thrift.TException {
          metricMonitor_result result = new metricMonitor_result();
          try {
            iface.metricMonitor(args.name, args.options);
          } catch (NotAliveException e) {
            result.e = e;
          }
          return result;
        }
      }
  
      public static class restart<I extends Iface> extends org.apache.thrift.ProcessFunction<I, restart_args> {
        public restart() {
          super("restart");
        }
  
        public restart_args getEmptyArgsInstance() {
          return new restart_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public restart_result getResult(I iface, restart_args args) throws org.apache.thrift.TException {
          restart_result result = new restart_result();
          try {
            iface.restart(args.name, args.jsonConf);
          } catch (NotAliveException e) {
            result.e = e;
          } catch (InvalidTopologyException ite) {
            result.ite = ite;
          } catch (TopologyAssignException tae) {
            result.tae = tae;
          }
          return result;
        }
      }
  
      public static class beginCreateBlob<I extends Iface> extends org.apache.thrift.ProcessFunction<I, beginCreateBlob_args> {
        public beginCreateBlob() {
          super("beginCreateBlob");
        }
  
        public beginCreateBlob_args getEmptyArgsInstance() {
          return new beginCreateBlob_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public beginCreateBlob_result getResult(I iface, beginCreateBlob_args args) throws org.apache.thrift.TException {
          beginCreateBlob_result result = new beginCreateBlob_result();
          try {
            result.success = iface.beginCreateBlob(args.key, args.meta);
          } catch (KeyAlreadyExistsException kae) {
            result.kae = kae;
          }
          return result;
        }
      }
  
      public static class beginUpdateBlob<I extends Iface> extends org.apache.thrift.ProcessFunction<I, beginUpdateBlob_args> {
        public beginUpdateBlob() {
          super("beginUpdateBlob");
        }
  
        public beginUpdateBlob_args getEmptyArgsInstance() {
          return new beginUpdateBlob_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public beginUpdateBlob_result getResult(I iface, beginUpdateBlob_args args) throws org.apache.thrift.TException {
          beginUpdateBlob_result result = new beginUpdateBlob_result();
          try {
            result.success = iface.beginUpdateBlob(args.key);
          } catch (KeyNotFoundException knf) {
            result.knf = knf;
          }
          return result;
        }
      }
  
      public static class uploadBlobChunk<I extends Iface> extends org.apache.thrift.ProcessFunction<I, uploadBlobChunk_args> {
        public uploadBlobChunk() {
          super("uploadBlobChunk");
        }
  
        public uploadBlobChunk_args getEmptyArgsInstance() {
          return new uploadBlobChunk_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public uploadBlobChunk_result getResult(I iface, uploadBlobChunk_args args) throws org.apache.thrift.TException {
          uploadBlobChunk_result result = new uploadBlobChunk_result();
          iface.uploadBlobChunk(args.session, args.chunk);
          return result;
        }
      }
  
      public static class finishBlobUpload<I extends Iface> extends org.apache.thrift.ProcessFunction<I, finishBlobUpload_args> {
        public finishBlobUpload() {
          super("finishBlobUpload");
        }
  
        public finishBlobUpload_args getEmptyArgsInstance() {
          return new finishBlobUpload_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public finishBlobUpload_result getResult(I iface, finishBlobUpload_args args) throws org.apache.thrift.TException {
          finishBlobUpload_result result = new finishBlobUpload_result();
          iface.finishBlobUpload(args.session);
          return result;
        }
      }
  
      public static class cancelBlobUpload<I extends Iface> extends org.apache.thrift.ProcessFunction<I, cancelBlobUpload_args> {
        public cancelBlobUpload() {
          super("cancelBlobUpload");
        }
  
        public cancelBlobUpload_args getEmptyArgsInstance() {
          return new cancelBlobUpload_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public cancelBlobUpload_result getResult(I iface, cancelBlobUpload_args args) throws org.apache.thrift.TException {
          cancelBlobUpload_result result = new cancelBlobUpload_result();
          iface.cancelBlobUpload(args.session);
          return result;
        }
      }
  
      public static class getBlobMeta<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getBlobMeta_args> {
        public getBlobMeta() {
          super("getBlobMeta");
        }
  
        public getBlobMeta_args getEmptyArgsInstance() {
          return new getBlobMeta_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getBlobMeta_result getResult(I iface, getBlobMeta_args args) throws org.apache.thrift.TException {
          getBlobMeta_result result = new getBlobMeta_result();
          try {
            result.success = iface.getBlobMeta(args.key);
          } catch (KeyNotFoundException knf) {
            result.knf = knf;
          }
          return result;
        }
      }
  
      public static class setBlobMeta<I extends Iface> extends org.apache.thrift.ProcessFunction<I, setBlobMeta_args> {
        public setBlobMeta() {
          super("setBlobMeta");
        }
  
        public setBlobMeta_args getEmptyArgsInstance() {
          return new setBlobMeta_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public setBlobMeta_result getResult(I iface, setBlobMeta_args args) throws org.apache.thrift.TException {
          setBlobMeta_result result = new setBlobMeta_result();
          try {
            iface.setBlobMeta(args.key, args.meta);
          } catch (KeyNotFoundException knf) {
            result.knf = knf;
          }
          return result;
        }
      }
  
      public static class beginBlobDownload<I extends Iface> extends org.apache.thrift.ProcessFunction<I, beginBlobDownload_args> {
        public beginBlobDownload() {
          super("beginBlobDownload");
        }
  
        public beginBlobDownload_args getEmptyArgsInstance() {
          return new beginBlobDownload_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public beginBlobDownload_result getResult(I iface, beginBlobDownload_args args) throws org.apache.thrift.TException {
          beginBlobDownload_result result = new beginBlobDownload_result();
          try {
            result.success = iface.beginBlobDownload(args.key);
          } catch (KeyNotFoundException knf) {
            result.knf = knf;
          }
          return result;
        }
      }
  
      public static class downloadBlobChunk<I extends Iface> extends org.apache.thrift.ProcessFunction<I, downloadBlobChunk_args> {
        public downloadBlobChunk() {
          super("downloadBlobChunk");
        }
  
        public downloadBlobChunk_args getEmptyArgsInstance() {
          return new downloadBlobChunk_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public downloadBlobChunk_result getResult(I iface, downloadBlobChunk_args args) throws org.apache.thrift.TException {
          downloadBlobChunk_result result = new downloadBlobChunk_result();
          result.success = iface.downloadBlobChunk(args.session);
          return result;
        }
      }
  
      public static class deleteBlob<I extends Iface> extends org.apache.thrift.ProcessFunction<I, deleteBlob_args> {
        public deleteBlob() {
          super("deleteBlob");
        }
  
        public deleteBlob_args getEmptyArgsInstance() {
          return new deleteBlob_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public deleteBlob_result getResult(I iface, deleteBlob_args args) throws org.apache.thrift.TException {
          deleteBlob_result result = new deleteBlob_result();
          try {
            iface.deleteBlob(args.key);
          } catch (KeyNotFoundException knf) {
            result.knf = knf;
          }
          return result;
        }
      }
  
      public static class listBlobs<I extends Iface> extends org.apache.thrift.ProcessFunction<I, listBlobs_args> {
        public listBlobs() {
          super("listBlobs");
        }
  
        public listBlobs_args getEmptyArgsInstance() {
          return new listBlobs_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public listBlobs_result getResult(I iface, listBlobs_args args) throws org.apache.thrift.TException {
          listBlobs_result result = new listBlobs_result();
          result.success = iface.listBlobs(args.session);
          return result;
        }
      }
  
      public static class getBlobReplication<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getBlobReplication_args> {
        public getBlobReplication() {
          super("getBlobReplication");
        }
  
        public getBlobReplication_args getEmptyArgsInstance() {
          return new getBlobReplication_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getBlobReplication_result getResult(I iface, getBlobReplication_args args) throws org.apache.thrift.TException {
          getBlobReplication_result result = new getBlobReplication_result();
          try {
            result.success = iface.getBlobReplication(args.key);
            result.set_success_isSet(true);
          } catch (KeyNotFoundException knf) {
            result.knf = knf;
          }
          return result;
        }
      }
  
      public static class updateBlobReplication<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateBlobReplication_args> {
        public updateBlobReplication() {
          super("updateBlobReplication");
        }
  
        public updateBlobReplication_args getEmptyArgsInstance() {
          return new updateBlobReplication_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public updateBlobReplication_result getResult(I iface, updateBlobReplication_args args) throws org.apache.thrift.TException {
          updateBlobReplication_result result = new updateBlobReplication_result();
          try {
            result.success = iface.updateBlobReplication(args.key, args.replication);
            result.set_success_isSet(true);
          } catch (KeyNotFoundException knf) {
            result.knf = knf;
          }
          return result;
        }
      }
  
      public static class createStateInZookeeper<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createStateInZookeeper_args> {
        public createStateInZookeeper() {
          super("createStateInZookeeper");
        }
  
        public createStateInZookeeper_args getEmptyArgsInstance() {
          return new createStateInZookeeper_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public createStateInZookeeper_result getResult(I iface, createStateInZookeeper_args args) throws org.apache.thrift.TException {
          createStateInZookeeper_result result = new createStateInZookeeper_result();
          iface.createStateInZookeeper(args.key);
          return result;
        }
      }
  
      public static class beginLibUpload<I extends Iface> extends org.apache.thrift.ProcessFunction<I, beginLibUpload_args> {
        public beginLibUpload() {
          super("beginLibUpload");
        }
  
        public beginLibUpload_args getEmptyArgsInstance() {
          return new beginLibUpload_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public beginLibUpload_result getResult(I iface, beginLibUpload_args args) throws org.apache.thrift.TException {
          beginLibUpload_result result = new beginLibUpload_result();
          iface.beginLibUpload(args.libName);
          return result;
        }
      }
  
      public static class beginFileUpload<I extends Iface> extends org.apache.thrift.ProcessFunction<I, beginFileUpload_args> {
        public beginFileUpload() {
          super("beginFileUpload");
        }
  
        public beginFileUpload_args getEmptyArgsInstance() {
          return new beginFileUpload_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public beginFileUpload_result getResult(I iface, beginFileUpload_args args) throws org.apache.thrift.TException {
          beginFileUpload_result result = new beginFileUpload_result();
          result.success = iface.beginFileUpload();
          return result;
        }
      }
  
      public static class uploadChunk<I extends Iface> extends org.apache.thrift.ProcessFunction<I, uploadChunk_args> {
        public uploadChunk() {
          super("uploadChunk");
        }
  
        public uploadChunk_args getEmptyArgsInstance() {
          return new uploadChunk_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public uploadChunk_result getResult(I iface, uploadChunk_args args) throws org.apache.thrift.TException {
          uploadChunk_result result = new uploadChunk_result();
          iface.uploadChunk(args.location, args.chunk);
          return result;
        }
      }
  
      public static class finishFileUpload<I extends Iface> extends org.apache.thrift.ProcessFunction<I, finishFileUpload_args> {
        public finishFileUpload() {
          super("finishFileUpload");
        }
  
        public finishFileUpload_args getEmptyArgsInstance() {
          return new finishFileUpload_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public finishFileUpload_result getResult(I iface, finishFileUpload_args args) throws org.apache.thrift.TException {
          finishFileUpload_result result = new finishFileUpload_result();
          iface.finishFileUpload(args.location);
          return result;
        }
      }
  
      public static class beginFileDownload<I extends Iface> extends org.apache.thrift.ProcessFunction<I, beginFileDownload_args> {
        public beginFileDownload() {
          super("beginFileDownload");
        }
  
        public beginFileDownload_args getEmptyArgsInstance() {
          return new beginFileDownload_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public beginFileDownload_result getResult(I iface, beginFileDownload_args args) throws org.apache.thrift.TException {
          beginFileDownload_result result = new beginFileDownload_result();
          result.success = iface.beginFileDownload(args.file);
          return result;
        }
      }
  
      public static class downloadChunk<I extends Iface> extends org.apache.thrift.ProcessFunction<I, downloadChunk_args> {
        public downloadChunk() {
          super("downloadChunk");
        }
  
        public downloadChunk_args getEmptyArgsInstance() {
          return new downloadChunk_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public downloadChunk_result getResult(I iface, downloadChunk_args args) throws org.apache.thrift.TException {
          downloadChunk_result result = new downloadChunk_result();
          result.success = iface.downloadChunk(args.id);
          return result;
        }
      }
  
      public static class finishFileDownload<I extends Iface> extends org.apache.thrift.ProcessFunction<I, finishFileDownload_args> {
        public finishFileDownload() {
          super("finishFileDownload");
        }
  
        public finishFileDownload_args getEmptyArgsInstance() {
          return new finishFileDownload_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public finishFileDownload_result getResult(I iface, finishFileDownload_args args) throws org.apache.thrift.TException {
          finishFileDownload_result result = new finishFileDownload_result();
          iface.finishFileDownload(args.id);
          return result;
        }
      }
  
      public static class getNimbusConf<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getNimbusConf_args> {
        public getNimbusConf() {
          super("getNimbusConf");
        }
  
        public getNimbusConf_args getEmptyArgsInstance() {
          return new getNimbusConf_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getNimbusConf_result getResult(I iface, getNimbusConf_args args) throws org.apache.thrift.TException {
          getNimbusConf_result result = new getNimbusConf_result();
          result.success = iface.getNimbusConf();
          return result;
        }
      }
  
      public static class getStormRawConf<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getStormRawConf_args> {
        public getStormRawConf() {
          super("getStormRawConf");
        }
  
        public getStormRawConf_args getEmptyArgsInstance() {
          return new getStormRawConf_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getStormRawConf_result getResult(I iface, getStormRawConf_args args) throws org.apache.thrift.TException {
          getStormRawConf_result result = new getStormRawConf_result();
          result.success = iface.getStormRawConf();
          return result;
        }
      }
  
      public static class getSupervisorConf<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getSupervisorConf_args> {
        public getSupervisorConf() {
          super("getSupervisorConf");
        }
  
        public getSupervisorConf_args getEmptyArgsInstance() {
          return new getSupervisorConf_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getSupervisorConf_result getResult(I iface, getSupervisorConf_args args) throws org.apache.thrift.TException {
          getSupervisorConf_result result = new getSupervisorConf_result();
          result.success = iface.getSupervisorConf(args.id);
          return result;
        }
      }
  
      public static class getTopologyConf<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTopologyConf_args> {
        public getTopologyConf() {
          super("getTopologyConf");
        }
  
        public getTopologyConf_args getEmptyArgsInstance() {
          return new getTopologyConf_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getTopologyConf_result getResult(I iface, getTopologyConf_args args) throws org.apache.thrift.TException {
          getTopologyConf_result result = new getTopologyConf_result();
          try {
            result.success = iface.getTopologyConf(args.id);
          } catch (NotAliveException e) {
            result.e = e;
          }
          return result;
        }
      }
  
      public static class getTopologyId<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTopologyId_args> {
        public getTopologyId() {
          super("getTopologyId");
        }
  
        public getTopologyId_args getEmptyArgsInstance() {
          return new getTopologyId_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getTopologyId_result getResult(I iface, getTopologyId_args args) throws org.apache.thrift.TException {
          getTopologyId_result result = new getTopologyId_result();
          try {
            result.success = iface.getTopologyId(args.topologyName);
          } catch (NotAliveException e) {
            result.e = e;
          }
          return result;
        }
      }
  
      public static class getClusterInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getClusterInfo_args> {
        public getClusterInfo() {
          super("getClusterInfo");
        }
  
        public getClusterInfo_args getEmptyArgsInstance() {
          return new getClusterInfo_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getClusterInfo_result getResult(I iface, getClusterInfo_args args) throws org.apache.thrift.TException {
          getClusterInfo_result result = new getClusterInfo_result();
          result.success = iface.getClusterInfo();
          return result;
        }
      }
  
      public static class getSupervisorWorkers<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getSupervisorWorkers_args> {
        public getSupervisorWorkers() {
          super("getSupervisorWorkers");
        }
  
        public getSupervisorWorkers_args getEmptyArgsInstance() {
          return new getSupervisorWorkers_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getSupervisorWorkers_result getResult(I iface, getSupervisorWorkers_args args) throws org.apache.thrift.TException {
          getSupervisorWorkers_result result = new getSupervisorWorkers_result();
          try {
            result.success = iface.getSupervisorWorkers(args.host);
          } catch (NotAliveException e) {
            result.e = e;
          }
          return result;
        }
      }
  
      public static class getSupervisorWorkersById<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getSupervisorWorkersById_args> {
        public getSupervisorWorkersById() {
          super("getSupervisorWorkersById");
        }
  
        public getSupervisorWorkersById_args getEmptyArgsInstance() {
          return new getSupervisorWorkersById_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getSupervisorWorkersById_result getResult(I iface, getSupervisorWorkersById_args args) throws org.apache.thrift.TException {
          getSupervisorWorkersById_result result = new getSupervisorWorkersById_result();
          try {
            result.success = iface.getSupervisorWorkersById(args.id);
          } catch (NotAliveException e) {
            result.e = e;
          }
          return result;
        }
      }
  
      public static class getTopologyInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTopologyInfo_args> {
        public getTopologyInfo() {
          super("getTopologyInfo");
        }
  
        public getTopologyInfo_args getEmptyArgsInstance() {
          return new getTopologyInfo_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getTopologyInfo_result getResult(I iface, getTopologyInfo_args args) throws org.apache.thrift.TException {
          getTopologyInfo_result result = new getTopologyInfo_result();
          try {
            result.success = iface.getTopologyInfo(args.id);
          } catch (NotAliveException e) {
            result.e = e;
          }
          return result;
        }
      }
  
      public static class getTopologyInfoByName<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTopologyInfoByName_args> {
        public getTopologyInfoByName() {
          super("getTopologyInfoByName");
        }
  
        public getTopologyInfoByName_args getEmptyArgsInstance() {
          return new getTopologyInfoByName_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getTopologyInfoByName_result getResult(I iface, getTopologyInfoByName_args args) throws org.apache.thrift.TException {
          getTopologyInfoByName_result result = new getTopologyInfoByName_result();
          try {
            result.success = iface.getTopologyInfoByName(args.topologyName);
          } catch (NotAliveException e) {
            result.e = e;
          }
          return result;
        }
      }
  
      public static class getTopologyTasksToSupervisorIds<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTopologyTasksToSupervisorIds_args> {
        public getTopologyTasksToSupervisorIds() {
          super("getTopologyTasksToSupervisorIds");
        }
  
        public getTopologyTasksToSupervisorIds_args getEmptyArgsInstance() {
          return new getTopologyTasksToSupervisorIds_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getTopologyTasksToSupervisorIds_result getResult(I iface, getTopologyTasksToSupervisorIds_args args) throws org.apache.thrift.TException {
          getTopologyTasksToSupervisorIds_result result = new getTopologyTasksToSupervisorIds_result();
          try {
            result.success = iface.getTopologyTasksToSupervisorIds(args.topologyName);
          } catch (NotAliveException e) {
            result.e = e;
          }
          return result;
        }
      }
  
      public static class getTopologyWorkersToSupervisorIds<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTopologyWorkersToSupervisorIds_args> {
        public getTopologyWorkersToSupervisorIds() {
          super("getTopologyWorkersToSupervisorIds");
        }
  
        public getTopologyWorkersToSupervisorIds_args getEmptyArgsInstance() {
          return new getTopologyWorkersToSupervisorIds_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getTopologyWorkersToSupervisorIds_result getResult(I iface, getTopologyWorkersToSupervisorIds_args args) throws org.apache.thrift.TException {
          getTopologyWorkersToSupervisorIds_result result = new getTopologyWorkersToSupervisorIds_result();
          try {
            result.success = iface.getTopologyWorkersToSupervisorIds(args.topologyName);
          } catch (NotAliveException e) {
            result.e = e;
          }
          return result;
        }
      }
  
      public static class getTopology<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTopology_args> {
        public getTopology() {
          super("getTopology");
        }
  
        public getTopology_args getEmptyArgsInstance() {
          return new getTopology_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getTopology_result getResult(I iface, getTopology_args args) throws org.apache.thrift.TException {
          getTopology_result result = new getTopology_result();
          try {
            result.success = iface.getTopology(args.id);
          } catch (NotAliveException e) {
            result.e = e;
          }
          return result;
        }
      }
  
      public static class getUserTopology<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getUserTopology_args> {
        public getUserTopology() {
          super("getUserTopology");
        }
  
        public getUserTopology_args getEmptyArgsInstance() {
          return new getUserTopology_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getUserTopology_result getResult(I iface, getUserTopology_args args) throws org.apache.thrift.TException {
          getUserTopology_result result = new getUserTopology_result();
          try {
            result.success = iface.getUserTopology(args.id);
          } catch (NotAliveException e) {
            result.e = e;
          }
          return result;
        }
      }
  
      public static class notifyThisTopologyTasksIsDead<I extends Iface> extends org.apache.thrift.ProcessFunction<I, notifyThisTopologyTasksIsDead_args> {
        public notifyThisTopologyTasksIsDead() {
          super("notifyThisTopologyTasksIsDead");
        }
  
        public notifyThisTopologyTasksIsDead_args getEmptyArgsInstance() {
          return new notifyThisTopologyTasksIsDead_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public notifyThisTopologyTasksIsDead_result getResult(I iface, notifyThisTopologyTasksIsDead_args args) throws org.apache.thrift.TException {
          notifyThisTopologyTasksIsDead_result result = new notifyThisTopologyTasksIsDead_result();
          iface.notifyThisTopologyTasksIsDead(args.topologyId);
          return result;
        }
      }
  
      public static class uploadTopologyMetrics<I extends Iface> extends org.apache.thrift.ProcessFunction<I, uploadTopologyMetrics_args> {
        public uploadTopologyMetrics() {
          super("uploadTopologyMetrics");
        }
  
        public uploadTopologyMetrics_args getEmptyArgsInstance() {
          return new uploadTopologyMetrics_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public uploadTopologyMetrics_result getResult(I iface, uploadTopologyMetrics_args args) throws org.apache.thrift.TException {
          uploadTopologyMetrics_result result = new uploadTopologyMetrics_result();
          iface.uploadTopologyMetrics(args.topologyId, args.topologyMetrics);
          return result;
        }
      }
  
      public static class registerMetrics<I extends Iface> extends org.apache.thrift.ProcessFunction<I, registerMetrics_args> {
        public registerMetrics() {
          super("registerMetrics");
        }
  
        public registerMetrics_args getEmptyArgsInstance() {
          return new registerMetrics_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public registerMetrics_result getResult(I iface, registerMetrics_args args) throws org.apache.thrift.TException {
          registerMetrics_result result = new registerMetrics_result();
          result.success = iface.registerMetrics(args.topologyId, args.metrics);
          return result;
        }
      }
  
      public static class getTopologyMetrics<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTopologyMetrics_args> {
        public getTopologyMetrics() {
          super("getTopologyMetrics");
        }
  
        public getTopologyMetrics_args getEmptyArgsInstance() {
          return new getTopologyMetrics_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getTopologyMetrics_result getResult(I iface, getTopologyMetrics_args args) throws org.apache.thrift.TException {
          getTopologyMetrics_result result = new getTopologyMetrics_result();
          result.success = iface.getTopologyMetrics(args.topologyId);
          return result;
        }
      }
  
      public static class getMetrics<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getMetrics_args> {
        public getMetrics() {
          super("getMetrics");
        }
  
        public getMetrics_args getEmptyArgsInstance() {
          return new getMetrics_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getMetrics_result getResult(I iface, getMetrics_args args) throws org.apache.thrift.TException {
          getMetrics_result result = new getMetrics_result();
          result.success = iface.getMetrics(args.topologyId, args.type);
          return result;
        }
      }
  
      public static class getNettyMetrics<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getNettyMetrics_args> {
        public getNettyMetrics() {
          super("getNettyMetrics");
        }
  
        public getNettyMetrics_args getEmptyArgsInstance() {
          return new getNettyMetrics_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getNettyMetrics_result getResult(I iface, getNettyMetrics_args args) throws org.apache.thrift.TException {
          getNettyMetrics_result result = new getNettyMetrics_result();
          result.success = iface.getNettyMetrics(args.topologyId);
          return result;
        }
      }
  
      public static class getNettyMetricsByHost<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getNettyMetricsByHost_args> {
        public getNettyMetricsByHost() {
          super("getNettyMetricsByHost");
        }
  
        public getNettyMetricsByHost_args getEmptyArgsInstance() {
          return new getNettyMetricsByHost_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getNettyMetricsByHost_result getResult(I iface, getNettyMetricsByHost_args args) throws org.apache.thrift.TException {
          getNettyMetricsByHost_result result = new getNettyMetricsByHost_result();
          result.success = iface.getNettyMetricsByHost(args.topologyId, args.host);
          return result;
        }
      }
  
      public static class getPagingNettyMetrics<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getPagingNettyMetrics_args> {
        public getPagingNettyMetrics() {
          super("getPagingNettyMetrics");
        }
  
        public getPagingNettyMetrics_args getEmptyArgsInstance() {
          return new getPagingNettyMetrics_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getPagingNettyMetrics_result getResult(I iface, getPagingNettyMetrics_args args) throws org.apache.thrift.TException {
          getPagingNettyMetrics_result result = new getPagingNettyMetrics_result();
          result.success = iface.getPagingNettyMetrics(args.topologyId, args.host, args.page);
          return result;
        }
      }
  
      public static class getNettyMetricSizeByHost<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getNettyMetricSizeByHost_args> {
        public getNettyMetricSizeByHost() {
          super("getNettyMetricSizeByHost");
        }
  
        public getNettyMetricSizeByHost_args getEmptyArgsInstance() {
          return new getNettyMetricSizeByHost_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getNettyMetricSizeByHost_result getResult(I iface, getNettyMetricSizeByHost_args args) throws org.apache.thrift.TException {
          getNettyMetricSizeByHost_result result = new getNettyMetricSizeByHost_result();
          result.success = iface.getNettyMetricSizeByHost(args.topologyId, args.host);
          result.set_success_isSet(true);
          return result;
        }
      }
  
      public static class getTaskMetrics<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTaskMetrics_args> {
        public getTaskMetrics() {
          super("getTaskMetrics");
        }
  
        public getTaskMetrics_args getEmptyArgsInstance() {
          return new getTaskMetrics_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getTaskMetrics_result getResult(I iface, getTaskMetrics_args args) throws org.apache.thrift.TException {
          getTaskMetrics_result result = new getTaskMetrics_result();
          result.success = iface.getTaskMetrics(args.topologyId, args.component);
          return result;
        }
      }
  
      public static class getTaskAndStreamMetrics<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTaskAndStreamMetrics_args> {
        public getTaskAndStreamMetrics() {
          super("getTaskAndStreamMetrics");
        }
  
        public getTaskAndStreamMetrics_args getEmptyArgsInstance() {
          return new getTaskAndStreamMetrics_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getTaskAndStreamMetrics_result getResult(I iface, getTaskAndStreamMetrics_args args) throws org.apache.thrift.TException {
          getTaskAndStreamMetrics_result result = new getTaskAndStreamMetrics_result();
          result.success = iface.getTaskAndStreamMetrics(args.topologyId, args.taskId);
          return result;
        }
      }
  
      public static class getSummarizedTopologyMetrics<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getSummarizedTopologyMetrics_args> {
        public getSummarizedTopologyMetrics() {
          super("getSummarizedTopologyMetrics");
        }
  
        public getSummarizedTopologyMetrics_args getEmptyArgsInstance() {
          return new getSummarizedTopologyMetrics_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getSummarizedTopologyMetrics_result getResult(I iface, getSummarizedTopologyMetrics_args args) throws org.apache.thrift.TException {
          getSummarizedTopologyMetrics_result result = new getSummarizedTopologyMetrics_result();
          result.success = iface.getSummarizedTopologyMetrics(args.topologyId);
          return result;
        }
      }
  
      public static class getVersion<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getVersion_args> {
        public getVersion() {
          super("getVersion");
        }
  
        public getVersion_args getEmptyArgsInstance() {
          return new getVersion_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public getVersion_result getResult(I iface, getVersion_args args) throws org.apache.thrift.TException {
          getVersion_result result = new getVersion_result();
          result.success = iface.getVersion();
          return result;
        }
      }
  
      public static class updateTopology<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateTopology_args> {
        public updateTopology() {
          super("updateTopology");
        }
  
        public updateTopology_args getEmptyArgsInstance() {
          return new updateTopology_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public updateTopology_result getResult(I iface, updateTopology_args args) throws org.apache.thrift.TException {
          updateTopology_result result = new updateTopology_result();
          try {
            iface.updateTopology(args.name, args.uploadedLocation, args.updateConf);
          } catch (NotAliveException e) {
            result.e = e;
          } catch (InvalidTopologyException ite) {
            result.ite = ite;
          }
          return result;
        }
      }
  
      public static class updateTaskHeartbeat<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateTaskHeartbeat_args> {
        public updateTaskHeartbeat() {
          super("updateTaskHeartbeat");
        }
  
        public updateTaskHeartbeat_args getEmptyArgsInstance() {
          return new updateTaskHeartbeat_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public updateTaskHeartbeat_result getResult(I iface, updateTaskHeartbeat_args args) throws org.apache.thrift.TException {
          updateTaskHeartbeat_result result = new updateTaskHeartbeat_result();
          iface.updateTaskHeartbeat(args.taskHbs);
          return result;
        }
      }
  
      public static class setHostInBlackList<I extends Iface> extends org.apache.thrift.ProcessFunction<I, setHostInBlackList_args> {
        public setHostInBlackList() {
          super("setHostInBlackList");
        }
  
        public setHostInBlackList_args getEmptyArgsInstance() {
          return new setHostInBlackList_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public setHostInBlackList_result getResult(I iface, setHostInBlackList_args args) throws org.apache.thrift.TException {
          setHostInBlackList_result result = new setHostInBlackList_result();
          iface.setHostInBlackList(args.host);
          return result;
        }
      }
  
      public static class removeHostOutBlackList<I extends Iface> extends org.apache.thrift.ProcessFunction<I, removeHostOutBlackList_args> {
        public removeHostOutBlackList() {
          super("removeHostOutBlackList");
        }
  
        public removeHostOutBlackList_args getEmptyArgsInstance() {
          return new removeHostOutBlackList_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public removeHostOutBlackList_result getResult(I iface, removeHostOutBlackList_args args) throws org.apache.thrift.TException {
          removeHostOutBlackList_result result = new removeHostOutBlackList_result();
          iface.removeHostOutBlackList(args.host);
          return result;
        }
      }
  
      public static class deleteMetricMeta<I extends Iface> extends org.apache.thrift.ProcessFunction<I, deleteMetricMeta_args> {
        public deleteMetricMeta() {
          super("deleteMetricMeta");
        }
  
        public deleteMetricMeta_args getEmptyArgsInstance() {
          return new deleteMetricMeta_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public deleteMetricMeta_result getResult(I iface, deleteMetricMeta_args args) throws org.apache.thrift.TException {
          deleteMetricMeta_result result = new deleteMetricMeta_result();
          iface.deleteMetricMeta(args.topologyId, args.metaType, args.idList);
          return result;
        }
      }
  
      public static class grayUpgrade<I extends Iface> extends org.apache.thrift.ProcessFunction<I, grayUpgrade_args> {
        public grayUpgrade() {
          super("grayUpgrade");
        }
  
        public grayUpgrade_args getEmptyArgsInstance() {
          return new grayUpgrade_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public grayUpgrade_result getResult(I iface, grayUpgrade_args args) throws org.apache.thrift.TException {
          grayUpgrade_result result = new grayUpgrade_result();
          iface.grayUpgrade(args.topologyName, args.component, args.workers, args.workerNum);
          return result;
        }
      }
  
      public static class rollbackTopology<I extends Iface> extends org.apache.thrift.ProcessFunction<I, rollbackTopology_args> {
        public rollbackTopology() {
          super("rollbackTopology");
        }
  
        public rollbackTopology_args getEmptyArgsInstance() {
          return new rollbackTopology_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public rollbackTopology_result getResult(I iface, rollbackTopology_args args) throws org.apache.thrift.TException {
          rollbackTopology_result result = new rollbackTopology_result();
          iface.rollbackTopology(args.topologyName);
          return result;
        }
      }
  
      public static class completeUpgrade<I extends Iface> extends org.apache.thrift.ProcessFunction<I, completeUpgrade_args> {
        public completeUpgrade() {
          super("completeUpgrade");
        }
  
        public completeUpgrade_args getEmptyArgsInstance() {
          return new completeUpgrade_args();
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public completeUpgrade_result getResult(I iface, completeUpgrade_args args) throws org.apache.thrift.TException {
          completeUpgrade_result result = new completeUpgrade_result();
          iface.completeUpgrade(args.topologyName);
          return result;
        }
      }
  
    }
  
    public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
      private static final Logger LOGGER = LoggerFactory.getLogger(AsyncProcessor.class.getName());
      public AsyncProcessor(I iface) {
        super(iface, getProcessMap(new HashMap<String, org.apache.thrift.AsyncProcessFunction<I, ? extends org.apache.thrift.TBase, ?>>()));
      }
  
      protected AsyncProcessor(I iface, Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
        super(iface, getProcessMap(processMap));
      }
  
      private static <I extends AsyncIface> Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
        processMap.put("submitTopology", new submitTopology());
        processMap.put("submitTopologyWithOpts", new submitTopologyWithOpts());
        processMap.put("killTopology", new killTopology());
        processMap.put("killTopologyWithOpts", new killTopologyWithOpts());
        processMap.put("activate", new activate());
        processMap.put("deactivate", new deactivate());
        processMap.put("rebalance", new rebalance());
        processMap.put("metricMonitor", new metricMonitor());
        processMap.put("restart", new restart());
        processMap.put("beginCreateBlob", new beginCreateBlob());
        processMap.put("beginUpdateBlob", new beginUpdateBlob());
        processMap.put("uploadBlobChunk", new uploadBlobChunk());
        processMap.put("finishBlobUpload", new finishBlobUpload());
        processMap.put("cancelBlobUpload", new cancelBlobUpload());
        processMap.put("getBlobMeta", new getBlobMeta());
        processMap.put("setBlobMeta", new setBlobMeta());
        processMap.put("beginBlobDownload", new beginBlobDownload());
        processMap.put("downloadBlobChunk", new downloadBlobChunk());
        processMap.put("deleteBlob", new deleteBlob());
        processMap.put("listBlobs", new listBlobs());
        processMap.put("getBlobReplication", new getBlobReplication());
        processMap.put("updateBlobReplication", new updateBlobReplication());
        processMap.put("createStateInZookeeper", new createStateInZookeeper());
        processMap.put("beginLibUpload", new beginLibUpload());
        processMap.put("beginFileUpload", new beginFileUpload());
        processMap.put("uploadChunk", new uploadChunk());
        processMap.put("finishFileUpload", new finishFileUpload());
        processMap.put("beginFileDownload", new beginFileDownload());
        processMap.put("downloadChunk", new downloadChunk());
        processMap.put("finishFileDownload", new finishFileDownload());
        processMap.put("getNimbusConf", new getNimbusConf());
        processMap.put("getStormRawConf", new getStormRawConf());
        processMap.put("getSupervisorConf", new getSupervisorConf());
        processMap.put("getTopologyConf", new getTopologyConf());
        processMap.put("getTopologyId", new getTopologyId());
        processMap.put("getClusterInfo", new getClusterInfo());
        processMap.put("getSupervisorWorkers", new getSupervisorWorkers());
        processMap.put("getSupervisorWorkersById", new getSupervisorWorkersById());
        processMap.put("getTopologyInfo", new getTopologyInfo());
        processMap.put("getTopologyInfoByName", new getTopologyInfoByName());
        processMap.put("getTopologyTasksToSupervisorIds", new getTopologyTasksToSupervisorIds());
        processMap.put("getTopologyWorkersToSupervisorIds", new getTopologyWorkersToSupervisorIds());
        processMap.put("getTopology", new getTopology());
        processMap.put("getUserTopology", new getUserTopology());
        processMap.put("notifyThisTopologyTasksIsDead", new notifyThisTopologyTasksIsDead());
        processMap.put("uploadTopologyMetrics", new uploadTopologyMetrics());
        processMap.put("registerMetrics", new registerMetrics());
        processMap.put("getTopologyMetrics", new getTopologyMetrics());
        processMap.put("getMetrics", new getMetrics());
        processMap.put("getNettyMetrics", new getNettyMetrics());
        processMap.put("getNettyMetricsByHost", new getNettyMetricsByHost());
        processMap.put("getPagingNettyMetrics", new getPagingNettyMetrics());
        processMap.put("getNettyMetricSizeByHost", new getNettyMetricSizeByHost());
        processMap.put("getTaskMetrics", new getTaskMetrics());
        processMap.put("getTaskAndStreamMetrics", new getTaskAndStreamMetrics());
        processMap.put("getSummarizedTopologyMetrics", new getSummarizedTopologyMetrics());
        processMap.put("getVersion", new getVersion());
        processMap.put("updateTopology", new updateTopology());
        processMap.put("updateTaskHeartbeat", new updateTaskHeartbeat());
        processMap.put("setHostInBlackList", new setHostInBlackList());
        processMap.put("removeHostOutBlackList", new removeHostOutBlackList());
        processMap.put("deleteMetricMeta", new deleteMetricMeta());
        processMap.put("grayUpgrade", new grayUpgrade());
        processMap.put("rollbackTopology", new rollbackTopology());
        processMap.put("completeUpgrade", new completeUpgrade());
        return processMap;
      }
  
      public static class submitTopology<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, submitTopology_args, String> {
        public submitTopology() {
          super("submitTopology");
        }
  
        public submitTopology_args getEmptyArgsInstance() {
          return new submitTopology_args();
        }
  
        public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<String>() { 
            public void onComplete(String o) {
              submitTopology_result result = new submitTopology_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              submitTopology_result result = new submitTopology_result();
              if (e instanceof AlreadyAliveException) {
                          result.e = (AlreadyAliveException) e;
                          result.set_e_isSet(true);
                          msg = result;
              }
              else             if (e instanceof InvalidTopologyException) {
                          result.ite = (InvalidTopologyException) e;
                          result.set_ite_isSet(true);
                          msg = result;
              }
              else             if (e instanceof TopologyAssignException) {
                          result.tae = (TopologyAssignException) e;
                          result.set_tae_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, submitTopology_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
          iface.submitTopology(args.name, args.uploadedJarLocation, args.jsonConf, args.topology,resultHandler);
        }
      }
  
      public static class submitTopologyWithOpts<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, submitTopologyWithOpts_args, String> {
        public submitTopologyWithOpts() {
          super("submitTopologyWithOpts");
        }
  
        public submitTopologyWithOpts_args getEmptyArgsInstance() {
          return new submitTopologyWithOpts_args();
        }
  
        public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<String>() { 
            public void onComplete(String o) {
              submitTopologyWithOpts_result result = new submitTopologyWithOpts_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              submitTopologyWithOpts_result result = new submitTopologyWithOpts_result();
              if (e instanceof AlreadyAliveException) {
                          result.e = (AlreadyAliveException) e;
                          result.set_e_isSet(true);
                          msg = result;
              }
              else             if (e instanceof InvalidTopologyException) {
                          result.ite = (InvalidTopologyException) e;
                          result.set_ite_isSet(true);
                          msg = result;
              }
              else             if (e instanceof TopologyAssignException) {
                          result.tae = (TopologyAssignException) e;
                          result.set_tae_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, submitTopologyWithOpts_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
          iface.submitTopologyWithOpts(args.name, args.uploadedJarLocation, args.jsonConf, args.topology, args.options,resultHandler);
        }
      }
  
      public static class killTopology<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, killTopology_args, Void> {
        public killTopology() {
          super("killTopology");
        }
  
        public killTopology_args getEmptyArgsInstance() {
          return new killTopology_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              killTopology_result result = new killTopology_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              killTopology_result result = new killTopology_result();
              if (e instanceof NotAliveException) {
                          result.e = (NotAliveException) e;
                          result.set_e_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, killTopology_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.killTopology(args.name,resultHandler);
        }
      }
  
      public static class killTopologyWithOpts<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, killTopologyWithOpts_args, Void> {
        public killTopologyWithOpts() {
          super("killTopologyWithOpts");
        }
  
        public killTopologyWithOpts_args getEmptyArgsInstance() {
          return new killTopologyWithOpts_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              killTopologyWithOpts_result result = new killTopologyWithOpts_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              killTopologyWithOpts_result result = new killTopologyWithOpts_result();
              if (e instanceof NotAliveException) {
                          result.e = (NotAliveException) e;
                          result.set_e_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, killTopologyWithOpts_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.killTopologyWithOpts(args.name, args.options,resultHandler);
        }
      }
  
      public static class activate<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, activate_args, Void> {
        public activate() {
          super("activate");
        }
  
        public activate_args getEmptyArgsInstance() {
          return new activate_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              activate_result result = new activate_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              activate_result result = new activate_result();
              if (e instanceof NotAliveException) {
                          result.e = (NotAliveException) e;
                          result.set_e_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, activate_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.activate(args.name,resultHandler);
        }
      }
  
      public static class deactivate<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deactivate_args, Void> {
        public deactivate() {
          super("deactivate");
        }
  
        public deactivate_args getEmptyArgsInstance() {
          return new deactivate_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              deactivate_result result = new deactivate_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              deactivate_result result = new deactivate_result();
              if (e instanceof NotAliveException) {
                          result.e = (NotAliveException) e;
                          result.set_e_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, deactivate_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.deactivate(args.name,resultHandler);
        }
      }
  
      public static class rebalance<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, rebalance_args, Void> {
        public rebalance() {
          super("rebalance");
        }
  
        public rebalance_args getEmptyArgsInstance() {
          return new rebalance_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              rebalance_result result = new rebalance_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              rebalance_result result = new rebalance_result();
              if (e instanceof NotAliveException) {
                          result.e = (NotAliveException) e;
                          result.set_e_isSet(true);
                          msg = result;
              }
              else             if (e instanceof InvalidTopologyException) {
                          result.ite = (InvalidTopologyException) e;
                          result.set_ite_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, rebalance_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.rebalance(args.name, args.options,resultHandler);
        }
      }
  
      public static class metricMonitor<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, metricMonitor_args, Void> {
        public metricMonitor() {
          super("metricMonitor");
        }
  
        public metricMonitor_args getEmptyArgsInstance() {
          return new metricMonitor_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              metricMonitor_result result = new metricMonitor_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              metricMonitor_result result = new metricMonitor_result();
              if (e instanceof NotAliveException) {
                          result.e = (NotAliveException) e;
                          result.set_e_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, metricMonitor_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.metricMonitor(args.name, args.options,resultHandler);
        }
      }
  
      public static class restart<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, restart_args, Void> {
        public restart() {
          super("restart");
        }
  
        public restart_args getEmptyArgsInstance() {
          return new restart_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              restart_result result = new restart_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              restart_result result = new restart_result();
              if (e instanceof NotAliveException) {
                          result.e = (NotAliveException) e;
                          result.set_e_isSet(true);
                          msg = result;
              }
              else             if (e instanceof InvalidTopologyException) {
                          result.ite = (InvalidTopologyException) e;
                          result.set_ite_isSet(true);
                          msg = result;
              }
              else             if (e instanceof TopologyAssignException) {
                          result.tae = (TopologyAssignException) e;
                          result.set_tae_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, restart_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.restart(args.name, args.jsonConf,resultHandler);
        }
      }
  
      public static class beginCreateBlob<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, beginCreateBlob_args, String> {
        public beginCreateBlob() {
          super("beginCreateBlob");
        }
  
        public beginCreateBlob_args getEmptyArgsInstance() {
          return new beginCreateBlob_args();
        }
  
        public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<String>() { 
            public void onComplete(String o) {
              beginCreateBlob_result result = new beginCreateBlob_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              beginCreateBlob_result result = new beginCreateBlob_result();
              if (e instanceof KeyAlreadyExistsException) {
                          result.kae = (KeyAlreadyExistsException) e;
                          result.set_kae_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, beginCreateBlob_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
          iface.beginCreateBlob(args.key, args.meta,resultHandler);
        }
      }
  
      public static class beginUpdateBlob<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, beginUpdateBlob_args, String> {
        public beginUpdateBlob() {
          super("beginUpdateBlob");
        }
  
        public beginUpdateBlob_args getEmptyArgsInstance() {
          return new beginUpdateBlob_args();
        }
  
        public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<String>() { 
            public void onComplete(String o) {
              beginUpdateBlob_result result = new beginUpdateBlob_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              beginUpdateBlob_result result = new beginUpdateBlob_result();
              if (e instanceof KeyNotFoundException) {
                          result.knf = (KeyNotFoundException) e;
                          result.set_knf_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, beginUpdateBlob_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
          iface.beginUpdateBlob(args.key,resultHandler);
        }
      }
  
      public static class uploadBlobChunk<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, uploadBlobChunk_args, Void> {
        public uploadBlobChunk() {
          super("uploadBlobChunk");
        }
  
        public uploadBlobChunk_args getEmptyArgsInstance() {
          return new uploadBlobChunk_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              uploadBlobChunk_result result = new uploadBlobChunk_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              uploadBlobChunk_result result = new uploadBlobChunk_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, uploadBlobChunk_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.uploadBlobChunk(args.session, args.chunk,resultHandler);
        }
      }
  
      public static class finishBlobUpload<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, finishBlobUpload_args, Void> {
        public finishBlobUpload() {
          super("finishBlobUpload");
        }
  
        public finishBlobUpload_args getEmptyArgsInstance() {
          return new finishBlobUpload_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              finishBlobUpload_result result = new finishBlobUpload_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              finishBlobUpload_result result = new finishBlobUpload_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, finishBlobUpload_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.finishBlobUpload(args.session,resultHandler);
        }
      }
  
      public static class cancelBlobUpload<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, cancelBlobUpload_args, Void> {
        public cancelBlobUpload() {
          super("cancelBlobUpload");
        }
  
        public cancelBlobUpload_args getEmptyArgsInstance() {
          return new cancelBlobUpload_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              cancelBlobUpload_result result = new cancelBlobUpload_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              cancelBlobUpload_result result = new cancelBlobUpload_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, cancelBlobUpload_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.cancelBlobUpload(args.session,resultHandler);
        }
      }
  
      public static class getBlobMeta<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getBlobMeta_args, ReadableBlobMeta> {
        public getBlobMeta() {
          super("getBlobMeta");
        }
  
        public getBlobMeta_args getEmptyArgsInstance() {
          return new getBlobMeta_args();
        }
  
        public AsyncMethodCallback<ReadableBlobMeta> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<ReadableBlobMeta>() { 
            public void onComplete(ReadableBlobMeta o) {
              getBlobMeta_result result = new getBlobMeta_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getBlobMeta_result result = new getBlobMeta_result();
              if (e instanceof KeyNotFoundException) {
                          result.knf = (KeyNotFoundException) e;
                          result.set_knf_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getBlobMeta_args args, org.apache.thrift.async.AsyncMethodCallback<ReadableBlobMeta> resultHandler) throws TException {
          iface.getBlobMeta(args.key,resultHandler);
        }
      }
  
      public static class setBlobMeta<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, setBlobMeta_args, Void> {
        public setBlobMeta() {
          super("setBlobMeta");
        }
  
        public setBlobMeta_args getEmptyArgsInstance() {
          return new setBlobMeta_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              setBlobMeta_result result = new setBlobMeta_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              setBlobMeta_result result = new setBlobMeta_result();
              if (e instanceof KeyNotFoundException) {
                          result.knf = (KeyNotFoundException) e;
                          result.set_knf_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, setBlobMeta_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.setBlobMeta(args.key, args.meta,resultHandler);
        }
      }
  
      public static class beginBlobDownload<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, beginBlobDownload_args, BeginDownloadResult> {
        public beginBlobDownload() {
          super("beginBlobDownload");
        }
  
        public beginBlobDownload_args getEmptyArgsInstance() {
          return new beginBlobDownload_args();
        }
  
        public AsyncMethodCallback<BeginDownloadResult> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<BeginDownloadResult>() { 
            public void onComplete(BeginDownloadResult o) {
              beginBlobDownload_result result = new beginBlobDownload_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              beginBlobDownload_result result = new beginBlobDownload_result();
              if (e instanceof KeyNotFoundException) {
                          result.knf = (KeyNotFoundException) e;
                          result.set_knf_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, beginBlobDownload_args args, org.apache.thrift.async.AsyncMethodCallback<BeginDownloadResult> resultHandler) throws TException {
          iface.beginBlobDownload(args.key,resultHandler);
        }
      }
  
      public static class downloadBlobChunk<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, downloadBlobChunk_args, ByteBuffer> {
        public downloadBlobChunk() {
          super("downloadBlobChunk");
        }
  
        public downloadBlobChunk_args getEmptyArgsInstance() {
          return new downloadBlobChunk_args();
        }
  
        public AsyncMethodCallback<ByteBuffer> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<ByteBuffer>() { 
            public void onComplete(ByteBuffer o) {
              downloadBlobChunk_result result = new downloadBlobChunk_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              downloadBlobChunk_result result = new downloadBlobChunk_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, downloadBlobChunk_args args, org.apache.thrift.async.AsyncMethodCallback<ByteBuffer> resultHandler) throws TException {
          iface.downloadBlobChunk(args.session,resultHandler);
        }
      }
  
      public static class deleteBlob<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteBlob_args, Void> {
        public deleteBlob() {
          super("deleteBlob");
        }
  
        public deleteBlob_args getEmptyArgsInstance() {
          return new deleteBlob_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              deleteBlob_result result = new deleteBlob_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              deleteBlob_result result = new deleteBlob_result();
              if (e instanceof KeyNotFoundException) {
                          result.knf = (KeyNotFoundException) e;
                          result.set_knf_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, deleteBlob_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.deleteBlob(args.key,resultHandler);
        }
      }
  
      public static class listBlobs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, listBlobs_args, ListBlobsResult> {
        public listBlobs() {
          super("listBlobs");
        }
  
        public listBlobs_args getEmptyArgsInstance() {
          return new listBlobs_args();
        }
  
        public AsyncMethodCallback<ListBlobsResult> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<ListBlobsResult>() { 
            public void onComplete(ListBlobsResult o) {
              listBlobs_result result = new listBlobs_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              listBlobs_result result = new listBlobs_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, listBlobs_args args, org.apache.thrift.async.AsyncMethodCallback<ListBlobsResult> resultHandler) throws TException {
          iface.listBlobs(args.session,resultHandler);
        }
      }
  
      public static class getBlobReplication<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getBlobReplication_args, Integer> {
        public getBlobReplication() {
          super("getBlobReplication");
        }
  
        public getBlobReplication_args getEmptyArgsInstance() {
          return new getBlobReplication_args();
        }
  
        public AsyncMethodCallback<Integer> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Integer>() { 
            public void onComplete(Integer o) {
              getBlobReplication_result result = new getBlobReplication_result();
              result.success = o;
              result.set_success_isSet(true);
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getBlobReplication_result result = new getBlobReplication_result();
              if (e instanceof KeyNotFoundException) {
                          result.knf = (KeyNotFoundException) e;
                          result.set_knf_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getBlobReplication_args args, org.apache.thrift.async.AsyncMethodCallback<Integer> resultHandler) throws TException {
          iface.getBlobReplication(args.key,resultHandler);
        }
      }
  
      public static class updateBlobReplication<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateBlobReplication_args, Integer> {
        public updateBlobReplication() {
          super("updateBlobReplication");
        }
  
        public updateBlobReplication_args getEmptyArgsInstance() {
          return new updateBlobReplication_args();
        }
  
        public AsyncMethodCallback<Integer> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Integer>() { 
            public void onComplete(Integer o) {
              updateBlobReplication_result result = new updateBlobReplication_result();
              result.success = o;
              result.set_success_isSet(true);
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              updateBlobReplication_result result = new updateBlobReplication_result();
              if (e instanceof KeyNotFoundException) {
                          result.knf = (KeyNotFoundException) e;
                          result.set_knf_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, updateBlobReplication_args args, org.apache.thrift.async.AsyncMethodCallback<Integer> resultHandler) throws TException {
          iface.updateBlobReplication(args.key, args.replication,resultHandler);
        }
      }
  
      public static class createStateInZookeeper<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createStateInZookeeper_args, Void> {
        public createStateInZookeeper() {
          super("createStateInZookeeper");
        }
  
        public createStateInZookeeper_args getEmptyArgsInstance() {
          return new createStateInZookeeper_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              createStateInZookeeper_result result = new createStateInZookeeper_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              createStateInZookeeper_result result = new createStateInZookeeper_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, createStateInZookeeper_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.createStateInZookeeper(args.key,resultHandler);
        }
      }
  
      public static class beginLibUpload<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, beginLibUpload_args, Void> {
        public beginLibUpload() {
          super("beginLibUpload");
        }
  
        public beginLibUpload_args getEmptyArgsInstance() {
          return new beginLibUpload_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              beginLibUpload_result result = new beginLibUpload_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              beginLibUpload_result result = new beginLibUpload_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, beginLibUpload_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.beginLibUpload(args.libName,resultHandler);
        }
      }
  
      public static class beginFileUpload<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, beginFileUpload_args, String> {
        public beginFileUpload() {
          super("beginFileUpload");
        }
  
        public beginFileUpload_args getEmptyArgsInstance() {
          return new beginFileUpload_args();
        }
  
        public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<String>() { 
            public void onComplete(String o) {
              beginFileUpload_result result = new beginFileUpload_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              beginFileUpload_result result = new beginFileUpload_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, beginFileUpload_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
          iface.beginFileUpload(resultHandler);
        }
      }
  
      public static class uploadChunk<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, uploadChunk_args, Void> {
        public uploadChunk() {
          super("uploadChunk");
        }
  
        public uploadChunk_args getEmptyArgsInstance() {
          return new uploadChunk_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              uploadChunk_result result = new uploadChunk_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              uploadChunk_result result = new uploadChunk_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, uploadChunk_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.uploadChunk(args.location, args.chunk,resultHandler);
        }
      }
  
      public static class finishFileUpload<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, finishFileUpload_args, Void> {
        public finishFileUpload() {
          super("finishFileUpload");
        }
  
        public finishFileUpload_args getEmptyArgsInstance() {
          return new finishFileUpload_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              finishFileUpload_result result = new finishFileUpload_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              finishFileUpload_result result = new finishFileUpload_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, finishFileUpload_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.finishFileUpload(args.location,resultHandler);
        }
      }
  
      public static class beginFileDownload<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, beginFileDownload_args, String> {
        public beginFileDownload() {
          super("beginFileDownload");
        }
  
        public beginFileDownload_args getEmptyArgsInstance() {
          return new beginFileDownload_args();
        }
  
        public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<String>() { 
            public void onComplete(String o) {
              beginFileDownload_result result = new beginFileDownload_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              beginFileDownload_result result = new beginFileDownload_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, beginFileDownload_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
          iface.beginFileDownload(args.file,resultHandler);
        }
      }
  
      public static class downloadChunk<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, downloadChunk_args, ByteBuffer> {
        public downloadChunk() {
          super("downloadChunk");
        }
  
        public downloadChunk_args getEmptyArgsInstance() {
          return new downloadChunk_args();
        }
  
        public AsyncMethodCallback<ByteBuffer> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<ByteBuffer>() { 
            public void onComplete(ByteBuffer o) {
              downloadChunk_result result = new downloadChunk_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              downloadChunk_result result = new downloadChunk_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, downloadChunk_args args, org.apache.thrift.async.AsyncMethodCallback<ByteBuffer> resultHandler) throws TException {
          iface.downloadChunk(args.id,resultHandler);
        }
      }
  
      public static class finishFileDownload<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, finishFileDownload_args, Void> {
        public finishFileDownload() {
          super("finishFileDownload");
        }
  
        public finishFileDownload_args getEmptyArgsInstance() {
          return new finishFileDownload_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              finishFileDownload_result result = new finishFileDownload_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              finishFileDownload_result result = new finishFileDownload_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, finishFileDownload_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.finishFileDownload(args.id,resultHandler);
        }
      }
  
      public static class getNimbusConf<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getNimbusConf_args, String> {
        public getNimbusConf() {
          super("getNimbusConf");
        }
  
        public getNimbusConf_args getEmptyArgsInstance() {
          return new getNimbusConf_args();
        }
  
        public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<String>() { 
            public void onComplete(String o) {
              getNimbusConf_result result = new getNimbusConf_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getNimbusConf_result result = new getNimbusConf_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getNimbusConf_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
          iface.getNimbusConf(resultHandler);
        }
      }
  
      public static class getStormRawConf<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getStormRawConf_args, String> {
        public getStormRawConf() {
          super("getStormRawConf");
        }
  
        public getStormRawConf_args getEmptyArgsInstance() {
          return new getStormRawConf_args();
        }
  
        public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<String>() { 
            public void onComplete(String o) {
              getStormRawConf_result result = new getStormRawConf_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getStormRawConf_result result = new getStormRawConf_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getStormRawConf_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
          iface.getStormRawConf(resultHandler);
        }
      }
  
      public static class getSupervisorConf<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getSupervisorConf_args, String> {
        public getSupervisorConf() {
          super("getSupervisorConf");
        }
  
        public getSupervisorConf_args getEmptyArgsInstance() {
          return new getSupervisorConf_args();
        }
  
        public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<String>() { 
            public void onComplete(String o) {
              getSupervisorConf_result result = new getSupervisorConf_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getSupervisorConf_result result = new getSupervisorConf_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getSupervisorConf_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
          iface.getSupervisorConf(args.id,resultHandler);
        }
      }
  
      public static class getTopologyConf<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getTopologyConf_args, String> {
        public getTopologyConf() {
          super("getTopologyConf");
        }
  
        public getTopologyConf_args getEmptyArgsInstance() {
          return new getTopologyConf_args();
        }
  
        public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<String>() { 
            public void onComplete(String o) {
              getTopologyConf_result result = new getTopologyConf_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getTopologyConf_result result = new getTopologyConf_result();
              if (e instanceof NotAliveException) {
                          result.e = (NotAliveException) e;
                          result.set_e_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getTopologyConf_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
          iface.getTopologyConf(args.id,resultHandler);
        }
      }
  
      public static class getTopologyId<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getTopologyId_args, String> {
        public getTopologyId() {
          super("getTopologyId");
        }
  
        public getTopologyId_args getEmptyArgsInstance() {
          return new getTopologyId_args();
        }
  
        public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<String>() { 
            public void onComplete(String o) {
              getTopologyId_result result = new getTopologyId_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getTopologyId_result result = new getTopologyId_result();
              if (e instanceof NotAliveException) {
                          result.e = (NotAliveException) e;
                          result.set_e_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getTopologyId_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
          iface.getTopologyId(args.topologyName,resultHandler);
        }
      }
  
      public static class getClusterInfo<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getClusterInfo_args, ClusterSummary> {
        public getClusterInfo() {
          super("getClusterInfo");
        }
  
        public getClusterInfo_args getEmptyArgsInstance() {
          return new getClusterInfo_args();
        }
  
        public AsyncMethodCallback<ClusterSummary> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<ClusterSummary>() { 
            public void onComplete(ClusterSummary o) {
              getClusterInfo_result result = new getClusterInfo_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getClusterInfo_result result = new getClusterInfo_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getClusterInfo_args args, org.apache.thrift.async.AsyncMethodCallback<ClusterSummary> resultHandler) throws TException {
          iface.getClusterInfo(resultHandler);
        }
      }
  
      public static class getSupervisorWorkers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getSupervisorWorkers_args, SupervisorWorkers> {
        public getSupervisorWorkers() {
          super("getSupervisorWorkers");
        }
  
        public getSupervisorWorkers_args getEmptyArgsInstance() {
          return new getSupervisorWorkers_args();
        }
  
        public AsyncMethodCallback<SupervisorWorkers> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<SupervisorWorkers>() { 
            public void onComplete(SupervisorWorkers o) {
              getSupervisorWorkers_result result = new getSupervisorWorkers_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getSupervisorWorkers_result result = new getSupervisorWorkers_result();
              if (e instanceof NotAliveException) {
                          result.e = (NotAliveException) e;
                          result.set_e_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getSupervisorWorkers_args args, org.apache.thrift.async.AsyncMethodCallback<SupervisorWorkers> resultHandler) throws TException {
          iface.getSupervisorWorkers(args.host,resultHandler);
        }
      }
  
      public static class getSupervisorWorkersById<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getSupervisorWorkersById_args, SupervisorWorkers> {
        public getSupervisorWorkersById() {
          super("getSupervisorWorkersById");
        }
  
        public getSupervisorWorkersById_args getEmptyArgsInstance() {
          return new getSupervisorWorkersById_args();
        }
  
        public AsyncMethodCallback<SupervisorWorkers> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<SupervisorWorkers>() { 
            public void onComplete(SupervisorWorkers o) {
              getSupervisorWorkersById_result result = new getSupervisorWorkersById_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getSupervisorWorkersById_result result = new getSupervisorWorkersById_result();
              if (e instanceof NotAliveException) {
                          result.e = (NotAliveException) e;
                          result.set_e_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getSupervisorWorkersById_args args, org.apache.thrift.async.AsyncMethodCallback<SupervisorWorkers> resultHandler) throws TException {
          iface.getSupervisorWorkersById(args.id,resultHandler);
        }
      }
  
      public static class getTopologyInfo<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getTopologyInfo_args, TopologyInfo> {
        public getTopologyInfo() {
          super("getTopologyInfo");
        }
  
        public getTopologyInfo_args getEmptyArgsInstance() {
          return new getTopologyInfo_args();
        }
  
        public AsyncMethodCallback<TopologyInfo> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<TopologyInfo>() { 
            public void onComplete(TopologyInfo o) {
              getTopologyInfo_result result = new getTopologyInfo_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getTopologyInfo_result result = new getTopologyInfo_result();
              if (e instanceof NotAliveException) {
                          result.e = (NotAliveException) e;
                          result.set_e_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getTopologyInfo_args args, org.apache.thrift.async.AsyncMethodCallback<TopologyInfo> resultHandler) throws TException {
          iface.getTopologyInfo(args.id,resultHandler);
        }
      }
  
      public static class getTopologyInfoByName<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getTopologyInfoByName_args, TopologyInfo> {
        public getTopologyInfoByName() {
          super("getTopologyInfoByName");
        }
  
        public getTopologyInfoByName_args getEmptyArgsInstance() {
          return new getTopologyInfoByName_args();
        }
  
        public AsyncMethodCallback<TopologyInfo> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<TopologyInfo>() { 
            public void onComplete(TopologyInfo o) {
              getTopologyInfoByName_result result = new getTopologyInfoByName_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getTopologyInfoByName_result result = new getTopologyInfoByName_result();
              if (e instanceof NotAliveException) {
                          result.e = (NotAliveException) e;
                          result.set_e_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getTopologyInfoByName_args args, org.apache.thrift.async.AsyncMethodCallback<TopologyInfo> resultHandler) throws TException {
          iface.getTopologyInfoByName(args.topologyName,resultHandler);
        }
      }
  
      public static class getTopologyTasksToSupervisorIds<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getTopologyTasksToSupervisorIds_args, Map<Integer,String>> {
        public getTopologyTasksToSupervisorIds() {
          super("getTopologyTasksToSupervisorIds");
        }
  
        public getTopologyTasksToSupervisorIds_args getEmptyArgsInstance() {
          return new getTopologyTasksToSupervisorIds_args();
        }
  
        public AsyncMethodCallback<Map<Integer,String>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Map<Integer,String>>() { 
            public void onComplete(Map<Integer,String> o) {
              getTopologyTasksToSupervisorIds_result result = new getTopologyTasksToSupervisorIds_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getTopologyTasksToSupervisorIds_result result = new getTopologyTasksToSupervisorIds_result();
              if (e instanceof NotAliveException) {
                          result.e = (NotAliveException) e;
                          result.set_e_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getTopologyTasksToSupervisorIds_args args, org.apache.thrift.async.AsyncMethodCallback<Map<Integer,String>> resultHandler) throws TException {
          iface.getTopologyTasksToSupervisorIds(args.topologyName,resultHandler);
        }
      }
  
      public static class getTopologyWorkersToSupervisorIds<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getTopologyWorkersToSupervisorIds_args, Map<String,Map<String,String>>> {
        public getTopologyWorkersToSupervisorIds() {
          super("getTopologyWorkersToSupervisorIds");
        }
  
        public getTopologyWorkersToSupervisorIds_args getEmptyArgsInstance() {
          return new getTopologyWorkersToSupervisorIds_args();
        }
  
        public AsyncMethodCallback<Map<String,Map<String,String>>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Map<String,Map<String,String>>>() { 
            public void onComplete(Map<String,Map<String,String>> o) {
              getTopologyWorkersToSupervisorIds_result result = new getTopologyWorkersToSupervisorIds_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getTopologyWorkersToSupervisorIds_result result = new getTopologyWorkersToSupervisorIds_result();
              if (e instanceof NotAliveException) {
                          result.e = (NotAliveException) e;
                          result.set_e_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getTopologyWorkersToSupervisorIds_args args, org.apache.thrift.async.AsyncMethodCallback<Map<String,Map<String,String>>> resultHandler) throws TException {
          iface.getTopologyWorkersToSupervisorIds(args.topologyName,resultHandler);
        }
      }
  
      public static class getTopology<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getTopology_args, StormTopology> {
        public getTopology() {
          super("getTopology");
        }
  
        public getTopology_args getEmptyArgsInstance() {
          return new getTopology_args();
        }
  
        public AsyncMethodCallback<StormTopology> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<StormTopology>() { 
            public void onComplete(StormTopology o) {
              getTopology_result result = new getTopology_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getTopology_result result = new getTopology_result();
              if (e instanceof NotAliveException) {
                          result.e = (NotAliveException) e;
                          result.set_e_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getTopology_args args, org.apache.thrift.async.AsyncMethodCallback<StormTopology> resultHandler) throws TException {
          iface.getTopology(args.id,resultHandler);
        }
      }
  
      public static class getUserTopology<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserTopology_args, StormTopology> {
        public getUserTopology() {
          super("getUserTopology");
        }
  
        public getUserTopology_args getEmptyArgsInstance() {
          return new getUserTopology_args();
        }
  
        public AsyncMethodCallback<StormTopology> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<StormTopology>() { 
            public void onComplete(StormTopology o) {
              getUserTopology_result result = new getUserTopology_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getUserTopology_result result = new getUserTopology_result();
              if (e instanceof NotAliveException) {
                          result.e = (NotAliveException) e;
                          result.set_e_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getUserTopology_args args, org.apache.thrift.async.AsyncMethodCallback<StormTopology> resultHandler) throws TException {
          iface.getUserTopology(args.id,resultHandler);
        }
      }
  
      public static class notifyThisTopologyTasksIsDead<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, notifyThisTopologyTasksIsDead_args, Void> {
        public notifyThisTopologyTasksIsDead() {
          super("notifyThisTopologyTasksIsDead");
        }
  
        public notifyThisTopologyTasksIsDead_args getEmptyArgsInstance() {
          return new notifyThisTopologyTasksIsDead_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              notifyThisTopologyTasksIsDead_result result = new notifyThisTopologyTasksIsDead_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              notifyThisTopologyTasksIsDead_result result = new notifyThisTopologyTasksIsDead_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, notifyThisTopologyTasksIsDead_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.notifyThisTopologyTasksIsDead(args.topologyId,resultHandler);
        }
      }
  
      public static class uploadTopologyMetrics<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, uploadTopologyMetrics_args, Void> {
        public uploadTopologyMetrics() {
          super("uploadTopologyMetrics");
        }
  
        public uploadTopologyMetrics_args getEmptyArgsInstance() {
          return new uploadTopologyMetrics_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              uploadTopologyMetrics_result result = new uploadTopologyMetrics_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              uploadTopologyMetrics_result result = new uploadTopologyMetrics_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, uploadTopologyMetrics_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.uploadTopologyMetrics(args.topologyId, args.topologyMetrics,resultHandler);
        }
      }
  
      public static class registerMetrics<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerMetrics_args, Map<String,Long>> {
        public registerMetrics() {
          super("registerMetrics");
        }
  
        public registerMetrics_args getEmptyArgsInstance() {
          return new registerMetrics_args();
        }
  
        public AsyncMethodCallback<Map<String,Long>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Map<String,Long>>() { 
            public void onComplete(Map<String,Long> o) {
              registerMetrics_result result = new registerMetrics_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              registerMetrics_result result = new registerMetrics_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, registerMetrics_args args, org.apache.thrift.async.AsyncMethodCallback<Map<String,Long>> resultHandler) throws TException {
          iface.registerMetrics(args.topologyId, args.metrics,resultHandler);
        }
      }
  
      public static class getTopologyMetrics<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getTopologyMetrics_args, TopologyMetric> {
        public getTopologyMetrics() {
          super("getTopologyMetrics");
        }
  
        public getTopologyMetrics_args getEmptyArgsInstance() {
          return new getTopologyMetrics_args();
        }
  
        public AsyncMethodCallback<TopologyMetric> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<TopologyMetric>() { 
            public void onComplete(TopologyMetric o) {
              getTopologyMetrics_result result = new getTopologyMetrics_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getTopologyMetrics_result result = new getTopologyMetrics_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getTopologyMetrics_args args, org.apache.thrift.async.AsyncMethodCallback<TopologyMetric> resultHandler) throws TException {
          iface.getTopologyMetrics(args.topologyId,resultHandler);
        }
      }
  
      public static class getMetrics<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getMetrics_args, List<MetricInfo>> {
        public getMetrics() {
          super("getMetrics");
        }
  
        public getMetrics_args getEmptyArgsInstance() {
          return new getMetrics_args();
        }
  
        public AsyncMethodCallback<List<MetricInfo>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<List<MetricInfo>>() { 
            public void onComplete(List<MetricInfo> o) {
              getMetrics_result result = new getMetrics_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getMetrics_result result = new getMetrics_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getMetrics_args args, org.apache.thrift.async.AsyncMethodCallback<List<MetricInfo>> resultHandler) throws TException {
          iface.getMetrics(args.topologyId, args.type,resultHandler);
        }
      }
  
      public static class getNettyMetrics<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getNettyMetrics_args, MetricInfo> {
        public getNettyMetrics() {
          super("getNettyMetrics");
        }
  
        public getNettyMetrics_args getEmptyArgsInstance() {
          return new getNettyMetrics_args();
        }
  
        public AsyncMethodCallback<MetricInfo> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<MetricInfo>() { 
            public void onComplete(MetricInfo o) {
              getNettyMetrics_result result = new getNettyMetrics_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getNettyMetrics_result result = new getNettyMetrics_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getNettyMetrics_args args, org.apache.thrift.async.AsyncMethodCallback<MetricInfo> resultHandler) throws TException {
          iface.getNettyMetrics(args.topologyId,resultHandler);
        }
      }
  
      public static class getNettyMetricsByHost<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getNettyMetricsByHost_args, MetricInfo> {
        public getNettyMetricsByHost() {
          super("getNettyMetricsByHost");
        }
  
        public getNettyMetricsByHost_args getEmptyArgsInstance() {
          return new getNettyMetricsByHost_args();
        }
  
        public AsyncMethodCallback<MetricInfo> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<MetricInfo>() { 
            public void onComplete(MetricInfo o) {
              getNettyMetricsByHost_result result = new getNettyMetricsByHost_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getNettyMetricsByHost_result result = new getNettyMetricsByHost_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getNettyMetricsByHost_args args, org.apache.thrift.async.AsyncMethodCallback<MetricInfo> resultHandler) throws TException {
          iface.getNettyMetricsByHost(args.topologyId, args.host,resultHandler);
        }
      }
  
      public static class getPagingNettyMetrics<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getPagingNettyMetrics_args, MetricInfo> {
        public getPagingNettyMetrics() {
          super("getPagingNettyMetrics");
        }
  
        public getPagingNettyMetrics_args getEmptyArgsInstance() {
          return new getPagingNettyMetrics_args();
        }
  
        public AsyncMethodCallback<MetricInfo> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<MetricInfo>() { 
            public void onComplete(MetricInfo o) {
              getPagingNettyMetrics_result result = new getPagingNettyMetrics_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getPagingNettyMetrics_result result = new getPagingNettyMetrics_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getPagingNettyMetrics_args args, org.apache.thrift.async.AsyncMethodCallback<MetricInfo> resultHandler) throws TException {
          iface.getPagingNettyMetrics(args.topologyId, args.host, args.page,resultHandler);
        }
      }
  
      public static class getNettyMetricSizeByHost<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getNettyMetricSizeByHost_args, Integer> {
        public getNettyMetricSizeByHost() {
          super("getNettyMetricSizeByHost");
        }
  
        public getNettyMetricSizeByHost_args getEmptyArgsInstance() {
          return new getNettyMetricSizeByHost_args();
        }
  
        public AsyncMethodCallback<Integer> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Integer>() { 
            public void onComplete(Integer o) {
              getNettyMetricSizeByHost_result result = new getNettyMetricSizeByHost_result();
              result.success = o;
              result.set_success_isSet(true);
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getNettyMetricSizeByHost_result result = new getNettyMetricSizeByHost_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getNettyMetricSizeByHost_args args, org.apache.thrift.async.AsyncMethodCallback<Integer> resultHandler) throws TException {
          iface.getNettyMetricSizeByHost(args.topologyId, args.host,resultHandler);
        }
      }
  
      public static class getTaskMetrics<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getTaskMetrics_args, MetricInfo> {
        public getTaskMetrics() {
          super("getTaskMetrics");
        }
  
        public getTaskMetrics_args getEmptyArgsInstance() {
          return new getTaskMetrics_args();
        }
  
        public AsyncMethodCallback<MetricInfo> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<MetricInfo>() { 
            public void onComplete(MetricInfo o) {
              getTaskMetrics_result result = new getTaskMetrics_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getTaskMetrics_result result = new getTaskMetrics_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getTaskMetrics_args args, org.apache.thrift.async.AsyncMethodCallback<MetricInfo> resultHandler) throws TException {
          iface.getTaskMetrics(args.topologyId, args.component,resultHandler);
        }
      }
  
      public static class getTaskAndStreamMetrics<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getTaskAndStreamMetrics_args, List<MetricInfo>> {
        public getTaskAndStreamMetrics() {
          super("getTaskAndStreamMetrics");
        }
  
        public getTaskAndStreamMetrics_args getEmptyArgsInstance() {
          return new getTaskAndStreamMetrics_args();
        }
  
        public AsyncMethodCallback<List<MetricInfo>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<List<MetricInfo>>() { 
            public void onComplete(List<MetricInfo> o) {
              getTaskAndStreamMetrics_result result = new getTaskAndStreamMetrics_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getTaskAndStreamMetrics_result result = new getTaskAndStreamMetrics_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getTaskAndStreamMetrics_args args, org.apache.thrift.async.AsyncMethodCallback<List<MetricInfo>> resultHandler) throws TException {
          iface.getTaskAndStreamMetrics(args.topologyId, args.taskId,resultHandler);
        }
      }
  
      public static class getSummarizedTopologyMetrics<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getSummarizedTopologyMetrics_args, List<MetricInfo>> {
        public getSummarizedTopologyMetrics() {
          super("getSummarizedTopologyMetrics");
        }
  
        public getSummarizedTopologyMetrics_args getEmptyArgsInstance() {
          return new getSummarizedTopologyMetrics_args();
        }
  
        public AsyncMethodCallback<List<MetricInfo>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<List<MetricInfo>>() { 
            public void onComplete(List<MetricInfo> o) {
              getSummarizedTopologyMetrics_result result = new getSummarizedTopologyMetrics_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getSummarizedTopologyMetrics_result result = new getSummarizedTopologyMetrics_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getSummarizedTopologyMetrics_args args, org.apache.thrift.async.AsyncMethodCallback<List<MetricInfo>> resultHandler) throws TException {
          iface.getSummarizedTopologyMetrics(args.topologyId,resultHandler);
        }
      }
  
      public static class getVersion<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getVersion_args, String> {
        public getVersion() {
          super("getVersion");
        }
  
        public getVersion_args getEmptyArgsInstance() {
          return new getVersion_args();
        }
  
        public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<String>() { 
            public void onComplete(String o) {
              getVersion_result result = new getVersion_result();
              result.success = o;
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              getVersion_result result = new getVersion_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, getVersion_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
          iface.getVersion(resultHandler);
        }
      }
  
      public static class updateTopology<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateTopology_args, Void> {
        public updateTopology() {
          super("updateTopology");
        }
  
        public updateTopology_args getEmptyArgsInstance() {
          return new updateTopology_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              updateTopology_result result = new updateTopology_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              updateTopology_result result = new updateTopology_result();
              if (e instanceof NotAliveException) {
                          result.e = (NotAliveException) e;
                          result.set_e_isSet(true);
                          msg = result;
              }
              else             if (e instanceof InvalidTopologyException) {
                          result.ite = (InvalidTopologyException) e;
                          result.set_ite_isSet(true);
                          msg = result;
              }
               else 
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, updateTopology_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.updateTopology(args.name, args.uploadedLocation, args.updateConf,resultHandler);
        }
      }
  
      public static class updateTaskHeartbeat<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateTaskHeartbeat_args, Void> {
        public updateTaskHeartbeat() {
          super("updateTaskHeartbeat");
        }
  
        public updateTaskHeartbeat_args getEmptyArgsInstance() {
          return new updateTaskHeartbeat_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              updateTaskHeartbeat_result result = new updateTaskHeartbeat_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              updateTaskHeartbeat_result result = new updateTaskHeartbeat_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, updateTaskHeartbeat_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.updateTaskHeartbeat(args.taskHbs,resultHandler);
        }
      }
  
      public static class setHostInBlackList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, setHostInBlackList_args, Void> {
        public setHostInBlackList() {
          super("setHostInBlackList");
        }
  
        public setHostInBlackList_args getEmptyArgsInstance() {
          return new setHostInBlackList_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              setHostInBlackList_result result = new setHostInBlackList_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              setHostInBlackList_result result = new setHostInBlackList_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, setHostInBlackList_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.setHostInBlackList(args.host,resultHandler);
        }
      }
  
      public static class removeHostOutBlackList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeHostOutBlackList_args, Void> {
        public removeHostOutBlackList() {
          super("removeHostOutBlackList");
        }
  
        public removeHostOutBlackList_args getEmptyArgsInstance() {
          return new removeHostOutBlackList_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              removeHostOutBlackList_result result = new removeHostOutBlackList_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              removeHostOutBlackList_result result = new removeHostOutBlackList_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, removeHostOutBlackList_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.removeHostOutBlackList(args.host,resultHandler);
        }
      }
  
      public static class deleteMetricMeta<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteMetricMeta_args, Void> {
        public deleteMetricMeta() {
          super("deleteMetricMeta");
        }
  
        public deleteMetricMeta_args getEmptyArgsInstance() {
          return new deleteMetricMeta_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              deleteMetricMeta_result result = new deleteMetricMeta_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              deleteMetricMeta_result result = new deleteMetricMeta_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, deleteMetricMeta_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.deleteMetricMeta(args.topologyId, args.metaType, args.idList,resultHandler);
        }
      }
  
      public static class grayUpgrade<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, grayUpgrade_args, Void> {
        public grayUpgrade() {
          super("grayUpgrade");
        }
  
        public grayUpgrade_args getEmptyArgsInstance() {
          return new grayUpgrade_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              grayUpgrade_result result = new grayUpgrade_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              grayUpgrade_result result = new grayUpgrade_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, grayUpgrade_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.grayUpgrade(args.topologyName, args.component, args.workers, args.workerNum,resultHandler);
        }
      }
  
      public static class rollbackTopology<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, rollbackTopology_args, Void> {
        public rollbackTopology() {
          super("rollbackTopology");
        }
  
        public rollbackTopology_args getEmptyArgsInstance() {
          return new rollbackTopology_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              rollbackTopology_result result = new rollbackTopology_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              rollbackTopology_result result = new rollbackTopology_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, rollbackTopology_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.rollbackTopology(args.topologyName,resultHandler);
        }
      }
  
      public static class completeUpgrade<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, completeUpgrade_args, Void> {
        public completeUpgrade() {
          super("completeUpgrade");
        }
  
        public completeUpgrade_args getEmptyArgsInstance() {
          return new completeUpgrade_args();
        }
  
        public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
          final org.apache.thrift.AsyncProcessFunction fcall = this;
          return new AsyncMethodCallback<Void>() { 
            public void onComplete(Void o) {
              completeUpgrade_result result = new completeUpgrade_result();
              try {
                fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
                return;
              } catch (Exception e) {
                LOGGER.error("Exception writing to internal frame buffer", e);
              }
              fb.close();
            }
            public void onError(Exception e) {
              byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
              org.apache.thrift.TBase msg;
              completeUpgrade_result result = new completeUpgrade_result();
              {
                msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
                msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
              }
              try {
                fcall.sendResponse(fb,msg,msgType,seqid);
                return;
              } catch (Exception ex) {
                LOGGER.error("Exception writing to internal frame buffer", ex);
              }
              fb.close();
            }
          };
        }
  
        protected boolean isOneway() {
          return false;
        }
  
        public void start(I iface, completeUpgrade_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
          iface.completeUpgrade(args.topologyName,resultHandler);
        }
      }
  
    }
  
    public static class submitTopology_args implements org.apache.thrift.TBase<submitTopology_args, submitTopology_args._Fields>, java.io.Serializable, Cloneable, Comparable<submitTopology_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("submitTopology_args");
  
      private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField UPLOADED_JAR_LOCATION_FIELD_DESC = new org.apache.thrift.protocol.TField("uploadedJarLocation", org.apache.thrift.protocol.TType.STRING, (short)2);
      private static final org.apache.thrift.protocol.TField JSON_CONF_FIELD_DESC = new org.apache.thrift.protocol.TField("jsonConf", org.apache.thrift.protocol.TType.STRING, (short)3);
      private static final org.apache.thrift.protocol.TField TOPOLOGY_FIELD_DESC = new org.apache.thrift.protocol.TField("topology", org.apache.thrift.protocol.TType.STRUCT, (short)4);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new submitTopology_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new submitTopology_argsTupleSchemeFactory());
      }
  
      private String name; // required
      private String uploadedJarLocation; // required
      private String jsonConf; // required
      private StormTopology topology; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        NAME((short)1, "name"),
        UPLOADED_JAR_LOCATION((short)2, "uploadedJarLocation"),
        JSON_CONF((short)3, "jsonConf"),
        TOPOLOGY((short)4, "topology");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // NAME
              return NAME;
            case 2: // UPLOADED_JAR_LOCATION
              return UPLOADED_JAR_LOCATION;
            case 3: // JSON_CONF
              return JSON_CONF;
            case 4: // TOPOLOGY
              return TOPOLOGY;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.UPLOADED_JAR_LOCATION, new org.apache.thrift.meta_data.FieldMetaData("uploadedJarLocation", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.JSON_CONF, new org.apache.thrift.meta_data.FieldMetaData("jsonConf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.TOPOLOGY, new org.apache.thrift.meta_data.FieldMetaData("topology", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, StormTopology.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(submitTopology_args.class, metaDataMap);
      }
  
      public submitTopology_args() {
      }
  
      public submitTopology_args(
        String name,
        String uploadedJarLocation,
        String jsonConf,
        StormTopology topology)
      {
        this();
        this.name = name;
        this.uploadedJarLocation = uploadedJarLocation;
        this.jsonConf = jsonConf;
        this.topology = topology;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public submitTopology_args(submitTopology_args other) {
        if (other.is_set_name()) {
          this.name = other.name;
        }
        if (other.is_set_uploadedJarLocation()) {
          this.uploadedJarLocation = other.uploadedJarLocation;
        }
        if (other.is_set_jsonConf()) {
          this.jsonConf = other.jsonConf;
        }
        if (other.is_set_topology()) {
          this.topology = new StormTopology(other.topology);
        }
      }
  
      public submitTopology_args deepCopy() {
        return new submitTopology_args(this);
      }
  
      @Override
      public void clear() {
        this.name = null;
        this.uploadedJarLocation = null;
        this.jsonConf = null;
        this.topology = null;
      }
  
      public String get_name() {
        return this.name;
      }
  
      public void set_name(String name) {
        this.name = name;
      }
  
      public void unset_name() {
        this.name = null;
      }
  
      /** Returns true if field name is set (has been assigned a value) and false otherwise */
      public boolean is_set_name() {
        return this.name != null;
      }
  
      public void set_name_isSet(boolean value) {
        if (!value) {
          this.name = null;
        }
      }
  
      public String get_uploadedJarLocation() {
        return this.uploadedJarLocation;
      }
  
      public void set_uploadedJarLocation(String uploadedJarLocation) {
        this.uploadedJarLocation = uploadedJarLocation;
      }
  
      public void unset_uploadedJarLocation() {
        this.uploadedJarLocation = null;
      }
  
      /** Returns true if field uploadedJarLocation is set (has been assigned a value) and false otherwise */
      public boolean is_set_uploadedJarLocation() {
        return this.uploadedJarLocation != null;
      }
  
      public void set_uploadedJarLocation_isSet(boolean value) {
        if (!value) {
          this.uploadedJarLocation = null;
        }
      }
  
      public String get_jsonConf() {
        return this.jsonConf;
      }
  
      public void set_jsonConf(String jsonConf) {
        this.jsonConf = jsonConf;
      }
  
      public void unset_jsonConf() {
        this.jsonConf = null;
      }
  
      /** Returns true if field jsonConf is set (has been assigned a value) and false otherwise */
      public boolean is_set_jsonConf() {
        return this.jsonConf != null;
      }
  
      public void set_jsonConf_isSet(boolean value) {
        if (!value) {
          this.jsonConf = null;
        }
      }
  
      public StormTopology get_topology() {
        return this.topology;
      }
  
      public void set_topology(StormTopology topology) {
        this.topology = topology;
      }
  
      public void unset_topology() {
        this.topology = null;
      }
  
      /** Returns true if field topology is set (has been assigned a value) and false otherwise */
      public boolean is_set_topology() {
        return this.topology != null;
      }
  
      public void set_topology_isSet(boolean value) {
        if (!value) {
          this.topology = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case NAME:
          if (value == null) {
            unset_name();
          } else {
            set_name((String)value);
          }
          break;
  
        case UPLOADED_JAR_LOCATION:
          if (value == null) {
            unset_uploadedJarLocation();
          } else {
            set_uploadedJarLocation((String)value);
          }
          break;
  
        case JSON_CONF:
          if (value == null) {
            unset_jsonConf();
          } else {
            set_jsonConf((String)value);
          }
          break;
  
        case TOPOLOGY:
          if (value == null) {
            unset_topology();
          } else {
            set_topology((StormTopology)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case NAME:
          return get_name();
  
        case UPLOADED_JAR_LOCATION:
          return get_uploadedJarLocation();
  
        case JSON_CONF:
          return get_jsonConf();
  
        case TOPOLOGY:
          return get_topology();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case NAME:
          return is_set_name();
        case UPLOADED_JAR_LOCATION:
          return is_set_uploadedJarLocation();
        case JSON_CONF:
          return is_set_jsonConf();
        case TOPOLOGY:
          return is_set_topology();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof submitTopology_args)
          return this.equals((submitTopology_args)that);
        return false;
      }
  
      public boolean equals(submitTopology_args that) {
        if (that == null)
          return false;
  
        boolean this_present_name = true && this.is_set_name();
        boolean that_present_name = true && that.is_set_name();
        if (this_present_name || that_present_name) {
          if (!(this_present_name && that_present_name))
            return false;
          if (!this.name.equals(that.name))
            return false;
        }
  
        boolean this_present_uploadedJarLocation = true && this.is_set_uploadedJarLocation();
        boolean that_present_uploadedJarLocation = true && that.is_set_uploadedJarLocation();
        if (this_present_uploadedJarLocation || that_present_uploadedJarLocation) {
          if (!(this_present_uploadedJarLocation && that_present_uploadedJarLocation))
            return false;
          if (!this.uploadedJarLocation.equals(that.uploadedJarLocation))
            return false;
        }
  
        boolean this_present_jsonConf = true && this.is_set_jsonConf();
        boolean that_present_jsonConf = true && that.is_set_jsonConf();
        if (this_present_jsonConf || that_present_jsonConf) {
          if (!(this_present_jsonConf && that_present_jsonConf))
            return false;
          if (!this.jsonConf.equals(that.jsonConf))
            return false;
        }
  
        boolean this_present_topology = true && this.is_set_topology();
        boolean that_present_topology = true && that.is_set_topology();
        if (this_present_topology || that_present_topology) {
          if (!(this_present_topology && that_present_topology))
            return false;
          if (!this.topology.equals(that.topology))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_name = true && (is_set_name());
        list.add(present_name);
        if (present_name)
          list.add(name);
  
        boolean present_uploadedJarLocation = true && (is_set_uploadedJarLocation());
        list.add(present_uploadedJarLocation);
        if (present_uploadedJarLocation)
          list.add(uploadedJarLocation);
  
        boolean present_jsonConf = true && (is_set_jsonConf());
        list.add(present_jsonConf);
        if (present_jsonConf)
          list.add(jsonConf);
  
        boolean present_topology = true && (is_set_topology());
        list.add(present_topology);
        if (present_topology)
          list.add(topology);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(submitTopology_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_name()).compareTo(other.is_set_name());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_name()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_uploadedJarLocation()).compareTo(other.is_set_uploadedJarLocation());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_uploadedJarLocation()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.uploadedJarLocation, other.uploadedJarLocation);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_jsonConf()).compareTo(other.is_set_jsonConf());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_jsonConf()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jsonConf, other.jsonConf);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_topology()).compareTo(other.is_set_topology());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topology()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topology, other.topology);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("submitTopology_args(");
        boolean first = true;
  
        sb.append("name:");
        if (this.name == null) {
          sb.append("null");
        } else {
          sb.append(this.name);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("uploadedJarLocation:");
        if (this.uploadedJarLocation == null) {
          sb.append("null");
        } else {
          sb.append(this.uploadedJarLocation);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("jsonConf:");
        if (this.jsonConf == null) {
          sb.append("null");
        } else {
          sb.append(this.jsonConf);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("topology:");
        if (this.topology == null) {
          sb.append("null");
        } else {
          sb.append(this.topology);
        }
        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 (topology != null) {
          topology.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 submitTopology_argsStandardSchemeFactory implements SchemeFactory {
        public submitTopology_argsStandardScheme getScheme() {
          return new submitTopology_argsStandardScheme();
        }
      }
  
      private static class submitTopology_argsStandardScheme extends StandardScheme<submitTopology_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, submitTopology_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: // NAME
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.name = iprot.readString();
                  struct.set_name_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // UPLOADED_JAR_LOCATION
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.uploadedJarLocation = iprot.readString();
                  struct.set_uploadedJarLocation_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 3: // JSON_CONF
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.jsonConf = iprot.readString();
                  struct.set_jsonConf_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 4: // TOPOLOGY
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.topology = new StormTopology();
                  struct.topology.read(iprot);
                  struct.set_topology_isSet(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, submitTopology_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.name != null) {
            oprot.writeFieldBegin(NAME_FIELD_DESC);
            oprot.writeString(struct.name);
            oprot.writeFieldEnd();
          }
          if (struct.uploadedJarLocation != null) {
            oprot.writeFieldBegin(UPLOADED_JAR_LOCATION_FIELD_DESC);
            oprot.writeString(struct.uploadedJarLocation);
            oprot.writeFieldEnd();
          }
          if (struct.jsonConf != null) {
            oprot.writeFieldBegin(JSON_CONF_FIELD_DESC);
            oprot.writeString(struct.jsonConf);
            oprot.writeFieldEnd();
          }
          if (struct.topology != null) {
            oprot.writeFieldBegin(TOPOLOGY_FIELD_DESC);
            struct.topology.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class submitTopology_argsTupleSchemeFactory implements SchemeFactory {
        public submitTopology_argsTupleScheme getScheme() {
          return new submitTopology_argsTupleScheme();
        }
      }
  
      private static class submitTopology_argsTupleScheme extends TupleScheme<submitTopology_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, submitTopology_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_name()) {
            optionals.set(0);
          }
          if (struct.is_set_uploadedJarLocation()) {
            optionals.set(1);
          }
          if (struct.is_set_jsonConf()) {
            optionals.set(2);
          }
          if (struct.is_set_topology()) {
            optionals.set(3);
          }
          oprot.writeBitSet(optionals, 4);
          if (struct.is_set_name()) {
            oprot.writeString(struct.name);
          }
          if (struct.is_set_uploadedJarLocation()) {
            oprot.writeString(struct.uploadedJarLocation);
          }
          if (struct.is_set_jsonConf()) {
            oprot.writeString(struct.jsonConf);
          }
          if (struct.is_set_topology()) {
            struct.topology.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, submitTopology_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(4);
          if (incoming.get(0)) {
            struct.name = iprot.readString();
            struct.set_name_isSet(true);
          }
          if (incoming.get(1)) {
            struct.uploadedJarLocation = iprot.readString();
            struct.set_uploadedJarLocation_isSet(true);
          }
          if (incoming.get(2)) {
            struct.jsonConf = iprot.readString();
            struct.set_jsonConf_isSet(true);
          }
          if (incoming.get(3)) {
            struct.topology = new StormTopology();
            struct.topology.read(iprot);
            struct.set_topology_isSet(true);
          }
        }
      }
  
    }
  
    public static class submitTopology_result implements org.apache.thrift.TBase<submitTopology_result, submitTopology_result._Fields>, java.io.Serializable, Cloneable, Comparable<submitTopology_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("submitTopology_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
      private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", org.apache.thrift.protocol.TType.STRUCT, (short)1);
      private static final org.apache.thrift.protocol.TField ITE_FIELD_DESC = new org.apache.thrift.protocol.TField("ite", org.apache.thrift.protocol.TType.STRUCT, (short)2);
      private static final org.apache.thrift.protocol.TField TAE_FIELD_DESC = new org.apache.thrift.protocol.TField("tae", org.apache.thrift.protocol.TType.STRUCT, (short)3);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new submitTopology_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new submitTopology_resultTupleSchemeFactory());
      }
  
      private String success; // required
      private AlreadyAliveException e; // required
      private InvalidTopologyException ite; // required
      private TopologyAssignException tae; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success"),
        E((short)1, "e"),
        ITE((short)2, "ite"),
        TAE((short)3, "tae");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            case 1: // E
              return E;
            case 2: // ITE
              return ITE;
            case 3: // TAE
              return TAE;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        tmpMap.put(_Fields.ITE, new org.apache.thrift.meta_data.FieldMetaData("ite", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        tmpMap.put(_Fields.TAE, new org.apache.thrift.meta_data.FieldMetaData("tae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(submitTopology_result.class, metaDataMap);
      }
  
      public submitTopology_result() {
      }
  
      public submitTopology_result(
        String success,
        AlreadyAliveException e,
        InvalidTopologyException ite,
        TopologyAssignException tae)
      {
        this();
        this.success = success;
        this.e = e;
        this.ite = ite;
        this.tae = tae;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public submitTopology_result(submitTopology_result other) {
        if (other.is_set_success()) {
          this.success = other.success;
        }
        if (other.is_set_e()) {
          this.e = new AlreadyAliveException(other.e);
        }
        if (other.is_set_ite()) {
          this.ite = new InvalidTopologyException(other.ite);
        }
        if (other.is_set_tae()) {
          this.tae = new TopologyAssignException(other.tae);
        }
      }
  
      public submitTopology_result deepCopy() {
        return new submitTopology_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
        this.e = null;
        this.ite = null;
        this.tae = null;
      }
  
      public String get_success() {
        return this.success;
      }
  
      public void set_success(String success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public AlreadyAliveException get_e() {
        return this.e;
      }
  
      public void set_e(AlreadyAliveException e) {
        this.e = e;
      }
  
      public void unset_e() {
        this.e = null;
      }
  
      /** Returns true if field e is set (has been assigned a value) and false otherwise */
      public boolean is_set_e() {
        return this.e != null;
      }
  
      public void set_e_isSet(boolean value) {
        if (!value) {
          this.e = null;
        }
      }
  
      public InvalidTopologyException get_ite() {
        return this.ite;
      }
  
      public void set_ite(InvalidTopologyException ite) {
        this.ite = ite;
      }
  
      public void unset_ite() {
        this.ite = null;
      }
  
      /** Returns true if field ite is set (has been assigned a value) and false otherwise */
      public boolean is_set_ite() {
        return this.ite != null;
      }
  
      public void set_ite_isSet(boolean value) {
        if (!value) {
          this.ite = null;
        }
      }
  
      public TopologyAssignException get_tae() {
        return this.tae;
      }
  
      public void set_tae(TopologyAssignException tae) {
        this.tae = tae;
      }
  
      public void unset_tae() {
        this.tae = null;
      }
  
      /** Returns true if field tae is set (has been assigned a value) and false otherwise */
      public boolean is_set_tae() {
        return this.tae != null;
      }
  
      public void set_tae_isSet(boolean value) {
        if (!value) {
          this.tae = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((String)value);
          }
          break;
  
        case E:
          if (value == null) {
            unset_e();
          } else {
            set_e((AlreadyAliveException)value);
          }
          break;
  
        case ITE:
          if (value == null) {
            unset_ite();
          } else {
            set_ite((InvalidTopologyException)value);
          }
          break;
  
        case TAE:
          if (value == null) {
            unset_tae();
          } else {
            set_tae((TopologyAssignException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        case E:
          return get_e();
  
        case ITE:
          return get_ite();
  
        case TAE:
          return get_tae();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        case E:
          return is_set_e();
        case ITE:
          return is_set_ite();
        case TAE:
          return is_set_tae();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof submitTopology_result)
          return this.equals((submitTopology_result)that);
        return false;
      }
  
      public boolean equals(submitTopology_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        boolean this_present_e = true && this.is_set_e();
        boolean that_present_e = true && that.is_set_e();
        if (this_present_e || that_present_e) {
          if (!(this_present_e && that_present_e))
            return false;
          if (!this.e.equals(that.e))
            return false;
        }
  
        boolean this_present_ite = true && this.is_set_ite();
        boolean that_present_ite = true && that.is_set_ite();
        if (this_present_ite || that_present_ite) {
          if (!(this_present_ite && that_present_ite))
            return false;
          if (!this.ite.equals(that.ite))
            return false;
        }
  
        boolean this_present_tae = true && this.is_set_tae();
        boolean that_present_tae = true && that.is_set_tae();
        if (this_present_tae || that_present_tae) {
          if (!(this_present_tae && that_present_tae))
            return false;
          if (!this.tae.equals(that.tae))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        boolean present_e = true && (is_set_e());
        list.add(present_e);
        if (present_e)
          list.add(e);
  
        boolean present_ite = true && (is_set_ite());
        list.add(present_ite);
        if (present_ite)
          list.add(ite);
  
        boolean present_tae = true && (is_set_tae());
        list.add(present_tae);
        if (present_tae)
          list.add(tae);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(submitTopology_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_e()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_ite()).compareTo(other.is_set_ite());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_ite()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ite, other.ite);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_tae()).compareTo(other.is_set_tae());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_tae()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tae, other.tae);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("submitTopology_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("e:");
        if (this.e == null) {
          sb.append("null");
        } else {
          sb.append(this.e);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("ite:");
        if (this.ite == null) {
          sb.append("null");
        } else {
          sb.append(this.ite);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("tae:");
        if (this.tae == null) {
          sb.append("null");
        } else {
          sb.append(this.tae);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 submitTopology_resultStandardSchemeFactory implements SchemeFactory {
        public submitTopology_resultStandardScheme getScheme() {
          return new submitTopology_resultStandardScheme();
        }
      }
  
      private static class submitTopology_resultStandardScheme extends StandardScheme<submitTopology_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, submitTopology_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.STRING) {
                  struct.success = iprot.readString();
                  struct.set_success_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 1: // E
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.e = new AlreadyAliveException();
                  struct.e.read(iprot);
                  struct.set_e_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // ITE
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.ite = new InvalidTopologyException();
                  struct.ite.read(iprot);
                  struct.set_ite_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 3: // TAE
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.tae = new TopologyAssignException();
                  struct.tae.read(iprot);
                  struct.set_tae_isSet(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, submitTopology_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            oprot.writeString(struct.success);
            oprot.writeFieldEnd();
          }
          if (struct.e != null) {
            oprot.writeFieldBegin(E_FIELD_DESC);
            struct.e.write(oprot);
            oprot.writeFieldEnd();
          }
          if (struct.ite != null) {
            oprot.writeFieldBegin(ITE_FIELD_DESC);
            struct.ite.write(oprot);
            oprot.writeFieldEnd();
          }
          if (struct.tae != null) {
            oprot.writeFieldBegin(TAE_FIELD_DESC);
            struct.tae.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class submitTopology_resultTupleSchemeFactory implements SchemeFactory {
        public submitTopology_resultTupleScheme getScheme() {
          return new submitTopology_resultTupleScheme();
        }
      }
  
      private static class submitTopology_resultTupleScheme extends TupleScheme<submitTopology_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, submitTopology_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          if (struct.is_set_e()) {
            optionals.set(1);
          }
          if (struct.is_set_ite()) {
            optionals.set(2);
          }
          if (struct.is_set_tae()) {
            optionals.set(3);
          }
          oprot.writeBitSet(optionals, 4);
          if (struct.is_set_success()) {
            oprot.writeString(struct.success);
          }
          if (struct.is_set_e()) {
            struct.e.write(oprot);
          }
          if (struct.is_set_ite()) {
            struct.ite.write(oprot);
          }
          if (struct.is_set_tae()) {
            struct.tae.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, submitTopology_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(4);
          if (incoming.get(0)) {
            struct.success = iprot.readString();
            struct.set_success_isSet(true);
          }
          if (incoming.get(1)) {
            struct.e = new AlreadyAliveException();
            struct.e.read(iprot);
            struct.set_e_isSet(true);
          }
          if (incoming.get(2)) {
            struct.ite = new InvalidTopologyException();
            struct.ite.read(iprot);
            struct.set_ite_isSet(true);
          }
          if (incoming.get(3)) {
            struct.tae = new TopologyAssignException();
            struct.tae.read(iprot);
            struct.set_tae_isSet(true);
          }
        }
      }
  
    }
  
    public static class submitTopologyWithOpts_args implements org.apache.thrift.TBase<submitTopologyWithOpts_args, submitTopologyWithOpts_args._Fields>, java.io.Serializable, Cloneable, Comparable<submitTopologyWithOpts_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("submitTopologyWithOpts_args");
  
      private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField UPLOADED_JAR_LOCATION_FIELD_DESC = new org.apache.thrift.protocol.TField("uploadedJarLocation", org.apache.thrift.protocol.TType.STRING, (short)2);
      private static final org.apache.thrift.protocol.TField JSON_CONF_FIELD_DESC = new org.apache.thrift.protocol.TField("jsonConf", org.apache.thrift.protocol.TType.STRING, (short)3);
      private static final org.apache.thrift.protocol.TField TOPOLOGY_FIELD_DESC = new org.apache.thrift.protocol.TField("topology", org.apache.thrift.protocol.TType.STRUCT, (short)4);
      private static final org.apache.thrift.protocol.TField OPTIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("options", org.apache.thrift.protocol.TType.STRUCT, (short)5);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new submitTopologyWithOpts_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new submitTopologyWithOpts_argsTupleSchemeFactory());
      }
  
      private String name; // required
      private String uploadedJarLocation; // required
      private String jsonConf; // required
      private StormTopology topology; // required
      private SubmitOptions options; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        NAME((short)1, "name"),
        UPLOADED_JAR_LOCATION((short)2, "uploadedJarLocation"),
        JSON_CONF((short)3, "jsonConf"),
        TOPOLOGY((short)4, "topology"),
        OPTIONS((short)5, "options");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // NAME
              return NAME;
            case 2: // UPLOADED_JAR_LOCATION
              return UPLOADED_JAR_LOCATION;
            case 3: // JSON_CONF
              return JSON_CONF;
            case 4: // TOPOLOGY
              return TOPOLOGY;
            case 5: // OPTIONS
              return OPTIONS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.UPLOADED_JAR_LOCATION, new org.apache.thrift.meta_data.FieldMetaData("uploadedJarLocation", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.JSON_CONF, new org.apache.thrift.meta_data.FieldMetaData("jsonConf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.TOPOLOGY, new org.apache.thrift.meta_data.FieldMetaData("topology", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, StormTopology.class)));
        tmpMap.put(_Fields.OPTIONS, new org.apache.thrift.meta_data.FieldMetaData("options", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, SubmitOptions.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(submitTopologyWithOpts_args.class, metaDataMap);
      }
  
      public submitTopologyWithOpts_args() {
      }
  
      public submitTopologyWithOpts_args(
        String name,
        String uploadedJarLocation,
        String jsonConf,
        StormTopology topology,
        SubmitOptions options)
      {
        this();
        this.name = name;
        this.uploadedJarLocation = uploadedJarLocation;
        this.jsonConf = jsonConf;
        this.topology = topology;
        this.options = options;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public submitTopologyWithOpts_args(submitTopologyWithOpts_args other) {
        if (other.is_set_name()) {
          this.name = other.name;
        }
        if (other.is_set_uploadedJarLocation()) {
          this.uploadedJarLocation = other.uploadedJarLocation;
        }
        if (other.is_set_jsonConf()) {
          this.jsonConf = other.jsonConf;
        }
        if (other.is_set_topology()) {
          this.topology = new StormTopology(other.topology);
        }
        if (other.is_set_options()) {
          this.options = new SubmitOptions(other.options);
        }
      }
  
      public submitTopologyWithOpts_args deepCopy() {
        return new submitTopologyWithOpts_args(this);
      }
  
      @Override
      public void clear() {
        this.name = null;
        this.uploadedJarLocation = null;
        this.jsonConf = null;
        this.topology = null;
        this.options = null;
      }
  
      public String get_name() {
        return this.name;
      }
  
      public void set_name(String name) {
        this.name = name;
      }
  
      public void unset_name() {
        this.name = null;
      }
  
      /** Returns true if field name is set (has been assigned a value) and false otherwise */
      public boolean is_set_name() {
        return this.name != null;
      }
  
      public void set_name_isSet(boolean value) {
        if (!value) {
          this.name = null;
        }
      }
  
      public String get_uploadedJarLocation() {
        return this.uploadedJarLocation;
      }
  
      public void set_uploadedJarLocation(String uploadedJarLocation) {
        this.uploadedJarLocation = uploadedJarLocation;
      }
  
      public void unset_uploadedJarLocation() {
        this.uploadedJarLocation = null;
      }
  
      /** Returns true if field uploadedJarLocation is set (has been assigned a value) and false otherwise */
      public boolean is_set_uploadedJarLocation() {
        return this.uploadedJarLocation != null;
      }
  
      public void set_uploadedJarLocation_isSet(boolean value) {
        if (!value) {
          this.uploadedJarLocation = null;
        }
      }
  
      public String get_jsonConf() {
        return this.jsonConf;
      }
  
      public void set_jsonConf(String jsonConf) {
        this.jsonConf = jsonConf;
      }
  
      public void unset_jsonConf() {
        this.jsonConf = null;
      }
  
      /** Returns true if field jsonConf is set (has been assigned a value) and false otherwise */
      public boolean is_set_jsonConf() {
        return this.jsonConf != null;
      }
  
      public void set_jsonConf_isSet(boolean value) {
        if (!value) {
          this.jsonConf = null;
        }
      }
  
      public StormTopology get_topology() {
        return this.topology;
      }
  
      public void set_topology(StormTopology topology) {
        this.topology = topology;
      }
  
      public void unset_topology() {
        this.topology = null;
      }
  
      /** Returns true if field topology is set (has been assigned a value) and false otherwise */
      public boolean is_set_topology() {
        return this.topology != null;
      }
  
      public void set_topology_isSet(boolean value) {
        if (!value) {
          this.topology = null;
        }
      }
  
      public SubmitOptions get_options() {
        return this.options;
      }
  
      public void set_options(SubmitOptions options) {
        this.options = options;
      }
  
      public void unset_options() {
        this.options = null;
      }
  
      /** Returns true if field options is set (has been assigned a value) and false otherwise */
      public boolean is_set_options() {
        return this.options != null;
      }
  
      public void set_options_isSet(boolean value) {
        if (!value) {
          this.options = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case NAME:
          if (value == null) {
            unset_name();
          } else {
            set_name((String)value);
          }
          break;
  
        case UPLOADED_JAR_LOCATION:
          if (value == null) {
            unset_uploadedJarLocation();
          } else {
            set_uploadedJarLocation((String)value);
          }
          break;
  
        case JSON_CONF:
          if (value == null) {
            unset_jsonConf();
          } else {
            set_jsonConf((String)value);
          }
          break;
  
        case TOPOLOGY:
          if (value == null) {
            unset_topology();
          } else {
            set_topology((StormTopology)value);
          }
          break;
  
        case OPTIONS:
          if (value == null) {
            unset_options();
          } else {
            set_options((SubmitOptions)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case NAME:
          return get_name();
  
        case UPLOADED_JAR_LOCATION:
          return get_uploadedJarLocation();
  
        case JSON_CONF:
          return get_jsonConf();
  
        case TOPOLOGY:
          return get_topology();
  
        case OPTIONS:
          return get_options();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case NAME:
          return is_set_name();
        case UPLOADED_JAR_LOCATION:
          return is_set_uploadedJarLocation();
        case JSON_CONF:
          return is_set_jsonConf();
        case TOPOLOGY:
          return is_set_topology();
        case OPTIONS:
          return is_set_options();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof submitTopologyWithOpts_args)
          return this.equals((submitTopologyWithOpts_args)that);
        return false;
      }
  
      public boolean equals(submitTopologyWithOpts_args that) {
        if (that == null)
          return false;
  
        boolean this_present_name = true && this.is_set_name();
        boolean that_present_name = true && that.is_set_name();
        if (this_present_name || that_present_name) {
          if (!(this_present_name && that_present_name))
            return false;
          if (!this.name.equals(that.name))
            return false;
        }
  
        boolean this_present_uploadedJarLocation = true && this.is_set_uploadedJarLocation();
        boolean that_present_uploadedJarLocation = true && that.is_set_uploadedJarLocation();
        if (this_present_uploadedJarLocation || that_present_uploadedJarLocation) {
          if (!(this_present_uploadedJarLocation && that_present_uploadedJarLocation))
            return false;
          if (!this.uploadedJarLocation.equals(that.uploadedJarLocation))
            return false;
        }
  
        boolean this_present_jsonConf = true && this.is_set_jsonConf();
        boolean that_present_jsonConf = true && that.is_set_jsonConf();
        if (this_present_jsonConf || that_present_jsonConf) {
          if (!(this_present_jsonConf && that_present_jsonConf))
            return false;
          if (!this.jsonConf.equals(that.jsonConf))
            return false;
        }
  
        boolean this_present_topology = true && this.is_set_topology();
        boolean that_present_topology = true && that.is_set_topology();
        if (this_present_topology || that_present_topology) {
          if (!(this_present_topology && that_present_topology))
            return false;
          if (!this.topology.equals(that.topology))
            return false;
        }
  
        boolean this_present_options = true && this.is_set_options();
        boolean that_present_options = true && that.is_set_options();
        if (this_present_options || that_present_options) {
          if (!(this_present_options && that_present_options))
            return false;
          if (!this.options.equals(that.options))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_name = true && (is_set_name());
        list.add(present_name);
        if (present_name)
          list.add(name);
  
        boolean present_uploadedJarLocation = true && (is_set_uploadedJarLocation());
        list.add(present_uploadedJarLocation);
        if (present_uploadedJarLocation)
          list.add(uploadedJarLocation);
  
        boolean present_jsonConf = true && (is_set_jsonConf());
        list.add(present_jsonConf);
        if (present_jsonConf)
          list.add(jsonConf);
  
        boolean present_topology = true && (is_set_topology());
        list.add(present_topology);
        if (present_topology)
          list.add(topology);
  
        boolean present_options = true && (is_set_options());
        list.add(present_options);
        if (present_options)
          list.add(options);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(submitTopologyWithOpts_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_name()).compareTo(other.is_set_name());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_name()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_uploadedJarLocation()).compareTo(other.is_set_uploadedJarLocation());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_uploadedJarLocation()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.uploadedJarLocation, other.uploadedJarLocation);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_jsonConf()).compareTo(other.is_set_jsonConf());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_jsonConf()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jsonConf, other.jsonConf);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_topology()).compareTo(other.is_set_topology());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topology()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topology, other.topology);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_options()).compareTo(other.is_set_options());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_options()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.options, other.options);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("submitTopologyWithOpts_args(");
        boolean first = true;
  
        sb.append("name:");
        if (this.name == null) {
          sb.append("null");
        } else {
          sb.append(this.name);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("uploadedJarLocation:");
        if (this.uploadedJarLocation == null) {
          sb.append("null");
        } else {
          sb.append(this.uploadedJarLocation);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("jsonConf:");
        if (this.jsonConf == null) {
          sb.append("null");
        } else {
          sb.append(this.jsonConf);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("topology:");
        if (this.topology == null) {
          sb.append("null");
        } else {
          sb.append(this.topology);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("options:");
        if (this.options == null) {
          sb.append("null");
        } else {
          sb.append(this.options);
        }
        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 (topology != null) {
          topology.validate();
        }
        if (options != null) {
          options.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 submitTopologyWithOpts_argsStandardSchemeFactory implements SchemeFactory {
        public submitTopologyWithOpts_argsStandardScheme getScheme() {
          return new submitTopologyWithOpts_argsStandardScheme();
        }
      }
  
      private static class submitTopologyWithOpts_argsStandardScheme extends StandardScheme<submitTopologyWithOpts_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, submitTopologyWithOpts_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: // NAME
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.name = iprot.readString();
                  struct.set_name_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // UPLOADED_JAR_LOCATION
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.uploadedJarLocation = iprot.readString();
                  struct.set_uploadedJarLocation_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 3: // JSON_CONF
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.jsonConf = iprot.readString();
                  struct.set_jsonConf_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 4: // TOPOLOGY
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.topology = new StormTopology();
                  struct.topology.read(iprot);
                  struct.set_topology_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 5: // OPTIONS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.options = new SubmitOptions();
                  struct.options.read(iprot);
                  struct.set_options_isSet(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, submitTopologyWithOpts_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.name != null) {
            oprot.writeFieldBegin(NAME_FIELD_DESC);
            oprot.writeString(struct.name);
            oprot.writeFieldEnd();
          }
          if (struct.uploadedJarLocation != null) {
            oprot.writeFieldBegin(UPLOADED_JAR_LOCATION_FIELD_DESC);
            oprot.writeString(struct.uploadedJarLocation);
            oprot.writeFieldEnd();
          }
          if (struct.jsonConf != null) {
            oprot.writeFieldBegin(JSON_CONF_FIELD_DESC);
            oprot.writeString(struct.jsonConf);
            oprot.writeFieldEnd();
          }
          if (struct.topology != null) {
            oprot.writeFieldBegin(TOPOLOGY_FIELD_DESC);
            struct.topology.write(oprot);
            oprot.writeFieldEnd();
          }
          if (struct.options != null) {
            oprot.writeFieldBegin(OPTIONS_FIELD_DESC);
            struct.options.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class submitTopologyWithOpts_argsTupleSchemeFactory implements SchemeFactory {
        public submitTopologyWithOpts_argsTupleScheme getScheme() {
          return new submitTopologyWithOpts_argsTupleScheme();
        }
      }
  
      private static class submitTopologyWithOpts_argsTupleScheme extends TupleScheme<submitTopologyWithOpts_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, submitTopologyWithOpts_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_name()) {
            optionals.set(0);
          }
          if (struct.is_set_uploadedJarLocation()) {
            optionals.set(1);
          }
          if (struct.is_set_jsonConf()) {
            optionals.set(2);
          }
          if (struct.is_set_topology()) {
            optionals.set(3);
          }
          if (struct.is_set_options()) {
            optionals.set(4);
          }
          oprot.writeBitSet(optionals, 5);
          if (struct.is_set_name()) {
            oprot.writeString(struct.name);
          }
          if (struct.is_set_uploadedJarLocation()) {
            oprot.writeString(struct.uploadedJarLocation);
          }
          if (struct.is_set_jsonConf()) {
            oprot.writeString(struct.jsonConf);
          }
          if (struct.is_set_topology()) {
            struct.topology.write(oprot);
          }
          if (struct.is_set_options()) {
            struct.options.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, submitTopologyWithOpts_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(5);
          if (incoming.get(0)) {
            struct.name = iprot.readString();
            struct.set_name_isSet(true);
          }
          if (incoming.get(1)) {
            struct.uploadedJarLocation = iprot.readString();
            struct.set_uploadedJarLocation_isSet(true);
          }
          if (incoming.get(2)) {
            struct.jsonConf = iprot.readString();
            struct.set_jsonConf_isSet(true);
          }
          if (incoming.get(3)) {
            struct.topology = new StormTopology();
            struct.topology.read(iprot);
            struct.set_topology_isSet(true);
          }
          if (incoming.get(4)) {
            struct.options = new SubmitOptions();
            struct.options.read(iprot);
            struct.set_options_isSet(true);
          }
        }
      }
  
    }
  
    public static class submitTopologyWithOpts_result implements org.apache.thrift.TBase<submitTopologyWithOpts_result, submitTopologyWithOpts_result._Fields>, java.io.Serializable, Cloneable, Comparable<submitTopologyWithOpts_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("submitTopologyWithOpts_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
      private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", org.apache.thrift.protocol.TType.STRUCT, (short)1);
      private static final org.apache.thrift.protocol.TField ITE_FIELD_DESC = new org.apache.thrift.protocol.TField("ite", org.apache.thrift.protocol.TType.STRUCT, (short)2);
      private static final org.apache.thrift.protocol.TField TAE_FIELD_DESC = new org.apache.thrift.protocol.TField("tae", org.apache.thrift.protocol.TType.STRUCT, (short)3);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new submitTopologyWithOpts_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new submitTopologyWithOpts_resultTupleSchemeFactory());
      }
  
      private String success; // required
      private AlreadyAliveException e; // required
      private InvalidTopologyException ite; // required
      private TopologyAssignException tae; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success"),
        E((short)1, "e"),
        ITE((short)2, "ite"),
        TAE((short)3, "tae");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            case 1: // E
              return E;
            case 2: // ITE
              return ITE;
            case 3: // TAE
              return TAE;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        tmpMap.put(_Fields.ITE, new org.apache.thrift.meta_data.FieldMetaData("ite", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        tmpMap.put(_Fields.TAE, new org.apache.thrift.meta_data.FieldMetaData("tae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(submitTopologyWithOpts_result.class, metaDataMap);
      }
  
      public submitTopologyWithOpts_result() {
      }
  
      public submitTopologyWithOpts_result(
        String success,
        AlreadyAliveException e,
        InvalidTopologyException ite,
        TopologyAssignException tae)
      {
        this();
        this.success = success;
        this.e = e;
        this.ite = ite;
        this.tae = tae;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public submitTopologyWithOpts_result(submitTopologyWithOpts_result other) {
        if (other.is_set_success()) {
          this.success = other.success;
        }
        if (other.is_set_e()) {
          this.e = new AlreadyAliveException(other.e);
        }
        if (other.is_set_ite()) {
          this.ite = new InvalidTopologyException(other.ite);
        }
        if (other.is_set_tae()) {
          this.tae = new TopologyAssignException(other.tae);
        }
      }
  
      public submitTopologyWithOpts_result deepCopy() {
        return new submitTopologyWithOpts_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
        this.e = null;
        this.ite = null;
        this.tae = null;
      }
  
      public String get_success() {
        return this.success;
      }
  
      public void set_success(String success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public AlreadyAliveException get_e() {
        return this.e;
      }
  
      public void set_e(AlreadyAliveException e) {
        this.e = e;
      }
  
      public void unset_e() {
        this.e = null;
      }
  
      /** Returns true if field e is set (has been assigned a value) and false otherwise */
      public boolean is_set_e() {
        return this.e != null;
      }
  
      public void set_e_isSet(boolean value) {
        if (!value) {
          this.e = null;
        }
      }
  
      public InvalidTopologyException get_ite() {
        return this.ite;
      }
  
      public void set_ite(InvalidTopologyException ite) {
        this.ite = ite;
      }
  
      public void unset_ite() {
        this.ite = null;
      }
  
      /** Returns true if field ite is set (has been assigned a value) and false otherwise */
      public boolean is_set_ite() {
        return this.ite != null;
      }
  
      public void set_ite_isSet(boolean value) {
        if (!value) {
          this.ite = null;
        }
      }
  
      public TopologyAssignException get_tae() {
        return this.tae;
      }
  
      public void set_tae(TopologyAssignException tae) {
        this.tae = tae;
      }
  
      public void unset_tae() {
        this.tae = null;
      }
  
      /** Returns true if field tae is set (has been assigned a value) and false otherwise */
      public boolean is_set_tae() {
        return this.tae != null;
      }
  
      public void set_tae_isSet(boolean value) {
        if (!value) {
          this.tae = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((String)value);
          }
          break;
  
        case E:
          if (value == null) {
            unset_e();
          } else {
            set_e((AlreadyAliveException)value);
          }
          break;
  
        case ITE:
          if (value == null) {
            unset_ite();
          } else {
            set_ite((InvalidTopologyException)value);
          }
          break;
  
        case TAE:
          if (value == null) {
            unset_tae();
          } else {
            set_tae((TopologyAssignException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        case E:
          return get_e();
  
        case ITE:
          return get_ite();
  
        case TAE:
          return get_tae();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        case E:
          return is_set_e();
        case ITE:
          return is_set_ite();
        case TAE:
          return is_set_tae();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof submitTopologyWithOpts_result)
          return this.equals((submitTopologyWithOpts_result)that);
        return false;
      }
  
      public boolean equals(submitTopologyWithOpts_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        boolean this_present_e = true && this.is_set_e();
        boolean that_present_e = true && that.is_set_e();
        if (this_present_e || that_present_e) {
          if (!(this_present_e && that_present_e))
            return false;
          if (!this.e.equals(that.e))
            return false;
        }
  
        boolean this_present_ite = true && this.is_set_ite();
        boolean that_present_ite = true && that.is_set_ite();
        if (this_present_ite || that_present_ite) {
          if (!(this_present_ite && that_present_ite))
            return false;
          if (!this.ite.equals(that.ite))
            return false;
        }
  
        boolean this_present_tae = true && this.is_set_tae();
        boolean that_present_tae = true && that.is_set_tae();
        if (this_present_tae || that_present_tae) {
          if (!(this_present_tae && that_present_tae))
            return false;
          if (!this.tae.equals(that.tae))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        boolean present_e = true && (is_set_e());
        list.add(present_e);
        if (present_e)
          list.add(e);
  
        boolean present_ite = true && (is_set_ite());
        list.add(present_ite);
        if (present_ite)
          list.add(ite);
  
        boolean present_tae = true && (is_set_tae());
        list.add(present_tae);
        if (present_tae)
          list.add(tae);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(submitTopologyWithOpts_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_e()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_ite()).compareTo(other.is_set_ite());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_ite()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ite, other.ite);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_tae()).compareTo(other.is_set_tae());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_tae()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tae, other.tae);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("submitTopologyWithOpts_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("e:");
        if (this.e == null) {
          sb.append("null");
        } else {
          sb.append(this.e);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("ite:");
        if (this.ite == null) {
          sb.append("null");
        } else {
          sb.append(this.ite);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("tae:");
        if (this.tae == null) {
          sb.append("null");
        } else {
          sb.append(this.tae);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 submitTopologyWithOpts_resultStandardSchemeFactory implements SchemeFactory {
        public submitTopologyWithOpts_resultStandardScheme getScheme() {
          return new submitTopologyWithOpts_resultStandardScheme();
        }
      }
  
      private static class submitTopologyWithOpts_resultStandardScheme extends StandardScheme<submitTopologyWithOpts_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, submitTopologyWithOpts_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.STRING) {
                  struct.success = iprot.readString();
                  struct.set_success_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 1: // E
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.e = new AlreadyAliveException();
                  struct.e.read(iprot);
                  struct.set_e_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // ITE
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.ite = new InvalidTopologyException();
                  struct.ite.read(iprot);
                  struct.set_ite_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 3: // TAE
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.tae = new TopologyAssignException();
                  struct.tae.read(iprot);
                  struct.set_tae_isSet(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, submitTopologyWithOpts_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            oprot.writeString(struct.success);
            oprot.writeFieldEnd();
          }
          if (struct.e != null) {
            oprot.writeFieldBegin(E_FIELD_DESC);
            struct.e.write(oprot);
            oprot.writeFieldEnd();
          }
          if (struct.ite != null) {
            oprot.writeFieldBegin(ITE_FIELD_DESC);
            struct.ite.write(oprot);
            oprot.writeFieldEnd();
          }
          if (struct.tae != null) {
            oprot.writeFieldBegin(TAE_FIELD_DESC);
            struct.tae.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class submitTopologyWithOpts_resultTupleSchemeFactory implements SchemeFactory {
        public submitTopologyWithOpts_resultTupleScheme getScheme() {
          return new submitTopologyWithOpts_resultTupleScheme();
        }
      }
  
      private static class submitTopologyWithOpts_resultTupleScheme extends TupleScheme<submitTopologyWithOpts_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, submitTopologyWithOpts_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          if (struct.is_set_e()) {
            optionals.set(1);
          }
          if (struct.is_set_ite()) {
            optionals.set(2);
          }
          if (struct.is_set_tae()) {
            optionals.set(3);
          }
          oprot.writeBitSet(optionals, 4);
          if (struct.is_set_success()) {
            oprot.writeString(struct.success);
          }
          if (struct.is_set_e()) {
            struct.e.write(oprot);
          }
          if (struct.is_set_ite()) {
            struct.ite.write(oprot);
          }
          if (struct.is_set_tae()) {
            struct.tae.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, submitTopologyWithOpts_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(4);
          if (incoming.get(0)) {
            struct.success = iprot.readString();
            struct.set_success_isSet(true);
          }
          if (incoming.get(1)) {
            struct.e = new AlreadyAliveException();
            struct.e.read(iprot);
            struct.set_e_isSet(true);
          }
          if (incoming.get(2)) {
            struct.ite = new InvalidTopologyException();
            struct.ite.read(iprot);
            struct.set_ite_isSet(true);
          }
          if (incoming.get(3)) {
            struct.tae = new TopologyAssignException();
            struct.tae.read(iprot);
            struct.set_tae_isSet(true);
          }
        }
      }
  
    }
  
    public static class killTopology_args implements org.apache.thrift.TBase<killTopology_args, killTopology_args._Fields>, java.io.Serializable, Cloneable, Comparable<killTopology_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("killTopology_args");
  
      private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new killTopology_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new killTopology_argsTupleSchemeFactory());
      }
  
      private String name; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        NAME((short)1, "name");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // NAME
              return NAME;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(killTopology_args.class, metaDataMap);
      }
  
      public killTopology_args() {
      }
  
      public killTopology_args(
        String name)
      {
        this();
        this.name = name;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public killTopology_args(killTopology_args other) {
        if (other.is_set_name()) {
          this.name = other.name;
        }
      }
  
      public killTopology_args deepCopy() {
        return new killTopology_args(this);
      }
  
      @Override
      public void clear() {
        this.name = null;
      }
  
      public String get_name() {
        return this.name;
      }
  
      public void set_name(String name) {
        this.name = name;
      }
  
      public void unset_name() {
        this.name = null;
      }
  
      /** Returns true if field name is set (has been assigned a value) and false otherwise */
      public boolean is_set_name() {
        return this.name != null;
      }
  
      public void set_name_isSet(boolean value) {
        if (!value) {
          this.name = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case NAME:
          if (value == null) {
            unset_name();
          } else {
            set_name((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case NAME:
          return get_name();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case NAME:
          return is_set_name();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof killTopology_args)
          return this.equals((killTopology_args)that);
        return false;
      }
  
      public boolean equals(killTopology_args that) {
        if (that == null)
          return false;
  
        boolean this_present_name = true && this.is_set_name();
        boolean that_present_name = true && that.is_set_name();
        if (this_present_name || that_present_name) {
          if (!(this_present_name && that_present_name))
            return false;
          if (!this.name.equals(that.name))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_name = true && (is_set_name());
        list.add(present_name);
        if (present_name)
          list.add(name);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(killTopology_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_name()).compareTo(other.is_set_name());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_name()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        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("killTopology_args(");
        boolean first = true;
  
        sb.append("name:");
        if (this.name == null) {
          sb.append("null");
        } else {
          sb.append(this.name);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 killTopology_argsStandardSchemeFactory implements SchemeFactory {
        public killTopology_argsStandardScheme getScheme() {
          return new killTopology_argsStandardScheme();
        }
      }
  
      private static class killTopology_argsStandardScheme extends StandardScheme<killTopology_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, killTopology_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: // NAME
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.name = iprot.readString();
                  struct.set_name_isSet(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, killTopology_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.name != null) {
            oprot.writeFieldBegin(NAME_FIELD_DESC);
            oprot.writeString(struct.name);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class killTopology_argsTupleSchemeFactory implements SchemeFactory {
        public killTopology_argsTupleScheme getScheme() {
          return new killTopology_argsTupleScheme();
        }
      }
  
      private static class killTopology_argsTupleScheme extends TupleScheme<killTopology_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, killTopology_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_name()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_name()) {
            oprot.writeString(struct.name);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, killTopology_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.name = iprot.readString();
            struct.set_name_isSet(true);
          }
        }
      }
  
    }
  
    public static class killTopology_result implements org.apache.thrift.TBase<killTopology_result, killTopology_result._Fields>, java.io.Serializable, Cloneable, Comparable<killTopology_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("killTopology_result");
  
      private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", 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 killTopology_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new killTopology_resultTupleSchemeFactory());
      }
  
      private NotAliveException e; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        E((short)1, "e");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // E
              return E;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(killTopology_result.class, metaDataMap);
      }
  
      public killTopology_result() {
      }
  
      public killTopology_result(
        NotAliveException e)
      {
        this();
        this.e = e;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public killTopology_result(killTopology_result other) {
        if (other.is_set_e()) {
          this.e = new NotAliveException(other.e);
        }
      }
  
      public killTopology_result deepCopy() {
        return new killTopology_result(this);
      }
  
      @Override
      public void clear() {
        this.e = null;
      }
  
      public NotAliveException get_e() {
        return this.e;
      }
  
      public void set_e(NotAliveException e) {
        this.e = e;
      }
  
      public void unset_e() {
        this.e = null;
      }
  
      /** Returns true if field e is set (has been assigned a value) and false otherwise */
      public boolean is_set_e() {
        return this.e != null;
      }
  
      public void set_e_isSet(boolean value) {
        if (!value) {
          this.e = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case E:
          if (value == null) {
            unset_e();
          } else {
            set_e((NotAliveException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case E:
          return get_e();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case E:
          return is_set_e();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof killTopology_result)
          return this.equals((killTopology_result)that);
        return false;
      }
  
      public boolean equals(killTopology_result that) {
        if (that == null)
          return false;
  
        boolean this_present_e = true && this.is_set_e();
        boolean that_present_e = true && that.is_set_e();
        if (this_present_e || that_present_e) {
          if (!(this_present_e && that_present_e))
            return false;
          if (!this.e.equals(that.e))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_e = true && (is_set_e());
        list.add(present_e);
        if (present_e)
          list.add(e);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(killTopology_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_e()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("killTopology_result(");
        boolean first = true;
  
        sb.append("e:");
        if (this.e == null) {
          sb.append("null");
        } else {
          sb.append(this.e);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 killTopology_resultStandardSchemeFactory implements SchemeFactory {
        public killTopology_resultStandardScheme getScheme() {
          return new killTopology_resultStandardScheme();
        }
      }
  
      private static class killTopology_resultStandardScheme extends StandardScheme<killTopology_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, killTopology_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 1: // E
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.e = new NotAliveException();
                  struct.e.read(iprot);
                  struct.set_e_isSet(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, killTopology_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.e != null) {
            oprot.writeFieldBegin(E_FIELD_DESC);
            struct.e.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class killTopology_resultTupleSchemeFactory implements SchemeFactory {
        public killTopology_resultTupleScheme getScheme() {
          return new killTopology_resultTupleScheme();
        }
      }
  
      private static class killTopology_resultTupleScheme extends TupleScheme<killTopology_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, killTopology_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_e()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_e()) {
            struct.e.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, killTopology_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.e = new NotAliveException();
            struct.e.read(iprot);
            struct.set_e_isSet(true);
          }
        }
      }
  
    }
  
    public static class killTopologyWithOpts_args implements org.apache.thrift.TBase<killTopologyWithOpts_args, killTopologyWithOpts_args._Fields>, java.io.Serializable, Cloneable, Comparable<killTopologyWithOpts_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("killTopologyWithOpts_args");
  
      private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField OPTIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("options", org.apache.thrift.protocol.TType.STRUCT, (short)2);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new killTopologyWithOpts_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new killTopologyWithOpts_argsTupleSchemeFactory());
      }
  
      private String name; // required
      private KillOptions options; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        NAME((short)1, "name"),
        OPTIONS((short)2, "options");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // NAME
              return NAME;
            case 2: // OPTIONS
              return OPTIONS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.OPTIONS, new org.apache.thrift.meta_data.FieldMetaData("options", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, KillOptions.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(killTopologyWithOpts_args.class, metaDataMap);
      }
  
      public killTopologyWithOpts_args() {
      }
  
      public killTopologyWithOpts_args(
        String name,
        KillOptions options)
      {
        this();
        this.name = name;
        this.options = options;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public killTopologyWithOpts_args(killTopologyWithOpts_args other) {
        if (other.is_set_name()) {
          this.name = other.name;
        }
        if (other.is_set_options()) {
          this.options = new KillOptions(other.options);
        }
      }
  
      public killTopologyWithOpts_args deepCopy() {
        return new killTopologyWithOpts_args(this);
      }
  
      @Override
      public void clear() {
        this.name = null;
        this.options = null;
      }
  
      public String get_name() {
        return this.name;
      }
  
      public void set_name(String name) {
        this.name = name;
      }
  
      public void unset_name() {
        this.name = null;
      }
  
      /** Returns true if field name is set (has been assigned a value) and false otherwise */
      public boolean is_set_name() {
        return this.name != null;
      }
  
      public void set_name_isSet(boolean value) {
        if (!value) {
          this.name = null;
        }
      }
  
      public KillOptions get_options() {
        return this.options;
      }
  
      public void set_options(KillOptions options) {
        this.options = options;
      }
  
      public void unset_options() {
        this.options = null;
      }
  
      /** Returns true if field options is set (has been assigned a value) and false otherwise */
      public boolean is_set_options() {
        return this.options != null;
      }
  
      public void set_options_isSet(boolean value) {
        if (!value) {
          this.options = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case NAME:
          if (value == null) {
            unset_name();
          } else {
            set_name((String)value);
          }
          break;
  
        case OPTIONS:
          if (value == null) {
            unset_options();
          } else {
            set_options((KillOptions)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case NAME:
          return get_name();
  
        case OPTIONS:
          return get_options();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case NAME:
          return is_set_name();
        case OPTIONS:
          return is_set_options();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof killTopologyWithOpts_args)
          return this.equals((killTopologyWithOpts_args)that);
        return false;
      }
  
      public boolean equals(killTopologyWithOpts_args that) {
        if (that == null)
          return false;
  
        boolean this_present_name = true && this.is_set_name();
        boolean that_present_name = true && that.is_set_name();
        if (this_present_name || that_present_name) {
          if (!(this_present_name && that_present_name))
            return false;
          if (!this.name.equals(that.name))
            return false;
        }
  
        boolean this_present_options = true && this.is_set_options();
        boolean that_present_options = true && that.is_set_options();
        if (this_present_options || that_present_options) {
          if (!(this_present_options && that_present_options))
            return false;
          if (!this.options.equals(that.options))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_name = true && (is_set_name());
        list.add(present_name);
        if (present_name)
          list.add(name);
  
        boolean present_options = true && (is_set_options());
        list.add(present_options);
        if (present_options)
          list.add(options);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(killTopologyWithOpts_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_name()).compareTo(other.is_set_name());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_name()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_options()).compareTo(other.is_set_options());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_options()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.options, other.options);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("killTopologyWithOpts_args(");
        boolean first = true;
  
        sb.append("name:");
        if (this.name == null) {
          sb.append("null");
        } else {
          sb.append(this.name);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("options:");
        if (this.options == null) {
          sb.append("null");
        } else {
          sb.append(this.options);
        }
        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 (options != null) {
          options.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 killTopologyWithOpts_argsStandardSchemeFactory implements SchemeFactory {
        public killTopologyWithOpts_argsStandardScheme getScheme() {
          return new killTopologyWithOpts_argsStandardScheme();
        }
      }
  
      private static class killTopologyWithOpts_argsStandardScheme extends StandardScheme<killTopologyWithOpts_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, killTopologyWithOpts_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: // NAME
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.name = iprot.readString();
                  struct.set_name_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // OPTIONS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.options = new KillOptions();
                  struct.options.read(iprot);
                  struct.set_options_isSet(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, killTopologyWithOpts_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.name != null) {
            oprot.writeFieldBegin(NAME_FIELD_DESC);
            oprot.writeString(struct.name);
            oprot.writeFieldEnd();
          }
          if (struct.options != null) {
            oprot.writeFieldBegin(OPTIONS_FIELD_DESC);
            struct.options.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class killTopologyWithOpts_argsTupleSchemeFactory implements SchemeFactory {
        public killTopologyWithOpts_argsTupleScheme getScheme() {
          return new killTopologyWithOpts_argsTupleScheme();
        }
      }
  
      private static class killTopologyWithOpts_argsTupleScheme extends TupleScheme<killTopologyWithOpts_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, killTopologyWithOpts_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_name()) {
            optionals.set(0);
          }
          if (struct.is_set_options()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_name()) {
            oprot.writeString(struct.name);
          }
          if (struct.is_set_options()) {
            struct.options.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, killTopologyWithOpts_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.name = iprot.readString();
            struct.set_name_isSet(true);
          }
          if (incoming.get(1)) {
            struct.options = new KillOptions();
            struct.options.read(iprot);
            struct.set_options_isSet(true);
          }
        }
      }
  
    }
  
    public static class killTopologyWithOpts_result implements org.apache.thrift.TBase<killTopologyWithOpts_result, killTopologyWithOpts_result._Fields>, java.io.Serializable, Cloneable, Comparable<killTopologyWithOpts_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("killTopologyWithOpts_result");
  
      private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", 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 killTopologyWithOpts_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new killTopologyWithOpts_resultTupleSchemeFactory());
      }
  
      private NotAliveException e; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        E((short)1, "e");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // E
              return E;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(killTopologyWithOpts_result.class, metaDataMap);
      }
  
      public killTopologyWithOpts_result() {
      }
  
      public killTopologyWithOpts_result(
        NotAliveException e)
      {
        this();
        this.e = e;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public killTopologyWithOpts_result(killTopologyWithOpts_result other) {
        if (other.is_set_e()) {
          this.e = new NotAliveException(other.e);
        }
      }
  
      public killTopologyWithOpts_result deepCopy() {
        return new killTopologyWithOpts_result(this);
      }
  
      @Override
      public void clear() {
        this.e = null;
      }
  
      public NotAliveException get_e() {
        return this.e;
      }
  
      public void set_e(NotAliveException e) {
        this.e = e;
      }
  
      public void unset_e() {
        this.e = null;
      }
  
      /** Returns true if field e is set (has been assigned a value) and false otherwise */
      public boolean is_set_e() {
        return this.e != null;
      }
  
      public void set_e_isSet(boolean value) {
        if (!value) {
          this.e = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case E:
          if (value == null) {
            unset_e();
          } else {
            set_e((NotAliveException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case E:
          return get_e();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case E:
          return is_set_e();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof killTopologyWithOpts_result)
          return this.equals((killTopologyWithOpts_result)that);
        return false;
      }
  
      public boolean equals(killTopologyWithOpts_result that) {
        if (that == null)
          return false;
  
        boolean this_present_e = true && this.is_set_e();
        boolean that_present_e = true && that.is_set_e();
        if (this_present_e || that_present_e) {
          if (!(this_present_e && that_present_e))
            return false;
          if (!this.e.equals(that.e))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_e = true && (is_set_e());
        list.add(present_e);
        if (present_e)
          list.add(e);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(killTopologyWithOpts_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_e()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("killTopologyWithOpts_result(");
        boolean first = true;
  
        sb.append("e:");
        if (this.e == null) {
          sb.append("null");
        } else {
          sb.append(this.e);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 killTopologyWithOpts_resultStandardSchemeFactory implements SchemeFactory {
        public killTopologyWithOpts_resultStandardScheme getScheme() {
          return new killTopologyWithOpts_resultStandardScheme();
        }
      }
  
      private static class killTopologyWithOpts_resultStandardScheme extends StandardScheme<killTopologyWithOpts_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, killTopologyWithOpts_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 1: // E
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.e = new NotAliveException();
                  struct.e.read(iprot);
                  struct.set_e_isSet(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, killTopologyWithOpts_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.e != null) {
            oprot.writeFieldBegin(E_FIELD_DESC);
            struct.e.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class killTopologyWithOpts_resultTupleSchemeFactory implements SchemeFactory {
        public killTopologyWithOpts_resultTupleScheme getScheme() {
          return new killTopologyWithOpts_resultTupleScheme();
        }
      }
  
      private static class killTopologyWithOpts_resultTupleScheme extends TupleScheme<killTopologyWithOpts_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, killTopologyWithOpts_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_e()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_e()) {
            struct.e.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, killTopologyWithOpts_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.e = new NotAliveException();
            struct.e.read(iprot);
            struct.set_e_isSet(true);
          }
        }
      }
  
    }
  
    public static class activate_args implements org.apache.thrift.TBase<activate_args, activate_args._Fields>, java.io.Serializable, Cloneable, Comparable<activate_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("activate_args");
  
      private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new activate_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new activate_argsTupleSchemeFactory());
      }
  
      private String name; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        NAME((short)1, "name");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // NAME
              return NAME;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(activate_args.class, metaDataMap);
      }
  
      public activate_args() {
      }
  
      public activate_args(
        String name)
      {
        this();
        this.name = name;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public activate_args(activate_args other) {
        if (other.is_set_name()) {
          this.name = other.name;
        }
      }
  
      public activate_args deepCopy() {
        return new activate_args(this);
      }
  
      @Override
      public void clear() {
        this.name = null;
      }
  
      public String get_name() {
        return this.name;
      }
  
      public void set_name(String name) {
        this.name = name;
      }
  
      public void unset_name() {
        this.name = null;
      }
  
      /** Returns true if field name is set (has been assigned a value) and false otherwise */
      public boolean is_set_name() {
        return this.name != null;
      }
  
      public void set_name_isSet(boolean value) {
        if (!value) {
          this.name = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case NAME:
          if (value == null) {
            unset_name();
          } else {
            set_name((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case NAME:
          return get_name();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case NAME:
          return is_set_name();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof activate_args)
          return this.equals((activate_args)that);
        return false;
      }
  
      public boolean equals(activate_args that) {
        if (that == null)
          return false;
  
        boolean this_present_name = true && this.is_set_name();
        boolean that_present_name = true && that.is_set_name();
        if (this_present_name || that_present_name) {
          if (!(this_present_name && that_present_name))
            return false;
          if (!this.name.equals(that.name))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_name = true && (is_set_name());
        list.add(present_name);
        if (present_name)
          list.add(name);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(activate_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_name()).compareTo(other.is_set_name());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_name()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        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("activate_args(");
        boolean first = true;
  
        sb.append("name:");
        if (this.name == null) {
          sb.append("null");
        } else {
          sb.append(this.name);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 activate_argsStandardSchemeFactory implements SchemeFactory {
        public activate_argsStandardScheme getScheme() {
          return new activate_argsStandardScheme();
        }
      }
  
      private static class activate_argsStandardScheme extends StandardScheme<activate_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, activate_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: // NAME
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.name = iprot.readString();
                  struct.set_name_isSet(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, activate_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.name != null) {
            oprot.writeFieldBegin(NAME_FIELD_DESC);
            oprot.writeString(struct.name);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class activate_argsTupleSchemeFactory implements SchemeFactory {
        public activate_argsTupleScheme getScheme() {
          return new activate_argsTupleScheme();
        }
      }
  
      private static class activate_argsTupleScheme extends TupleScheme<activate_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, activate_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_name()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_name()) {
            oprot.writeString(struct.name);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, activate_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.name = iprot.readString();
            struct.set_name_isSet(true);
          }
        }
      }
  
    }
  
    public static class activate_result implements org.apache.thrift.TBase<activate_result, activate_result._Fields>, java.io.Serializable, Cloneable, Comparable<activate_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("activate_result");
  
      private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", 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 activate_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new activate_resultTupleSchemeFactory());
      }
  
      private NotAliveException e; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        E((short)1, "e");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // E
              return E;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(activate_result.class, metaDataMap);
      }
  
      public activate_result() {
      }
  
      public activate_result(
        NotAliveException e)
      {
        this();
        this.e = e;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public activate_result(activate_result other) {
        if (other.is_set_e()) {
          this.e = new NotAliveException(other.e);
        }
      }
  
      public activate_result deepCopy() {
        return new activate_result(this);
      }
  
      @Override
      public void clear() {
        this.e = null;
      }
  
      public NotAliveException get_e() {
        return this.e;
      }
  
      public void set_e(NotAliveException e) {
        this.e = e;
      }
  
      public void unset_e() {
        this.e = null;
      }
  
      /** Returns true if field e is set (has been assigned a value) and false otherwise */
      public boolean is_set_e() {
        return this.e != null;
      }
  
      public void set_e_isSet(boolean value) {
        if (!value) {
          this.e = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case E:
          if (value == null) {
            unset_e();
          } else {
            set_e((NotAliveException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case E:
          return get_e();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case E:
          return is_set_e();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof activate_result)
          return this.equals((activate_result)that);
        return false;
      }
  
      public boolean equals(activate_result that) {
        if (that == null)
          return false;
  
        boolean this_present_e = true && this.is_set_e();
        boolean that_present_e = true && that.is_set_e();
        if (this_present_e || that_present_e) {
          if (!(this_present_e && that_present_e))
            return false;
          if (!this.e.equals(that.e))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_e = true && (is_set_e());
        list.add(present_e);
        if (present_e)
          list.add(e);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(activate_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_e()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("activate_result(");
        boolean first = true;
  
        sb.append("e:");
        if (this.e == null) {
          sb.append("null");
        } else {
          sb.append(this.e);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 activate_resultStandardSchemeFactory implements SchemeFactory {
        public activate_resultStandardScheme getScheme() {
          return new activate_resultStandardScheme();
        }
      }
  
      private static class activate_resultStandardScheme extends StandardScheme<activate_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, activate_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 1: // E
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.e = new NotAliveException();
                  struct.e.read(iprot);
                  struct.set_e_isSet(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, activate_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.e != null) {
            oprot.writeFieldBegin(E_FIELD_DESC);
            struct.e.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class activate_resultTupleSchemeFactory implements SchemeFactory {
        public activate_resultTupleScheme getScheme() {
          return new activate_resultTupleScheme();
        }
      }
  
      private static class activate_resultTupleScheme extends TupleScheme<activate_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, activate_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_e()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_e()) {
            struct.e.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, activate_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.e = new NotAliveException();
            struct.e.read(iprot);
            struct.set_e_isSet(true);
          }
        }
      }
  
    }
  
    public static class deactivate_args implements org.apache.thrift.TBase<deactivate_args, deactivate_args._Fields>, java.io.Serializable, Cloneable, Comparable<deactivate_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deactivate_args");
  
      private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new deactivate_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new deactivate_argsTupleSchemeFactory());
      }
  
      private String name; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        NAME((short)1, "name");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // NAME
              return NAME;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deactivate_args.class, metaDataMap);
      }
  
      public deactivate_args() {
      }
  
      public deactivate_args(
        String name)
      {
        this();
        this.name = name;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public deactivate_args(deactivate_args other) {
        if (other.is_set_name()) {
          this.name = other.name;
        }
      }
  
      public deactivate_args deepCopy() {
        return new deactivate_args(this);
      }
  
      @Override
      public void clear() {
        this.name = null;
      }
  
      public String get_name() {
        return this.name;
      }
  
      public void set_name(String name) {
        this.name = name;
      }
  
      public void unset_name() {
        this.name = null;
      }
  
      /** Returns true if field name is set (has been assigned a value) and false otherwise */
      public boolean is_set_name() {
        return this.name != null;
      }
  
      public void set_name_isSet(boolean value) {
        if (!value) {
          this.name = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case NAME:
          if (value == null) {
            unset_name();
          } else {
            set_name((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case NAME:
          return get_name();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case NAME:
          return is_set_name();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof deactivate_args)
          return this.equals((deactivate_args)that);
        return false;
      }
  
      public boolean equals(deactivate_args that) {
        if (that == null)
          return false;
  
        boolean this_present_name = true && this.is_set_name();
        boolean that_present_name = true && that.is_set_name();
        if (this_present_name || that_present_name) {
          if (!(this_present_name && that_present_name))
            return false;
          if (!this.name.equals(that.name))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_name = true && (is_set_name());
        list.add(present_name);
        if (present_name)
          list.add(name);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(deactivate_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_name()).compareTo(other.is_set_name());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_name()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        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("deactivate_args(");
        boolean first = true;
  
        sb.append("name:");
        if (this.name == null) {
          sb.append("null");
        } else {
          sb.append(this.name);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 deactivate_argsStandardSchemeFactory implements SchemeFactory {
        public deactivate_argsStandardScheme getScheme() {
          return new deactivate_argsStandardScheme();
        }
      }
  
      private static class deactivate_argsStandardScheme extends StandardScheme<deactivate_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, deactivate_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: // NAME
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.name = iprot.readString();
                  struct.set_name_isSet(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, deactivate_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.name != null) {
            oprot.writeFieldBegin(NAME_FIELD_DESC);
            oprot.writeString(struct.name);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class deactivate_argsTupleSchemeFactory implements SchemeFactory {
        public deactivate_argsTupleScheme getScheme() {
          return new deactivate_argsTupleScheme();
        }
      }
  
      private static class deactivate_argsTupleScheme extends TupleScheme<deactivate_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, deactivate_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_name()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_name()) {
            oprot.writeString(struct.name);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, deactivate_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.name = iprot.readString();
            struct.set_name_isSet(true);
          }
        }
      }
  
    }
  
    public static class deactivate_result implements org.apache.thrift.TBase<deactivate_result, deactivate_result._Fields>, java.io.Serializable, Cloneable, Comparable<deactivate_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deactivate_result");
  
      private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", 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 deactivate_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new deactivate_resultTupleSchemeFactory());
      }
  
      private NotAliveException e; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        E((short)1, "e");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // E
              return E;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deactivate_result.class, metaDataMap);
      }
  
      public deactivate_result() {
      }
  
      public deactivate_result(
        NotAliveException e)
      {
        this();
        this.e = e;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public deactivate_result(deactivate_result other) {
        if (other.is_set_e()) {
          this.e = new NotAliveException(other.e);
        }
      }
  
      public deactivate_result deepCopy() {
        return new deactivate_result(this);
      }
  
      @Override
      public void clear() {
        this.e = null;
      }
  
      public NotAliveException get_e() {
        return this.e;
      }
  
      public void set_e(NotAliveException e) {
        this.e = e;
      }
  
      public void unset_e() {
        this.e = null;
      }
  
      /** Returns true if field e is set (has been assigned a value) and false otherwise */
      public boolean is_set_e() {
        return this.e != null;
      }
  
      public void set_e_isSet(boolean value) {
        if (!value) {
          this.e = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case E:
          if (value == null) {
            unset_e();
          } else {
            set_e((NotAliveException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case E:
          return get_e();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case E:
          return is_set_e();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof deactivate_result)
          return this.equals((deactivate_result)that);
        return false;
      }
  
      public boolean equals(deactivate_result that) {
        if (that == null)
          return false;
  
        boolean this_present_e = true && this.is_set_e();
        boolean that_present_e = true && that.is_set_e();
        if (this_present_e || that_present_e) {
          if (!(this_present_e && that_present_e))
            return false;
          if (!this.e.equals(that.e))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_e = true && (is_set_e());
        list.add(present_e);
        if (present_e)
          list.add(e);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(deactivate_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_e()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("deactivate_result(");
        boolean first = true;
  
        sb.append("e:");
        if (this.e == null) {
          sb.append("null");
        } else {
          sb.append(this.e);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 deactivate_resultStandardSchemeFactory implements SchemeFactory {
        public deactivate_resultStandardScheme getScheme() {
          return new deactivate_resultStandardScheme();
        }
      }
  
      private static class deactivate_resultStandardScheme extends StandardScheme<deactivate_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, deactivate_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 1: // E
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.e = new NotAliveException();
                  struct.e.read(iprot);
                  struct.set_e_isSet(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, deactivate_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.e != null) {
            oprot.writeFieldBegin(E_FIELD_DESC);
            struct.e.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class deactivate_resultTupleSchemeFactory implements SchemeFactory {
        public deactivate_resultTupleScheme getScheme() {
          return new deactivate_resultTupleScheme();
        }
      }
  
      private static class deactivate_resultTupleScheme extends TupleScheme<deactivate_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, deactivate_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_e()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_e()) {
            struct.e.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, deactivate_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.e = new NotAliveException();
            struct.e.read(iprot);
            struct.set_e_isSet(true);
          }
        }
      }
  
    }
  
    public static class rebalance_args implements org.apache.thrift.TBase<rebalance_args, rebalance_args._Fields>, java.io.Serializable, Cloneable, Comparable<rebalance_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("rebalance_args");
  
      private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField OPTIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("options", org.apache.thrift.protocol.TType.STRUCT, (short)2);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new rebalance_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new rebalance_argsTupleSchemeFactory());
      }
  
      private String name; // required
      private RebalanceOptions options; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        NAME((short)1, "name"),
        OPTIONS((short)2, "options");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // NAME
              return NAME;
            case 2: // OPTIONS
              return OPTIONS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.OPTIONS, new org.apache.thrift.meta_data.FieldMetaData("options", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RebalanceOptions.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(rebalance_args.class, metaDataMap);
      }
  
      public rebalance_args() {
      }
  
      public rebalance_args(
        String name,
        RebalanceOptions options)
      {
        this();
        this.name = name;
        this.options = options;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public rebalance_args(rebalance_args other) {
        if (other.is_set_name()) {
          this.name = other.name;
        }
        if (other.is_set_options()) {
          this.options = new RebalanceOptions(other.options);
        }
      }
  
      public rebalance_args deepCopy() {
        return new rebalance_args(this);
      }
  
      @Override
      public void clear() {
        this.name = null;
        this.options = null;
      }
  
      public String get_name() {
        return this.name;
      }
  
      public void set_name(String name) {
        this.name = name;
      }
  
      public void unset_name() {
        this.name = null;
      }
  
      /** Returns true if field name is set (has been assigned a value) and false otherwise */
      public boolean is_set_name() {
        return this.name != null;
      }
  
      public void set_name_isSet(boolean value) {
        if (!value) {
          this.name = null;
        }
      }
  
      public RebalanceOptions get_options() {
        return this.options;
      }
  
      public void set_options(RebalanceOptions options) {
        this.options = options;
      }
  
      public void unset_options() {
        this.options = null;
      }
  
      /** Returns true if field options is set (has been assigned a value) and false otherwise */
      public boolean is_set_options() {
        return this.options != null;
      }
  
      public void set_options_isSet(boolean value) {
        if (!value) {
          this.options = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case NAME:
          if (value == null) {
            unset_name();
          } else {
            set_name((String)value);
          }
          break;
  
        case OPTIONS:
          if (value == null) {
            unset_options();
          } else {
            set_options((RebalanceOptions)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case NAME:
          return get_name();
  
        case OPTIONS:
          return get_options();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case NAME:
          return is_set_name();
        case OPTIONS:
          return is_set_options();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof rebalance_args)
          return this.equals((rebalance_args)that);
        return false;
      }
  
      public boolean equals(rebalance_args that) {
        if (that == null)
          return false;
  
        boolean this_present_name = true && this.is_set_name();
        boolean that_present_name = true && that.is_set_name();
        if (this_present_name || that_present_name) {
          if (!(this_present_name && that_present_name))
            return false;
          if (!this.name.equals(that.name))
            return false;
        }
  
        boolean this_present_options = true && this.is_set_options();
        boolean that_present_options = true && that.is_set_options();
        if (this_present_options || that_present_options) {
          if (!(this_present_options && that_present_options))
            return false;
          if (!this.options.equals(that.options))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_name = true && (is_set_name());
        list.add(present_name);
        if (present_name)
          list.add(name);
  
        boolean present_options = true && (is_set_options());
        list.add(present_options);
        if (present_options)
          list.add(options);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(rebalance_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_name()).compareTo(other.is_set_name());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_name()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_options()).compareTo(other.is_set_options());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_options()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.options, other.options);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("rebalance_args(");
        boolean first = true;
  
        sb.append("name:");
        if (this.name == null) {
          sb.append("null");
        } else {
          sb.append(this.name);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("options:");
        if (this.options == null) {
          sb.append("null");
        } else {
          sb.append(this.options);
        }
        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 (options != null) {
          options.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 rebalance_argsStandardSchemeFactory implements SchemeFactory {
        public rebalance_argsStandardScheme getScheme() {
          return new rebalance_argsStandardScheme();
        }
      }
  
      private static class rebalance_argsStandardScheme extends StandardScheme<rebalance_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, rebalance_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: // NAME
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.name = iprot.readString();
                  struct.set_name_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // OPTIONS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.options = new RebalanceOptions();
                  struct.options.read(iprot);
                  struct.set_options_isSet(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, rebalance_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.name != null) {
            oprot.writeFieldBegin(NAME_FIELD_DESC);
            oprot.writeString(struct.name);
            oprot.writeFieldEnd();
          }
          if (struct.options != null) {
            oprot.writeFieldBegin(OPTIONS_FIELD_DESC);
            struct.options.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class rebalance_argsTupleSchemeFactory implements SchemeFactory {
        public rebalance_argsTupleScheme getScheme() {
          return new rebalance_argsTupleScheme();
        }
      }
  
      private static class rebalance_argsTupleScheme extends TupleScheme<rebalance_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, rebalance_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_name()) {
            optionals.set(0);
          }
          if (struct.is_set_options()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_name()) {
            oprot.writeString(struct.name);
          }
          if (struct.is_set_options()) {
            struct.options.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, rebalance_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.name = iprot.readString();
            struct.set_name_isSet(true);
          }
          if (incoming.get(1)) {
            struct.options = new RebalanceOptions();
            struct.options.read(iprot);
            struct.set_options_isSet(true);
          }
        }
      }
  
    }
  
    public static class rebalance_result implements org.apache.thrift.TBase<rebalance_result, rebalance_result._Fields>, java.io.Serializable, Cloneable, Comparable<rebalance_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("rebalance_result");
  
      private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", org.apache.thrift.protocol.TType.STRUCT, (short)1);
      private static final org.apache.thrift.protocol.TField ITE_FIELD_DESC = new org.apache.thrift.protocol.TField("ite", org.apache.thrift.protocol.TType.STRUCT, (short)2);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new rebalance_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new rebalance_resultTupleSchemeFactory());
      }
  
      private NotAliveException e; // required
      private InvalidTopologyException ite; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        E((short)1, "e"),
        ITE((short)2, "ite");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // E
              return E;
            case 2: // ITE
              return ITE;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        tmpMap.put(_Fields.ITE, new org.apache.thrift.meta_data.FieldMetaData("ite", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(rebalance_result.class, metaDataMap);
      }
  
      public rebalance_result() {
      }
  
      public rebalance_result(
        NotAliveException e,
        InvalidTopologyException ite)
      {
        this();
        this.e = e;
        this.ite = ite;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public rebalance_result(rebalance_result other) {
        if (other.is_set_e()) {
          this.e = new NotAliveException(other.e);
        }
        if (other.is_set_ite()) {
          this.ite = new InvalidTopologyException(other.ite);
        }
      }
  
      public rebalance_result deepCopy() {
        return new rebalance_result(this);
      }
  
      @Override
      public void clear() {
        this.e = null;
        this.ite = null;
      }
  
      public NotAliveException get_e() {
        return this.e;
      }
  
      public void set_e(NotAliveException e) {
        this.e = e;
      }
  
      public void unset_e() {
        this.e = null;
      }
  
      /** Returns true if field e is set (has been assigned a value) and false otherwise */
      public boolean is_set_e() {
        return this.e != null;
      }
  
      public void set_e_isSet(boolean value) {
        if (!value) {
          this.e = null;
        }
      }
  
      public InvalidTopologyException get_ite() {
        return this.ite;
      }
  
      public void set_ite(InvalidTopologyException ite) {
        this.ite = ite;
      }
  
      public void unset_ite() {
        this.ite = null;
      }
  
      /** Returns true if field ite is set (has been assigned a value) and false otherwise */
      public boolean is_set_ite() {
        return this.ite != null;
      }
  
      public void set_ite_isSet(boolean value) {
        if (!value) {
          this.ite = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case E:
          if (value == null) {
            unset_e();
          } else {
            set_e((NotAliveException)value);
          }
          break;
  
        case ITE:
          if (value == null) {
            unset_ite();
          } else {
            set_ite((InvalidTopologyException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case E:
          return get_e();
  
        case ITE:
          return get_ite();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case E:
          return is_set_e();
        case ITE:
          return is_set_ite();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof rebalance_result)
          return this.equals((rebalance_result)that);
        return false;
      }
  
      public boolean equals(rebalance_result that) {
        if (that == null)
          return false;
  
        boolean this_present_e = true && this.is_set_e();
        boolean that_present_e = true && that.is_set_e();
        if (this_present_e || that_present_e) {
          if (!(this_present_e && that_present_e))
            return false;
          if (!this.e.equals(that.e))
            return false;
        }
  
        boolean this_present_ite = true && this.is_set_ite();
        boolean that_present_ite = true && that.is_set_ite();
        if (this_present_ite || that_present_ite) {
          if (!(this_present_ite && that_present_ite))
            return false;
          if (!this.ite.equals(that.ite))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_e = true && (is_set_e());
        list.add(present_e);
        if (present_e)
          list.add(e);
  
        boolean present_ite = true && (is_set_ite());
        list.add(present_ite);
        if (present_ite)
          list.add(ite);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(rebalance_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_e()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_ite()).compareTo(other.is_set_ite());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_ite()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ite, other.ite);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("rebalance_result(");
        boolean first = true;
  
        sb.append("e:");
        if (this.e == null) {
          sb.append("null");
        } else {
          sb.append(this.e);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("ite:");
        if (this.ite == null) {
          sb.append("null");
        } else {
          sb.append(this.ite);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 rebalance_resultStandardSchemeFactory implements SchemeFactory {
        public rebalance_resultStandardScheme getScheme() {
          return new rebalance_resultStandardScheme();
        }
      }
  
      private static class rebalance_resultStandardScheme extends StandardScheme<rebalance_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, rebalance_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 1: // E
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.e = new NotAliveException();
                  struct.e.read(iprot);
                  struct.set_e_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // ITE
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.ite = new InvalidTopologyException();
                  struct.ite.read(iprot);
                  struct.set_ite_isSet(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, rebalance_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.e != null) {
            oprot.writeFieldBegin(E_FIELD_DESC);
            struct.e.write(oprot);
            oprot.writeFieldEnd();
          }
          if (struct.ite != null) {
            oprot.writeFieldBegin(ITE_FIELD_DESC);
            struct.ite.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class rebalance_resultTupleSchemeFactory implements SchemeFactory {
        public rebalance_resultTupleScheme getScheme() {
          return new rebalance_resultTupleScheme();
        }
      }
  
      private static class rebalance_resultTupleScheme extends TupleScheme<rebalance_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, rebalance_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_e()) {
            optionals.set(0);
          }
          if (struct.is_set_ite()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_e()) {
            struct.e.write(oprot);
          }
          if (struct.is_set_ite()) {
            struct.ite.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, rebalance_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.e = new NotAliveException();
            struct.e.read(iprot);
            struct.set_e_isSet(true);
          }
          if (incoming.get(1)) {
            struct.ite = new InvalidTopologyException();
            struct.ite.read(iprot);
            struct.set_ite_isSet(true);
          }
        }
      }
  
    }
  
    public static class metricMonitor_args implements org.apache.thrift.TBase<metricMonitor_args, metricMonitor_args._Fields>, java.io.Serializable, Cloneable, Comparable<metricMonitor_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("metricMonitor_args");
  
      private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField OPTIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("options", org.apache.thrift.protocol.TType.STRUCT, (short)2);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new metricMonitor_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new metricMonitor_argsTupleSchemeFactory());
      }
  
      private String name; // required
      private MonitorOptions options; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        NAME((short)1, "name"),
        OPTIONS((short)2, "options");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // NAME
              return NAME;
            case 2: // OPTIONS
              return OPTIONS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.OPTIONS, new org.apache.thrift.meta_data.FieldMetaData("options", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, MonitorOptions.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(metricMonitor_args.class, metaDataMap);
      }
  
      public metricMonitor_args() {
      }
  
      public metricMonitor_args(
        String name,
        MonitorOptions options)
      {
        this();
        this.name = name;
        this.options = options;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public metricMonitor_args(metricMonitor_args other) {
        if (other.is_set_name()) {
          this.name = other.name;
        }
        if (other.is_set_options()) {
          this.options = new MonitorOptions(other.options);
        }
      }
  
      public metricMonitor_args deepCopy() {
        return new metricMonitor_args(this);
      }
  
      @Override
      public void clear() {
        this.name = null;
        this.options = null;
      }
  
      public String get_name() {
        return this.name;
      }
  
      public void set_name(String name) {
        this.name = name;
      }
  
      public void unset_name() {
        this.name = null;
      }
  
      /** Returns true if field name is set (has been assigned a value) and false otherwise */
      public boolean is_set_name() {
        return this.name != null;
      }
  
      public void set_name_isSet(boolean value) {
        if (!value) {
          this.name = null;
        }
      }
  
      public MonitorOptions get_options() {
        return this.options;
      }
  
      public void set_options(MonitorOptions options) {
        this.options = options;
      }
  
      public void unset_options() {
        this.options = null;
      }
  
      /** Returns true if field options is set (has been assigned a value) and false otherwise */
      public boolean is_set_options() {
        return this.options != null;
      }
  
      public void set_options_isSet(boolean value) {
        if (!value) {
          this.options = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case NAME:
          if (value == null) {
            unset_name();
          } else {
            set_name((String)value);
          }
          break;
  
        case OPTIONS:
          if (value == null) {
            unset_options();
          } else {
            set_options((MonitorOptions)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case NAME:
          return get_name();
  
        case OPTIONS:
          return get_options();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case NAME:
          return is_set_name();
        case OPTIONS:
          return is_set_options();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof metricMonitor_args)
          return this.equals((metricMonitor_args)that);
        return false;
      }
  
      public boolean equals(metricMonitor_args that) {
        if (that == null)
          return false;
  
        boolean this_present_name = true && this.is_set_name();
        boolean that_present_name = true && that.is_set_name();
        if (this_present_name || that_present_name) {
          if (!(this_present_name && that_present_name))
            return false;
          if (!this.name.equals(that.name))
            return false;
        }
  
        boolean this_present_options = true && this.is_set_options();
        boolean that_present_options = true && that.is_set_options();
        if (this_present_options || that_present_options) {
          if (!(this_present_options && that_present_options))
            return false;
          if (!this.options.equals(that.options))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_name = true && (is_set_name());
        list.add(present_name);
        if (present_name)
          list.add(name);
  
        boolean present_options = true && (is_set_options());
        list.add(present_options);
        if (present_options)
          list.add(options);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(metricMonitor_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_name()).compareTo(other.is_set_name());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_name()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_options()).compareTo(other.is_set_options());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_options()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.options, other.options);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("metricMonitor_args(");
        boolean first = true;
  
        sb.append("name:");
        if (this.name == null) {
          sb.append("null");
        } else {
          sb.append(this.name);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("options:");
        if (this.options == null) {
          sb.append("null");
        } else {
          sb.append(this.options);
        }
        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 (options != null) {
          options.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 metricMonitor_argsStandardSchemeFactory implements SchemeFactory {
        public metricMonitor_argsStandardScheme getScheme() {
          return new metricMonitor_argsStandardScheme();
        }
      }
  
      private static class metricMonitor_argsStandardScheme extends StandardScheme<metricMonitor_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, metricMonitor_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: // NAME
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.name = iprot.readString();
                  struct.set_name_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // OPTIONS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.options = new MonitorOptions();
                  struct.options.read(iprot);
                  struct.set_options_isSet(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, metricMonitor_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.name != null) {
            oprot.writeFieldBegin(NAME_FIELD_DESC);
            oprot.writeString(struct.name);
            oprot.writeFieldEnd();
          }
          if (struct.options != null) {
            oprot.writeFieldBegin(OPTIONS_FIELD_DESC);
            struct.options.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class metricMonitor_argsTupleSchemeFactory implements SchemeFactory {
        public metricMonitor_argsTupleScheme getScheme() {
          return new metricMonitor_argsTupleScheme();
        }
      }
  
      private static class metricMonitor_argsTupleScheme extends TupleScheme<metricMonitor_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, metricMonitor_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_name()) {
            optionals.set(0);
          }
          if (struct.is_set_options()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_name()) {
            oprot.writeString(struct.name);
          }
          if (struct.is_set_options()) {
            struct.options.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, metricMonitor_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.name = iprot.readString();
            struct.set_name_isSet(true);
          }
          if (incoming.get(1)) {
            struct.options = new MonitorOptions();
            struct.options.read(iprot);
            struct.set_options_isSet(true);
          }
        }
      }
  
    }
  
    public static class metricMonitor_result implements org.apache.thrift.TBase<metricMonitor_result, metricMonitor_result._Fields>, java.io.Serializable, Cloneable, Comparable<metricMonitor_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("metricMonitor_result");
  
      private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", 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 metricMonitor_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new metricMonitor_resultTupleSchemeFactory());
      }
  
      private NotAliveException e; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        E((short)1, "e");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // E
              return E;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(metricMonitor_result.class, metaDataMap);
      }
  
      public metricMonitor_result() {
      }
  
      public metricMonitor_result(
        NotAliveException e)
      {
        this();
        this.e = e;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public metricMonitor_result(metricMonitor_result other) {
        if (other.is_set_e()) {
          this.e = new NotAliveException(other.e);
        }
      }
  
      public metricMonitor_result deepCopy() {
        return new metricMonitor_result(this);
      }
  
      @Override
      public void clear() {
        this.e = null;
      }
  
      public NotAliveException get_e() {
        return this.e;
      }
  
      public void set_e(NotAliveException e) {
        this.e = e;
      }
  
      public void unset_e() {
        this.e = null;
      }
  
      /** Returns true if field e is set (has been assigned a value) and false otherwise */
      public boolean is_set_e() {
        return this.e != null;
      }
  
      public void set_e_isSet(boolean value) {
        if (!value) {
          this.e = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case E:
          if (value == null) {
            unset_e();
          } else {
            set_e((NotAliveException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case E:
          return get_e();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case E:
          return is_set_e();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof metricMonitor_result)
          return this.equals((metricMonitor_result)that);
        return false;
      }
  
      public boolean equals(metricMonitor_result that) {
        if (that == null)
          return false;
  
        boolean this_present_e = true && this.is_set_e();
        boolean that_present_e = true && that.is_set_e();
        if (this_present_e || that_present_e) {
          if (!(this_present_e && that_present_e))
            return false;
          if (!this.e.equals(that.e))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_e = true && (is_set_e());
        list.add(present_e);
        if (present_e)
          list.add(e);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(metricMonitor_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_e()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("metricMonitor_result(");
        boolean first = true;
  
        sb.append("e:");
        if (this.e == null) {
          sb.append("null");
        } else {
          sb.append(this.e);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 metricMonitor_resultStandardSchemeFactory implements SchemeFactory {
        public metricMonitor_resultStandardScheme getScheme() {
          return new metricMonitor_resultStandardScheme();
        }
      }
  
      private static class metricMonitor_resultStandardScheme extends StandardScheme<metricMonitor_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, metricMonitor_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 1: // E
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.e = new NotAliveException();
                  struct.e.read(iprot);
                  struct.set_e_isSet(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, metricMonitor_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.e != null) {
            oprot.writeFieldBegin(E_FIELD_DESC);
            struct.e.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class metricMonitor_resultTupleSchemeFactory implements SchemeFactory {
        public metricMonitor_resultTupleScheme getScheme() {
          return new metricMonitor_resultTupleScheme();
        }
      }
  
      private static class metricMonitor_resultTupleScheme extends TupleScheme<metricMonitor_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, metricMonitor_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_e()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_e()) {
            struct.e.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, metricMonitor_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.e = new NotAliveException();
            struct.e.read(iprot);
            struct.set_e_isSet(true);
          }
        }
      }
  
    }
  
    public static class restart_args implements org.apache.thrift.TBase<restart_args, restart_args._Fields>, java.io.Serializable, Cloneable, Comparable<restart_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("restart_args");
  
      private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField JSON_CONF_FIELD_DESC = new org.apache.thrift.protocol.TField("jsonConf", org.apache.thrift.protocol.TType.STRING, (short)2);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new restart_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new restart_argsTupleSchemeFactory());
      }
  
      private String name; // required
      private String jsonConf; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        NAME((short)1, "name"),
        JSON_CONF((short)2, "jsonConf");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // NAME
              return NAME;
            case 2: // JSON_CONF
              return JSON_CONF;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.JSON_CONF, new org.apache.thrift.meta_data.FieldMetaData("jsonConf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(restart_args.class, metaDataMap);
      }
  
      public restart_args() {
      }
  
      public restart_args(
        String name,
        String jsonConf)
      {
        this();
        this.name = name;
        this.jsonConf = jsonConf;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public restart_args(restart_args other) {
        if (other.is_set_name()) {
          this.name = other.name;
        }
        if (other.is_set_jsonConf()) {
          this.jsonConf = other.jsonConf;
        }
      }
  
      public restart_args deepCopy() {
        return new restart_args(this);
      }
  
      @Override
      public void clear() {
        this.name = null;
        this.jsonConf = null;
      }
  
      public String get_name() {
        return this.name;
      }
  
      public void set_name(String name) {
        this.name = name;
      }
  
      public void unset_name() {
        this.name = null;
      }
  
      /** Returns true if field name is set (has been assigned a value) and false otherwise */
      public boolean is_set_name() {
        return this.name != null;
      }
  
      public void set_name_isSet(boolean value) {
        if (!value) {
          this.name = null;
        }
      }
  
      public String get_jsonConf() {
        return this.jsonConf;
      }
  
      public void set_jsonConf(String jsonConf) {
        this.jsonConf = jsonConf;
      }
  
      public void unset_jsonConf() {
        this.jsonConf = null;
      }
  
      /** Returns true if field jsonConf is set (has been assigned a value) and false otherwise */
      public boolean is_set_jsonConf() {
        return this.jsonConf != null;
      }
  
      public void set_jsonConf_isSet(boolean value) {
        if (!value) {
          this.jsonConf = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case NAME:
          if (value == null) {
            unset_name();
          } else {
            set_name((String)value);
          }
          break;
  
        case JSON_CONF:
          if (value == null) {
            unset_jsonConf();
          } else {
            set_jsonConf((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case NAME:
          return get_name();
  
        case JSON_CONF:
          return get_jsonConf();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case NAME:
          return is_set_name();
        case JSON_CONF:
          return is_set_jsonConf();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof restart_args)
          return this.equals((restart_args)that);
        return false;
      }
  
      public boolean equals(restart_args that) {
        if (that == null)
          return false;
  
        boolean this_present_name = true && this.is_set_name();
        boolean that_present_name = true && that.is_set_name();
        if (this_present_name || that_present_name) {
          if (!(this_present_name && that_present_name))
            return false;
          if (!this.name.equals(that.name))
            return false;
        }
  
        boolean this_present_jsonConf = true && this.is_set_jsonConf();
        boolean that_present_jsonConf = true && that.is_set_jsonConf();
        if (this_present_jsonConf || that_present_jsonConf) {
          if (!(this_present_jsonConf && that_present_jsonConf))
            return false;
          if (!this.jsonConf.equals(that.jsonConf))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_name = true && (is_set_name());
        list.add(present_name);
        if (present_name)
          list.add(name);
  
        boolean present_jsonConf = true && (is_set_jsonConf());
        list.add(present_jsonConf);
        if (present_jsonConf)
          list.add(jsonConf);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(restart_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_name()).compareTo(other.is_set_name());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_name()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_jsonConf()).compareTo(other.is_set_jsonConf());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_jsonConf()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jsonConf, other.jsonConf);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("restart_args(");
        boolean first = true;
  
        sb.append("name:");
        if (this.name == null) {
          sb.append("null");
        } else {
          sb.append(this.name);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("jsonConf:");
        if (this.jsonConf == null) {
          sb.append("null");
        } else {
          sb.append(this.jsonConf);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 restart_argsStandardSchemeFactory implements SchemeFactory {
        public restart_argsStandardScheme getScheme() {
          return new restart_argsStandardScheme();
        }
      }
  
      private static class restart_argsStandardScheme extends StandardScheme<restart_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, restart_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: // NAME
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.name = iprot.readString();
                  struct.set_name_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // JSON_CONF
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.jsonConf = iprot.readString();
                  struct.set_jsonConf_isSet(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, restart_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.name != null) {
            oprot.writeFieldBegin(NAME_FIELD_DESC);
            oprot.writeString(struct.name);
            oprot.writeFieldEnd();
          }
          if (struct.jsonConf != null) {
            oprot.writeFieldBegin(JSON_CONF_FIELD_DESC);
            oprot.writeString(struct.jsonConf);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class restart_argsTupleSchemeFactory implements SchemeFactory {
        public restart_argsTupleScheme getScheme() {
          return new restart_argsTupleScheme();
        }
      }
  
      private static class restart_argsTupleScheme extends TupleScheme<restart_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, restart_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_name()) {
            optionals.set(0);
          }
          if (struct.is_set_jsonConf()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_name()) {
            oprot.writeString(struct.name);
          }
          if (struct.is_set_jsonConf()) {
            oprot.writeString(struct.jsonConf);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, restart_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.name = iprot.readString();
            struct.set_name_isSet(true);
          }
          if (incoming.get(1)) {
            struct.jsonConf = iprot.readString();
            struct.set_jsonConf_isSet(true);
          }
        }
      }
  
    }
  
    public static class restart_result implements org.apache.thrift.TBase<restart_result, restart_result._Fields>, java.io.Serializable, Cloneable, Comparable<restart_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("restart_result");
  
      private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", org.apache.thrift.protocol.TType.STRUCT, (short)1);
      private static final org.apache.thrift.protocol.TField ITE_FIELD_DESC = new org.apache.thrift.protocol.TField("ite", org.apache.thrift.protocol.TType.STRUCT, (short)2);
      private static final org.apache.thrift.protocol.TField TAE_FIELD_DESC = new org.apache.thrift.protocol.TField("tae", org.apache.thrift.protocol.TType.STRUCT, (short)3);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new restart_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new restart_resultTupleSchemeFactory());
      }
  
      private NotAliveException e; // required
      private InvalidTopologyException ite; // required
      private TopologyAssignException tae; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        E((short)1, "e"),
        ITE((short)2, "ite"),
        TAE((short)3, "tae");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // E
              return E;
            case 2: // ITE
              return ITE;
            case 3: // TAE
              return TAE;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        tmpMap.put(_Fields.ITE, new org.apache.thrift.meta_data.FieldMetaData("ite", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        tmpMap.put(_Fields.TAE, new org.apache.thrift.meta_data.FieldMetaData("tae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(restart_result.class, metaDataMap);
      }
  
      public restart_result() {
      }
  
      public restart_result(
        NotAliveException e,
        InvalidTopologyException ite,
        TopologyAssignException tae)
      {
        this();
        this.e = e;
        this.ite = ite;
        this.tae = tae;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public restart_result(restart_result other) {
        if (other.is_set_e()) {
          this.e = new NotAliveException(other.e);
        }
        if (other.is_set_ite()) {
          this.ite = new InvalidTopologyException(other.ite);
        }
        if (other.is_set_tae()) {
          this.tae = new TopologyAssignException(other.tae);
        }
      }
  
      public restart_result deepCopy() {
        return new restart_result(this);
      }
  
      @Override
      public void clear() {
        this.e = null;
        this.ite = null;
        this.tae = null;
      }
  
      public NotAliveException get_e() {
        return this.e;
      }
  
      public void set_e(NotAliveException e) {
        this.e = e;
      }
  
      public void unset_e() {
        this.e = null;
      }
  
      /** Returns true if field e is set (has been assigned a value) and false otherwise */
      public boolean is_set_e() {
        return this.e != null;
      }
  
      public void set_e_isSet(boolean value) {
        if (!value) {
          this.e = null;
        }
      }
  
      public InvalidTopologyException get_ite() {
        return this.ite;
      }
  
      public void set_ite(InvalidTopologyException ite) {
        this.ite = ite;
      }
  
      public void unset_ite() {
        this.ite = null;
      }
  
      /** Returns true if field ite is set (has been assigned a value) and false otherwise */
      public boolean is_set_ite() {
        return this.ite != null;
      }
  
      public void set_ite_isSet(boolean value) {
        if (!value) {
          this.ite = null;
        }
      }
  
      public TopologyAssignException get_tae() {
        return this.tae;
      }
  
      public void set_tae(TopologyAssignException tae) {
        this.tae = tae;
      }
  
      public void unset_tae() {
        this.tae = null;
      }
  
      /** Returns true if field tae is set (has been assigned a value) and false otherwise */
      public boolean is_set_tae() {
        return this.tae != null;
      }
  
      public void set_tae_isSet(boolean value) {
        if (!value) {
          this.tae = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case E:
          if (value == null) {
            unset_e();
          } else {
            set_e((NotAliveException)value);
          }
          break;
  
        case ITE:
          if (value == null) {
            unset_ite();
          } else {
            set_ite((InvalidTopologyException)value);
          }
          break;
  
        case TAE:
          if (value == null) {
            unset_tae();
          } else {
            set_tae((TopologyAssignException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case E:
          return get_e();
  
        case ITE:
          return get_ite();
  
        case TAE:
          return get_tae();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case E:
          return is_set_e();
        case ITE:
          return is_set_ite();
        case TAE:
          return is_set_tae();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof restart_result)
          return this.equals((restart_result)that);
        return false;
      }
  
      public boolean equals(restart_result that) {
        if (that == null)
          return false;
  
        boolean this_present_e = true && this.is_set_e();
        boolean that_present_e = true && that.is_set_e();
        if (this_present_e || that_present_e) {
          if (!(this_present_e && that_present_e))
            return false;
          if (!this.e.equals(that.e))
            return false;
        }
  
        boolean this_present_ite = true && this.is_set_ite();
        boolean that_present_ite = true && that.is_set_ite();
        if (this_present_ite || that_present_ite) {
          if (!(this_present_ite && that_present_ite))
            return false;
          if (!this.ite.equals(that.ite))
            return false;
        }
  
        boolean this_present_tae = true && this.is_set_tae();
        boolean that_present_tae = true && that.is_set_tae();
        if (this_present_tae || that_present_tae) {
          if (!(this_present_tae && that_present_tae))
            return false;
          if (!this.tae.equals(that.tae))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_e = true && (is_set_e());
        list.add(present_e);
        if (present_e)
          list.add(e);
  
        boolean present_ite = true && (is_set_ite());
        list.add(present_ite);
        if (present_ite)
          list.add(ite);
  
        boolean present_tae = true && (is_set_tae());
        list.add(present_tae);
        if (present_tae)
          list.add(tae);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(restart_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_e()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_ite()).compareTo(other.is_set_ite());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_ite()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ite, other.ite);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_tae()).compareTo(other.is_set_tae());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_tae()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tae, other.tae);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("restart_result(");
        boolean first = true;
  
        sb.append("e:");
        if (this.e == null) {
          sb.append("null");
        } else {
          sb.append(this.e);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("ite:");
        if (this.ite == null) {
          sb.append("null");
        } else {
          sb.append(this.ite);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("tae:");
        if (this.tae == null) {
          sb.append("null");
        } else {
          sb.append(this.tae);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 restart_resultStandardSchemeFactory implements SchemeFactory {
        public restart_resultStandardScheme getScheme() {
          return new restart_resultStandardScheme();
        }
      }
  
      private static class restart_resultStandardScheme extends StandardScheme<restart_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, restart_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 1: // E
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.e = new NotAliveException();
                  struct.e.read(iprot);
                  struct.set_e_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // ITE
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.ite = new InvalidTopologyException();
                  struct.ite.read(iprot);
                  struct.set_ite_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 3: // TAE
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.tae = new TopologyAssignException();
                  struct.tae.read(iprot);
                  struct.set_tae_isSet(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, restart_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.e != null) {
            oprot.writeFieldBegin(E_FIELD_DESC);
            struct.e.write(oprot);
            oprot.writeFieldEnd();
          }
          if (struct.ite != null) {
            oprot.writeFieldBegin(ITE_FIELD_DESC);
            struct.ite.write(oprot);
            oprot.writeFieldEnd();
          }
          if (struct.tae != null) {
            oprot.writeFieldBegin(TAE_FIELD_DESC);
            struct.tae.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class restart_resultTupleSchemeFactory implements SchemeFactory {
        public restart_resultTupleScheme getScheme() {
          return new restart_resultTupleScheme();
        }
      }
  
      private static class restart_resultTupleScheme extends TupleScheme<restart_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, restart_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_e()) {
            optionals.set(0);
          }
          if (struct.is_set_ite()) {
            optionals.set(1);
          }
          if (struct.is_set_tae()) {
            optionals.set(2);
          }
          oprot.writeBitSet(optionals, 3);
          if (struct.is_set_e()) {
            struct.e.write(oprot);
          }
          if (struct.is_set_ite()) {
            struct.ite.write(oprot);
          }
          if (struct.is_set_tae()) {
            struct.tae.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, restart_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(3);
          if (incoming.get(0)) {
            struct.e = new NotAliveException();
            struct.e.read(iprot);
            struct.set_e_isSet(true);
          }
          if (incoming.get(1)) {
            struct.ite = new InvalidTopologyException();
            struct.ite.read(iprot);
            struct.set_ite_isSet(true);
          }
          if (incoming.get(2)) {
            struct.tae = new TopologyAssignException();
            struct.tae.read(iprot);
            struct.set_tae_isSet(true);
          }
        }
      }
  
    }
  
    public static class beginCreateBlob_args implements org.apache.thrift.TBase<beginCreateBlob_args, beginCreateBlob_args._Fields>, java.io.Serializable, Cloneable, Comparable<beginCreateBlob_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("beginCreateBlob_args");
  
      private static final org.apache.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.thrift.protocol.TField("key", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField META_FIELD_DESC = new org.apache.thrift.protocol.TField("meta", org.apache.thrift.protocol.TType.STRUCT, (short)2);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new beginCreateBlob_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new beginCreateBlob_argsTupleSchemeFactory());
      }
  
      private String key; // required
      private SettableBlobMeta meta; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        KEY((short)1, "key"),
        META((short)2, "meta");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // KEY
              return KEY;
            case 2: // META
              return META;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.KEY, new org.apache.thrift.meta_data.FieldMetaData("key", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.META, new org.apache.thrift.meta_data.FieldMetaData("meta", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, SettableBlobMeta.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginCreateBlob_args.class, metaDataMap);
      }
  
      public beginCreateBlob_args() {
      }
  
      public beginCreateBlob_args(
        String key,
        SettableBlobMeta meta)
      {
        this();
        this.key = key;
        this.meta = meta;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public beginCreateBlob_args(beginCreateBlob_args other) {
        if (other.is_set_key()) {
          this.key = other.key;
        }
        if (other.is_set_meta()) {
          this.meta = new SettableBlobMeta(other.meta);
        }
      }
  
      public beginCreateBlob_args deepCopy() {
        return new beginCreateBlob_args(this);
      }
  
      @Override
      public void clear() {
        this.key = null;
        this.meta = null;
      }
  
      public String get_key() {
        return this.key;
      }
  
      public void set_key(String key) {
        this.key = key;
      }
  
      public void unset_key() {
        this.key = null;
      }
  
      /** Returns true if field key is set (has been assigned a value) and false otherwise */
      public boolean is_set_key() {
        return this.key != null;
      }
  
      public void set_key_isSet(boolean value) {
        if (!value) {
          this.key = null;
        }
      }
  
      public SettableBlobMeta get_meta() {
        return this.meta;
      }
  
      public void set_meta(SettableBlobMeta meta) {
        this.meta = meta;
      }
  
      public void unset_meta() {
        this.meta = null;
      }
  
      /** Returns true if field meta is set (has been assigned a value) and false otherwise */
      public boolean is_set_meta() {
        return this.meta != null;
      }
  
      public void set_meta_isSet(boolean value) {
        if (!value) {
          this.meta = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case KEY:
          if (value == null) {
            unset_key();
          } else {
            set_key((String)value);
          }
          break;
  
        case META:
          if (value == null) {
            unset_meta();
          } else {
            set_meta((SettableBlobMeta)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case KEY:
          return get_key();
  
        case META:
          return get_meta();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case KEY:
          return is_set_key();
        case META:
          return is_set_meta();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof beginCreateBlob_args)
          return this.equals((beginCreateBlob_args)that);
        return false;
      }
  
      public boolean equals(beginCreateBlob_args that) {
        if (that == null)
          return false;
  
        boolean this_present_key = true && this.is_set_key();
        boolean that_present_key = true && that.is_set_key();
        if (this_present_key || that_present_key) {
          if (!(this_present_key && that_present_key))
            return false;
          if (!this.key.equals(that.key))
            return false;
        }
  
        boolean this_present_meta = true && this.is_set_meta();
        boolean that_present_meta = true && that.is_set_meta();
        if (this_present_meta || that_present_meta) {
          if (!(this_present_meta && that_present_meta))
            return false;
          if (!this.meta.equals(that.meta))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_key = true && (is_set_key());
        list.add(present_key);
        if (present_key)
          list.add(key);
  
        boolean present_meta = true && (is_set_meta());
        list.add(present_meta);
        if (present_meta)
          list.add(meta);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(beginCreateBlob_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_key()).compareTo(other.is_set_key());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_key()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.key, other.key);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_meta()).compareTo(other.is_set_meta());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_meta()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.meta, other.meta);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("beginCreateBlob_args(");
        boolean first = true;
  
        sb.append("key:");
        if (this.key == null) {
          sb.append("null");
        } else {
          sb.append(this.key);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("meta:");
        if (this.meta == null) {
          sb.append("null");
        } else {
          sb.append(this.meta);
        }
        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 (meta != null) {
          meta.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 beginCreateBlob_argsStandardSchemeFactory implements SchemeFactory {
        public beginCreateBlob_argsStandardScheme getScheme() {
          return new beginCreateBlob_argsStandardScheme();
        }
      }
  
      private static class beginCreateBlob_argsStandardScheme extends StandardScheme<beginCreateBlob_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, beginCreateBlob_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: // KEY
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.key = iprot.readString();
                  struct.set_key_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // META
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.meta = new SettableBlobMeta();
                  struct.meta.read(iprot);
                  struct.set_meta_isSet(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, beginCreateBlob_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.key != null) {
            oprot.writeFieldBegin(KEY_FIELD_DESC);
            oprot.writeString(struct.key);
            oprot.writeFieldEnd();
          }
          if (struct.meta != null) {
            oprot.writeFieldBegin(META_FIELD_DESC);
            struct.meta.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class beginCreateBlob_argsTupleSchemeFactory implements SchemeFactory {
        public beginCreateBlob_argsTupleScheme getScheme() {
          return new beginCreateBlob_argsTupleScheme();
        }
      }
  
      private static class beginCreateBlob_argsTupleScheme extends TupleScheme<beginCreateBlob_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, beginCreateBlob_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_key()) {
            optionals.set(0);
          }
          if (struct.is_set_meta()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_key()) {
            oprot.writeString(struct.key);
          }
          if (struct.is_set_meta()) {
            struct.meta.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, beginCreateBlob_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.key = iprot.readString();
            struct.set_key_isSet(true);
          }
          if (incoming.get(1)) {
            struct.meta = new SettableBlobMeta();
            struct.meta.read(iprot);
            struct.set_meta_isSet(true);
          }
        }
      }
  
    }
  
    public static class beginCreateBlob_result implements org.apache.thrift.TBase<beginCreateBlob_result, beginCreateBlob_result._Fields>, java.io.Serializable, Cloneable, Comparable<beginCreateBlob_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("beginCreateBlob_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
      private static final org.apache.thrift.protocol.TField KAE_FIELD_DESC = new org.apache.thrift.protocol.TField("kae", 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 beginCreateBlob_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new beginCreateBlob_resultTupleSchemeFactory());
      }
  
      private String success; // required
      private KeyAlreadyExistsException kae; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success"),
        KAE((short)1, "kae");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            case 1: // KAE
              return KAE;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.KAE, new org.apache.thrift.meta_data.FieldMetaData("kae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginCreateBlob_result.class, metaDataMap);
      }
  
      public beginCreateBlob_result() {
      }
  
      public beginCreateBlob_result(
        String success,
        KeyAlreadyExistsException kae)
      {
        this();
        this.success = success;
        this.kae = kae;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public beginCreateBlob_result(beginCreateBlob_result other) {
        if (other.is_set_success()) {
          this.success = other.success;
        }
        if (other.is_set_kae()) {
          this.kae = new KeyAlreadyExistsException(other.kae);
        }
      }
  
      public beginCreateBlob_result deepCopy() {
        return new beginCreateBlob_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
        this.kae = null;
      }
  
      public String get_success() {
        return this.success;
      }
  
      public void set_success(String success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public KeyAlreadyExistsException get_kae() {
        return this.kae;
      }
  
      public void set_kae(KeyAlreadyExistsException kae) {
        this.kae = kae;
      }
  
      public void unset_kae() {
        this.kae = null;
      }
  
      /** Returns true if field kae is set (has been assigned a value) and false otherwise */
      public boolean is_set_kae() {
        return this.kae != null;
      }
  
      public void set_kae_isSet(boolean value) {
        if (!value) {
          this.kae = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((String)value);
          }
          break;
  
        case KAE:
          if (value == null) {
            unset_kae();
          } else {
            set_kae((KeyAlreadyExistsException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        case KAE:
          return get_kae();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        case KAE:
          return is_set_kae();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof beginCreateBlob_result)
          return this.equals((beginCreateBlob_result)that);
        return false;
      }
  
      public boolean equals(beginCreateBlob_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        boolean this_present_kae = true && this.is_set_kae();
        boolean that_present_kae = true && that.is_set_kae();
        if (this_present_kae || that_present_kae) {
          if (!(this_present_kae && that_present_kae))
            return false;
          if (!this.kae.equals(that.kae))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        boolean present_kae = true && (is_set_kae());
        list.add(present_kae);
        if (present_kae)
          list.add(kae);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(beginCreateBlob_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_kae()).compareTo(other.is_set_kae());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_kae()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.kae, other.kae);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("beginCreateBlob_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("kae:");
        if (this.kae == null) {
          sb.append("null");
        } else {
          sb.append(this.kae);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 beginCreateBlob_resultStandardSchemeFactory implements SchemeFactory {
        public beginCreateBlob_resultStandardScheme getScheme() {
          return new beginCreateBlob_resultStandardScheme();
        }
      }
  
      private static class beginCreateBlob_resultStandardScheme extends StandardScheme<beginCreateBlob_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, beginCreateBlob_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.STRING) {
                  struct.success = iprot.readString();
                  struct.set_success_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 1: // KAE
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.kae = new KeyAlreadyExistsException();
                  struct.kae.read(iprot);
                  struct.set_kae_isSet(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, beginCreateBlob_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            oprot.writeString(struct.success);
            oprot.writeFieldEnd();
          }
          if (struct.kae != null) {
            oprot.writeFieldBegin(KAE_FIELD_DESC);
            struct.kae.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class beginCreateBlob_resultTupleSchemeFactory implements SchemeFactory {
        public beginCreateBlob_resultTupleScheme getScheme() {
          return new beginCreateBlob_resultTupleScheme();
        }
      }
  
      private static class beginCreateBlob_resultTupleScheme extends TupleScheme<beginCreateBlob_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, beginCreateBlob_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          if (struct.is_set_kae()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_success()) {
            oprot.writeString(struct.success);
          }
          if (struct.is_set_kae()) {
            struct.kae.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, beginCreateBlob_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.success = iprot.readString();
            struct.set_success_isSet(true);
          }
          if (incoming.get(1)) {
            struct.kae = new KeyAlreadyExistsException();
            struct.kae.read(iprot);
            struct.set_kae_isSet(true);
          }
        }
      }
  
    }
  
    public static class beginUpdateBlob_args implements org.apache.thrift.TBase<beginUpdateBlob_args, beginUpdateBlob_args._Fields>, java.io.Serializable, Cloneable, Comparable<beginUpdateBlob_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("beginUpdateBlob_args");
  
      private static final org.apache.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.thrift.protocol.TField("key", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new beginUpdateBlob_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new beginUpdateBlob_argsTupleSchemeFactory());
      }
  
      private String key; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        KEY((short)1, "key");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // KEY
              return KEY;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.KEY, new org.apache.thrift.meta_data.FieldMetaData("key", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginUpdateBlob_args.class, metaDataMap);
      }
  
      public beginUpdateBlob_args() {
      }
  
      public beginUpdateBlob_args(
        String key)
      {
        this();
        this.key = key;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public beginUpdateBlob_args(beginUpdateBlob_args other) {
        if (other.is_set_key()) {
          this.key = other.key;
        }
      }
  
      public beginUpdateBlob_args deepCopy() {
        return new beginUpdateBlob_args(this);
      }
  
      @Override
      public void clear() {
        this.key = null;
      }
  
      public String get_key() {
        return this.key;
      }
  
      public void set_key(String key) {
        this.key = key;
      }
  
      public void unset_key() {
        this.key = null;
      }
  
      /** Returns true if field key is set (has been assigned a value) and false otherwise */
      public boolean is_set_key() {
        return this.key != null;
      }
  
      public void set_key_isSet(boolean value) {
        if (!value) {
          this.key = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case KEY:
          if (value == null) {
            unset_key();
          } else {
            set_key((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case KEY:
          return get_key();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case KEY:
          return is_set_key();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof beginUpdateBlob_args)
          return this.equals((beginUpdateBlob_args)that);
        return false;
      }
  
      public boolean equals(beginUpdateBlob_args that) {
        if (that == null)
          return false;
  
        boolean this_present_key = true && this.is_set_key();
        boolean that_present_key = true && that.is_set_key();
        if (this_present_key || that_present_key) {
          if (!(this_present_key && that_present_key))
            return false;
          if (!this.key.equals(that.key))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_key = true && (is_set_key());
        list.add(present_key);
        if (present_key)
          list.add(key);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(beginUpdateBlob_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_key()).compareTo(other.is_set_key());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_key()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.key, other.key);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("beginUpdateBlob_args(");
        boolean first = true;
  
        sb.append("key:");
        if (this.key == null) {
          sb.append("null");
        } else {
          sb.append(this.key);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 beginUpdateBlob_argsStandardSchemeFactory implements SchemeFactory {
        public beginUpdateBlob_argsStandardScheme getScheme() {
          return new beginUpdateBlob_argsStandardScheme();
        }
      }
  
      private static class beginUpdateBlob_argsStandardScheme extends StandardScheme<beginUpdateBlob_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, beginUpdateBlob_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: // KEY
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.key = iprot.readString();
                  struct.set_key_isSet(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, beginUpdateBlob_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.key != null) {
            oprot.writeFieldBegin(KEY_FIELD_DESC);
            oprot.writeString(struct.key);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class beginUpdateBlob_argsTupleSchemeFactory implements SchemeFactory {
        public beginUpdateBlob_argsTupleScheme getScheme() {
          return new beginUpdateBlob_argsTupleScheme();
        }
      }
  
      private static class beginUpdateBlob_argsTupleScheme extends TupleScheme<beginUpdateBlob_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, beginUpdateBlob_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_key()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_key()) {
            oprot.writeString(struct.key);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, beginUpdateBlob_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.key = iprot.readString();
            struct.set_key_isSet(true);
          }
        }
      }
  
    }
  
    public static class beginUpdateBlob_result implements org.apache.thrift.TBase<beginUpdateBlob_result, beginUpdateBlob_result._Fields>, java.io.Serializable, Cloneable, Comparable<beginUpdateBlob_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("beginUpdateBlob_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
      private static final org.apache.thrift.protocol.TField KNF_FIELD_DESC = new org.apache.thrift.protocol.TField("knf", 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 beginUpdateBlob_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new beginUpdateBlob_resultTupleSchemeFactory());
      }
  
      private String success; // required
      private KeyNotFoundException knf; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success"),
        KNF((short)1, "knf");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            case 1: // KNF
              return KNF;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.KNF, new org.apache.thrift.meta_data.FieldMetaData("knf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginUpdateBlob_result.class, metaDataMap);
      }
  
      public beginUpdateBlob_result() {
      }
  
      public beginUpdateBlob_result(
        String success,
        KeyNotFoundException knf)
      {
        this();
        this.success = success;
        this.knf = knf;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public beginUpdateBlob_result(beginUpdateBlob_result other) {
        if (other.is_set_success()) {
          this.success = other.success;
        }
        if (other.is_set_knf()) {
          this.knf = new KeyNotFoundException(other.knf);
        }
      }
  
      public beginUpdateBlob_result deepCopy() {
        return new beginUpdateBlob_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
        this.knf = null;
      }
  
      public String get_success() {
        return this.success;
      }
  
      public void set_success(String success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public KeyNotFoundException get_knf() {
        return this.knf;
      }
  
      public void set_knf(KeyNotFoundException knf) {
        this.knf = knf;
      }
  
      public void unset_knf() {
        this.knf = null;
      }
  
      /** Returns true if field knf is set (has been assigned a value) and false otherwise */
      public boolean is_set_knf() {
        return this.knf != null;
      }
  
      public void set_knf_isSet(boolean value) {
        if (!value) {
          this.knf = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((String)value);
          }
          break;
  
        case KNF:
          if (value == null) {
            unset_knf();
          } else {
            set_knf((KeyNotFoundException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        case KNF:
          return get_knf();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        case KNF:
          return is_set_knf();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof beginUpdateBlob_result)
          return this.equals((beginUpdateBlob_result)that);
        return false;
      }
  
      public boolean equals(beginUpdateBlob_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        boolean this_present_knf = true && this.is_set_knf();
        boolean that_present_knf = true && that.is_set_knf();
        if (this_present_knf || that_present_knf) {
          if (!(this_present_knf && that_present_knf))
            return false;
          if (!this.knf.equals(that.knf))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        boolean present_knf = true && (is_set_knf());
        list.add(present_knf);
        if (present_knf)
          list.add(knf);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(beginUpdateBlob_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_knf()).compareTo(other.is_set_knf());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_knf()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.knf, other.knf);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("beginUpdateBlob_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("knf:");
        if (this.knf == null) {
          sb.append("null");
        } else {
          sb.append(this.knf);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 beginUpdateBlob_resultStandardSchemeFactory implements SchemeFactory {
        public beginUpdateBlob_resultStandardScheme getScheme() {
          return new beginUpdateBlob_resultStandardScheme();
        }
      }
  
      private static class beginUpdateBlob_resultStandardScheme extends StandardScheme<beginUpdateBlob_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, beginUpdateBlob_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.STRING) {
                  struct.success = iprot.readString();
                  struct.set_success_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 1: // KNF
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.knf = new KeyNotFoundException();
                  struct.knf.read(iprot);
                  struct.set_knf_isSet(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, beginUpdateBlob_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            oprot.writeString(struct.success);
            oprot.writeFieldEnd();
          }
          if (struct.knf != null) {
            oprot.writeFieldBegin(KNF_FIELD_DESC);
            struct.knf.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class beginUpdateBlob_resultTupleSchemeFactory implements SchemeFactory {
        public beginUpdateBlob_resultTupleScheme getScheme() {
          return new beginUpdateBlob_resultTupleScheme();
        }
      }
  
      private static class beginUpdateBlob_resultTupleScheme extends TupleScheme<beginUpdateBlob_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, beginUpdateBlob_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          if (struct.is_set_knf()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_success()) {
            oprot.writeString(struct.success);
          }
          if (struct.is_set_knf()) {
            struct.knf.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, beginUpdateBlob_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.success = iprot.readString();
            struct.set_success_isSet(true);
          }
          if (incoming.get(1)) {
            struct.knf = new KeyNotFoundException();
            struct.knf.read(iprot);
            struct.set_knf_isSet(true);
          }
        }
      }
  
    }
  
    public static class uploadBlobChunk_args implements org.apache.thrift.TBase<uploadBlobChunk_args, uploadBlobChunk_args._Fields>, java.io.Serializable, Cloneable, Comparable<uploadBlobChunk_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("uploadBlobChunk_args");
  
      private static final org.apache.thrift.protocol.TField SESSION_FIELD_DESC = new org.apache.thrift.protocol.TField("session", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField CHUNK_FIELD_DESC = new org.apache.thrift.protocol.TField("chunk", org.apache.thrift.protocol.TType.STRING, (short)2);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new uploadBlobChunk_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new uploadBlobChunk_argsTupleSchemeFactory());
      }
  
      private String session; // required
      private ByteBuffer chunk; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SESSION((short)1, "session"),
        CHUNK((short)2, "chunk");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // SESSION
              return SESSION;
            case 2: // CHUNK
              return CHUNK;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SESSION, new org.apache.thrift.meta_data.FieldMetaData("session", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.CHUNK, new org.apache.thrift.meta_data.FieldMetaData("chunk", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING          , true)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(uploadBlobChunk_args.class, metaDataMap);
      }
  
      public uploadBlobChunk_args() {
      }
  
      public uploadBlobChunk_args(
        String session,
        ByteBuffer chunk)
      {
        this();
        this.session = session;
        this.chunk = org.apache.thrift.TBaseHelper.copyBinary(chunk);
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public uploadBlobChunk_args(uploadBlobChunk_args other) {
        if (other.is_set_session()) {
          this.session = other.session;
        }
        if (other.is_set_chunk()) {
          this.chunk = org.apache.thrift.TBaseHelper.copyBinary(other.chunk);
        }
      }
  
      public uploadBlobChunk_args deepCopy() {
        return new uploadBlobChunk_args(this);
      }
  
      @Override
      public void clear() {
        this.session = null;
        this.chunk = null;
      }
  
      public String get_session() {
        return this.session;
      }
  
      public void set_session(String session) {
        this.session = session;
      }
  
      public void unset_session() {
        this.session = null;
      }
  
      /** Returns true if field session is set (has been assigned a value) and false otherwise */
      public boolean is_set_session() {
        return this.session != null;
      }
  
      public void set_session_isSet(boolean value) {
        if (!value) {
          this.session = null;
        }
      }
  
      public byte[] get_chunk() {
        set_chunk(org.apache.thrift.TBaseHelper.rightSize(chunk));
        return chunk == null ? null : chunk.array();
      }
  
      public ByteBuffer buffer_for_chunk() {
        return org.apache.thrift.TBaseHelper.copyBinary(chunk);
      }
  
      public void set_chunk(byte[] chunk) {
        this.chunk = chunk == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(chunk, chunk.length));
      }
  
      public void set_chunk(ByteBuffer chunk) {
        this.chunk = org.apache.thrift.TBaseHelper.copyBinary(chunk);
      }
  
      public void unset_chunk() {
        this.chunk = null;
      }
  
      /** Returns true if field chunk is set (has been assigned a value) and false otherwise */
      public boolean is_set_chunk() {
        return this.chunk != null;
      }
  
      public void set_chunk_isSet(boolean value) {
        if (!value) {
          this.chunk = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SESSION:
          if (value == null) {
            unset_session();
          } else {
            set_session((String)value);
          }
          break;
  
        case CHUNK:
          if (value == null) {
            unset_chunk();
          } else {
            set_chunk((ByteBuffer)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SESSION:
          return get_session();
  
        case CHUNK:
          return get_chunk();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SESSION:
          return is_set_session();
        case CHUNK:
          return is_set_chunk();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof uploadBlobChunk_args)
          return this.equals((uploadBlobChunk_args)that);
        return false;
      }
  
      public boolean equals(uploadBlobChunk_args that) {
        if (that == null)
          return false;
  
        boolean this_present_session = true && this.is_set_session();
        boolean that_present_session = true && that.is_set_session();
        if (this_present_session || that_present_session) {
          if (!(this_present_session && that_present_session))
            return false;
          if (!this.session.equals(that.session))
            return false;
        }
  
        boolean this_present_chunk = true && this.is_set_chunk();
        boolean that_present_chunk = true && that.is_set_chunk();
        if (this_present_chunk || that_present_chunk) {
          if (!(this_present_chunk && that_present_chunk))
            return false;
          if (!this.chunk.equals(that.chunk))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_session = true && (is_set_session());
        list.add(present_session);
        if (present_session)
          list.add(session);
  
        boolean present_chunk = true && (is_set_chunk());
        list.add(present_chunk);
        if (present_chunk)
          list.add(chunk);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(uploadBlobChunk_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_session()).compareTo(other.is_set_session());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_session()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.session, other.session);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_chunk()).compareTo(other.is_set_chunk());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_chunk()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.chunk, other.chunk);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("uploadBlobChunk_args(");
        boolean first = true;
  
        sb.append("session:");
        if (this.session == null) {
          sb.append("null");
        } else {
          sb.append(this.session);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("chunk:");
        if (this.chunk == null) {
          sb.append("null");
        } else {
          org.apache.thrift.TBaseHelper.toString(this.chunk, sb);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 uploadBlobChunk_argsStandardSchemeFactory implements SchemeFactory {
        public uploadBlobChunk_argsStandardScheme getScheme() {
          return new uploadBlobChunk_argsStandardScheme();
        }
      }
  
      private static class uploadBlobChunk_argsStandardScheme extends StandardScheme<uploadBlobChunk_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, uploadBlobChunk_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: // SESSION
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.session = iprot.readString();
                  struct.set_session_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // CHUNK
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.chunk = iprot.readBinary();
                  struct.set_chunk_isSet(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, uploadBlobChunk_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.session != null) {
            oprot.writeFieldBegin(SESSION_FIELD_DESC);
            oprot.writeString(struct.session);
            oprot.writeFieldEnd();
          }
          if (struct.chunk != null) {
            oprot.writeFieldBegin(CHUNK_FIELD_DESC);
            oprot.writeBinary(struct.chunk);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class uploadBlobChunk_argsTupleSchemeFactory implements SchemeFactory {
        public uploadBlobChunk_argsTupleScheme getScheme() {
          return new uploadBlobChunk_argsTupleScheme();
        }
      }
  
      private static class uploadBlobChunk_argsTupleScheme extends TupleScheme<uploadBlobChunk_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, uploadBlobChunk_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_session()) {
            optionals.set(0);
          }
          if (struct.is_set_chunk()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_session()) {
            oprot.writeString(struct.session);
          }
          if (struct.is_set_chunk()) {
            oprot.writeBinary(struct.chunk);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, uploadBlobChunk_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.session = iprot.readString();
            struct.set_session_isSet(true);
          }
          if (incoming.get(1)) {
            struct.chunk = iprot.readBinary();
            struct.set_chunk_isSet(true);
          }
        }
      }
  
    }
  
    public static class uploadBlobChunk_result implements org.apache.thrift.TBase<uploadBlobChunk_result, uploadBlobChunk_result._Fields>, java.io.Serializable, Cloneable, Comparable<uploadBlobChunk_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("uploadBlobChunk_result");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new uploadBlobChunk_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new uploadBlobChunk_resultTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(uploadBlobChunk_result.class, metaDataMap);
      }
  
      public uploadBlobChunk_result() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public uploadBlobChunk_result(uploadBlobChunk_result other) {
      }
  
      public uploadBlobChunk_result deepCopy() {
        return new uploadBlobChunk_result(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof uploadBlobChunk_result)
          return this.equals((uploadBlobChunk_result)that);
        return false;
      }
  
      public boolean equals(uploadBlobChunk_result that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(uploadBlobChunk_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("uploadBlobChunk_result(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 uploadBlobChunk_resultStandardSchemeFactory implements SchemeFactory {
        public uploadBlobChunk_resultStandardScheme getScheme() {
          return new uploadBlobChunk_resultStandardScheme();
        }
      }
  
      private static class uploadBlobChunk_resultStandardScheme extends StandardScheme<uploadBlobChunk_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, uploadBlobChunk_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) {
              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, uploadBlobChunk_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class uploadBlobChunk_resultTupleSchemeFactory implements SchemeFactory {
        public uploadBlobChunk_resultTupleScheme getScheme() {
          return new uploadBlobChunk_resultTupleScheme();
        }
      }
  
      private static class uploadBlobChunk_resultTupleScheme extends TupleScheme<uploadBlobChunk_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, uploadBlobChunk_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, uploadBlobChunk_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class finishBlobUpload_args implements org.apache.thrift.TBase<finishBlobUpload_args, finishBlobUpload_args._Fields>, java.io.Serializable, Cloneable, Comparable<finishBlobUpload_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("finishBlobUpload_args");
  
      private static final org.apache.thrift.protocol.TField SESSION_FIELD_DESC = new org.apache.thrift.protocol.TField("session", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new finishBlobUpload_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new finishBlobUpload_argsTupleSchemeFactory());
      }
  
      private String session; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SESSION((short)1, "session");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // SESSION
              return SESSION;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SESSION, new org.apache.thrift.meta_data.FieldMetaData("session", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(finishBlobUpload_args.class, metaDataMap);
      }
  
      public finishBlobUpload_args() {
      }
  
      public finishBlobUpload_args(
        String session)
      {
        this();
        this.session = session;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public finishBlobUpload_args(finishBlobUpload_args other) {
        if (other.is_set_session()) {
          this.session = other.session;
        }
      }
  
      public finishBlobUpload_args deepCopy() {
        return new finishBlobUpload_args(this);
      }
  
      @Override
      public void clear() {
        this.session = null;
      }
  
      public String get_session() {
        return this.session;
      }
  
      public void set_session(String session) {
        this.session = session;
      }
  
      public void unset_session() {
        this.session = null;
      }
  
      /** Returns true if field session is set (has been assigned a value) and false otherwise */
      public boolean is_set_session() {
        return this.session != null;
      }
  
      public void set_session_isSet(boolean value) {
        if (!value) {
          this.session = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SESSION:
          if (value == null) {
            unset_session();
          } else {
            set_session((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SESSION:
          return get_session();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SESSION:
          return is_set_session();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof finishBlobUpload_args)
          return this.equals((finishBlobUpload_args)that);
        return false;
      }
  
      public boolean equals(finishBlobUpload_args that) {
        if (that == null)
          return false;
  
        boolean this_present_session = true && this.is_set_session();
        boolean that_present_session = true && that.is_set_session();
        if (this_present_session || that_present_session) {
          if (!(this_present_session && that_present_session))
            return false;
          if (!this.session.equals(that.session))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_session = true && (is_set_session());
        list.add(present_session);
        if (present_session)
          list.add(session);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(finishBlobUpload_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_session()).compareTo(other.is_set_session());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_session()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.session, other.session);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("finishBlobUpload_args(");
        boolean first = true;
  
        sb.append("session:");
        if (this.session == null) {
          sb.append("null");
        } else {
          sb.append(this.session);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 finishBlobUpload_argsStandardSchemeFactory implements SchemeFactory {
        public finishBlobUpload_argsStandardScheme getScheme() {
          return new finishBlobUpload_argsStandardScheme();
        }
      }
  
      private static class finishBlobUpload_argsStandardScheme extends StandardScheme<finishBlobUpload_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, finishBlobUpload_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: // SESSION
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.session = iprot.readString();
                  struct.set_session_isSet(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, finishBlobUpload_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.session != null) {
            oprot.writeFieldBegin(SESSION_FIELD_DESC);
            oprot.writeString(struct.session);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class finishBlobUpload_argsTupleSchemeFactory implements SchemeFactory {
        public finishBlobUpload_argsTupleScheme getScheme() {
          return new finishBlobUpload_argsTupleScheme();
        }
      }
  
      private static class finishBlobUpload_argsTupleScheme extends TupleScheme<finishBlobUpload_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, finishBlobUpload_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_session()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_session()) {
            oprot.writeString(struct.session);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, finishBlobUpload_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.session = iprot.readString();
            struct.set_session_isSet(true);
          }
        }
      }
  
    }
  
    public static class finishBlobUpload_result implements org.apache.thrift.TBase<finishBlobUpload_result, finishBlobUpload_result._Fields>, java.io.Serializable, Cloneable, Comparable<finishBlobUpload_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("finishBlobUpload_result");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new finishBlobUpload_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new finishBlobUpload_resultTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(finishBlobUpload_result.class, metaDataMap);
      }
  
      public finishBlobUpload_result() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public finishBlobUpload_result(finishBlobUpload_result other) {
      }
  
      public finishBlobUpload_result deepCopy() {
        return new finishBlobUpload_result(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof finishBlobUpload_result)
          return this.equals((finishBlobUpload_result)that);
        return false;
      }
  
      public boolean equals(finishBlobUpload_result that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(finishBlobUpload_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("finishBlobUpload_result(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 finishBlobUpload_resultStandardSchemeFactory implements SchemeFactory {
        public finishBlobUpload_resultStandardScheme getScheme() {
          return new finishBlobUpload_resultStandardScheme();
        }
      }
  
      private static class finishBlobUpload_resultStandardScheme extends StandardScheme<finishBlobUpload_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, finishBlobUpload_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) {
              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, finishBlobUpload_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class finishBlobUpload_resultTupleSchemeFactory implements SchemeFactory {
        public finishBlobUpload_resultTupleScheme getScheme() {
          return new finishBlobUpload_resultTupleScheme();
        }
      }
  
      private static class finishBlobUpload_resultTupleScheme extends TupleScheme<finishBlobUpload_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, finishBlobUpload_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, finishBlobUpload_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class cancelBlobUpload_args implements org.apache.thrift.TBase<cancelBlobUpload_args, cancelBlobUpload_args._Fields>, java.io.Serializable, Cloneable, Comparable<cancelBlobUpload_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("cancelBlobUpload_args");
  
      private static final org.apache.thrift.protocol.TField SESSION_FIELD_DESC = new org.apache.thrift.protocol.TField("session", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new cancelBlobUpload_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new cancelBlobUpload_argsTupleSchemeFactory());
      }
  
      private String session; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SESSION((short)1, "session");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // SESSION
              return SESSION;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SESSION, new org.apache.thrift.meta_data.FieldMetaData("session", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(cancelBlobUpload_args.class, metaDataMap);
      }
  
      public cancelBlobUpload_args() {
      }
  
      public cancelBlobUpload_args(
        String session)
      {
        this();
        this.session = session;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public cancelBlobUpload_args(cancelBlobUpload_args other) {
        if (other.is_set_session()) {
          this.session = other.session;
        }
      }
  
      public cancelBlobUpload_args deepCopy() {
        return new cancelBlobUpload_args(this);
      }
  
      @Override
      public void clear() {
        this.session = null;
      }
  
      public String get_session() {
        return this.session;
      }
  
      public void set_session(String session) {
        this.session = session;
      }
  
      public void unset_session() {
        this.session = null;
      }
  
      /** Returns true if field session is set (has been assigned a value) and false otherwise */
      public boolean is_set_session() {
        return this.session != null;
      }
  
      public void set_session_isSet(boolean value) {
        if (!value) {
          this.session = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SESSION:
          if (value == null) {
            unset_session();
          } else {
            set_session((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SESSION:
          return get_session();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SESSION:
          return is_set_session();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof cancelBlobUpload_args)
          return this.equals((cancelBlobUpload_args)that);
        return false;
      }
  
      public boolean equals(cancelBlobUpload_args that) {
        if (that == null)
          return false;
  
        boolean this_present_session = true && this.is_set_session();
        boolean that_present_session = true && that.is_set_session();
        if (this_present_session || that_present_session) {
          if (!(this_present_session && that_present_session))
            return false;
          if (!this.session.equals(that.session))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_session = true && (is_set_session());
        list.add(present_session);
        if (present_session)
          list.add(session);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(cancelBlobUpload_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_session()).compareTo(other.is_set_session());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_session()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.session, other.session);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("cancelBlobUpload_args(");
        boolean first = true;
  
        sb.append("session:");
        if (this.session == null) {
          sb.append("null");
        } else {
          sb.append(this.session);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 cancelBlobUpload_argsStandardSchemeFactory implements SchemeFactory {
        public cancelBlobUpload_argsStandardScheme getScheme() {
          return new cancelBlobUpload_argsStandardScheme();
        }
      }
  
      private static class cancelBlobUpload_argsStandardScheme extends StandardScheme<cancelBlobUpload_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, cancelBlobUpload_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: // SESSION
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.session = iprot.readString();
                  struct.set_session_isSet(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, cancelBlobUpload_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.session != null) {
            oprot.writeFieldBegin(SESSION_FIELD_DESC);
            oprot.writeString(struct.session);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class cancelBlobUpload_argsTupleSchemeFactory implements SchemeFactory {
        public cancelBlobUpload_argsTupleScheme getScheme() {
          return new cancelBlobUpload_argsTupleScheme();
        }
      }
  
      private static class cancelBlobUpload_argsTupleScheme extends TupleScheme<cancelBlobUpload_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, cancelBlobUpload_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_session()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_session()) {
            oprot.writeString(struct.session);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, cancelBlobUpload_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.session = iprot.readString();
            struct.set_session_isSet(true);
          }
        }
      }
  
    }
  
    public static class cancelBlobUpload_result implements org.apache.thrift.TBase<cancelBlobUpload_result, cancelBlobUpload_result._Fields>, java.io.Serializable, Cloneable, Comparable<cancelBlobUpload_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("cancelBlobUpload_result");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new cancelBlobUpload_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new cancelBlobUpload_resultTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(cancelBlobUpload_result.class, metaDataMap);
      }
  
      public cancelBlobUpload_result() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public cancelBlobUpload_result(cancelBlobUpload_result other) {
      }
  
      public cancelBlobUpload_result deepCopy() {
        return new cancelBlobUpload_result(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof cancelBlobUpload_result)
          return this.equals((cancelBlobUpload_result)that);
        return false;
      }
  
      public boolean equals(cancelBlobUpload_result that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(cancelBlobUpload_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("cancelBlobUpload_result(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 cancelBlobUpload_resultStandardSchemeFactory implements SchemeFactory {
        public cancelBlobUpload_resultStandardScheme getScheme() {
          return new cancelBlobUpload_resultStandardScheme();
        }
      }
  
      private static class cancelBlobUpload_resultStandardScheme extends StandardScheme<cancelBlobUpload_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, cancelBlobUpload_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) {
              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, cancelBlobUpload_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class cancelBlobUpload_resultTupleSchemeFactory implements SchemeFactory {
        public cancelBlobUpload_resultTupleScheme getScheme() {
          return new cancelBlobUpload_resultTupleScheme();
        }
      }
  
      private static class cancelBlobUpload_resultTupleScheme extends TupleScheme<cancelBlobUpload_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, cancelBlobUpload_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, cancelBlobUpload_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class getBlobMeta_args implements org.apache.thrift.TBase<getBlobMeta_args, getBlobMeta_args._Fields>, java.io.Serializable, Cloneable, Comparable<getBlobMeta_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBlobMeta_args");
  
      private static final org.apache.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.thrift.protocol.TField("key", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getBlobMeta_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getBlobMeta_argsTupleSchemeFactory());
      }
  
      private String key; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        KEY((short)1, "key");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // KEY
              return KEY;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.KEY, new org.apache.thrift.meta_data.FieldMetaData("key", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBlobMeta_args.class, metaDataMap);
      }
  
      public getBlobMeta_args() {
      }
  
      public getBlobMeta_args(
        String key)
      {
        this();
        this.key = key;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getBlobMeta_args(getBlobMeta_args other) {
        if (other.is_set_key()) {
          this.key = other.key;
        }
      }
  
      public getBlobMeta_args deepCopy() {
        return new getBlobMeta_args(this);
      }
  
      @Override
      public void clear() {
        this.key = null;
      }
  
      public String get_key() {
        return this.key;
      }
  
      public void set_key(String key) {
        this.key = key;
      }
  
      public void unset_key() {
        this.key = null;
      }
  
      /** Returns true if field key is set (has been assigned a value) and false otherwise */
      public boolean is_set_key() {
        return this.key != null;
      }
  
      public void set_key_isSet(boolean value) {
        if (!value) {
          this.key = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case KEY:
          if (value == null) {
            unset_key();
          } else {
            set_key((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case KEY:
          return get_key();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case KEY:
          return is_set_key();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getBlobMeta_args)
          return this.equals((getBlobMeta_args)that);
        return false;
      }
  
      public boolean equals(getBlobMeta_args that) {
        if (that == null)
          return false;
  
        boolean this_present_key = true && this.is_set_key();
        boolean that_present_key = true && that.is_set_key();
        if (this_present_key || that_present_key) {
          if (!(this_present_key && that_present_key))
            return false;
          if (!this.key.equals(that.key))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_key = true && (is_set_key());
        list.add(present_key);
        if (present_key)
          list.add(key);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getBlobMeta_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_key()).compareTo(other.is_set_key());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_key()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.key, other.key);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getBlobMeta_args(");
        boolean first = true;
  
        sb.append("key:");
        if (this.key == null) {
          sb.append("null");
        } else {
          sb.append(this.key);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getBlobMeta_argsStandardSchemeFactory implements SchemeFactory {
        public getBlobMeta_argsStandardScheme getScheme() {
          return new getBlobMeta_argsStandardScheme();
        }
      }
  
      private static class getBlobMeta_argsStandardScheme extends StandardScheme<getBlobMeta_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getBlobMeta_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: // KEY
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.key = iprot.readString();
                  struct.set_key_isSet(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, getBlobMeta_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.key != null) {
            oprot.writeFieldBegin(KEY_FIELD_DESC);
            oprot.writeString(struct.key);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getBlobMeta_argsTupleSchemeFactory implements SchemeFactory {
        public getBlobMeta_argsTupleScheme getScheme() {
          return new getBlobMeta_argsTupleScheme();
        }
      }
  
      private static class getBlobMeta_argsTupleScheme extends TupleScheme<getBlobMeta_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getBlobMeta_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_key()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_key()) {
            oprot.writeString(struct.key);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getBlobMeta_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.key = iprot.readString();
            struct.set_key_isSet(true);
          }
        }
      }
  
    }
  
    public static class getBlobMeta_result implements org.apache.thrift.TBase<getBlobMeta_result, getBlobMeta_result._Fields>, java.io.Serializable, Cloneable, Comparable<getBlobMeta_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBlobMeta_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
      private static final org.apache.thrift.protocol.TField KNF_FIELD_DESC = new org.apache.thrift.protocol.TField("knf", 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 getBlobMeta_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getBlobMeta_resultTupleSchemeFactory());
      }
  
      private ReadableBlobMeta success; // required
      private KeyNotFoundException knf; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success"),
        KNF((short)1, "knf");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            case 1: // KNF
              return KNF;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.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, ReadableBlobMeta.class)));
        tmpMap.put(_Fields.KNF, new org.apache.thrift.meta_data.FieldMetaData("knf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBlobMeta_result.class, metaDataMap);
      }
  
      public getBlobMeta_result() {
      }
  
      public getBlobMeta_result(
        ReadableBlobMeta success,
        KeyNotFoundException knf)
      {
        this();
        this.success = success;
        this.knf = knf;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getBlobMeta_result(getBlobMeta_result other) {
        if (other.is_set_success()) {
          this.success = new ReadableBlobMeta(other.success);
        }
        if (other.is_set_knf()) {
          this.knf = new KeyNotFoundException(other.knf);
        }
      }
  
      public getBlobMeta_result deepCopy() {
        return new getBlobMeta_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
        this.knf = null;
      }
  
      public ReadableBlobMeta get_success() {
        return this.success;
      }
  
      public void set_success(ReadableBlobMeta success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public KeyNotFoundException get_knf() {
        return this.knf;
      }
  
      public void set_knf(KeyNotFoundException knf) {
        this.knf = knf;
      }
  
      public void unset_knf() {
        this.knf = null;
      }
  
      /** Returns true if field knf is set (has been assigned a value) and false otherwise */
      public boolean is_set_knf() {
        return this.knf != null;
      }
  
      public void set_knf_isSet(boolean value) {
        if (!value) {
          this.knf = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((ReadableBlobMeta)value);
          }
          break;
  
        case KNF:
          if (value == null) {
            unset_knf();
          } else {
            set_knf((KeyNotFoundException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        case KNF:
          return get_knf();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        case KNF:
          return is_set_knf();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getBlobMeta_result)
          return this.equals((getBlobMeta_result)that);
        return false;
      }
  
      public boolean equals(getBlobMeta_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        boolean this_present_knf = true && this.is_set_knf();
        boolean that_present_knf = true && that.is_set_knf();
        if (this_present_knf || that_present_knf) {
          if (!(this_present_knf && that_present_knf))
            return false;
          if (!this.knf.equals(that.knf))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        boolean present_knf = true && (is_set_knf());
        list.add(present_knf);
        if (present_knf)
          list.add(knf);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getBlobMeta_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_knf()).compareTo(other.is_set_knf());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_knf()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.knf, other.knf);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getBlobMeta_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("knf:");
        if (this.knf == null) {
          sb.append("null");
        } else {
          sb.append(this.knf);
        }
        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 getBlobMeta_resultStandardSchemeFactory implements SchemeFactory {
        public getBlobMeta_resultStandardScheme getScheme() {
          return new getBlobMeta_resultStandardScheme();
        }
      }
  
      private static class getBlobMeta_resultStandardScheme extends StandardScheme<getBlobMeta_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getBlobMeta_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 ReadableBlobMeta();
                  struct.success.read(iprot);
                  struct.set_success_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 1: // KNF
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.knf = new KeyNotFoundException();
                  struct.knf.read(iprot);
                  struct.set_knf_isSet(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, getBlobMeta_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();
          }
          if (struct.knf != null) {
            oprot.writeFieldBegin(KNF_FIELD_DESC);
            struct.knf.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getBlobMeta_resultTupleSchemeFactory implements SchemeFactory {
        public getBlobMeta_resultTupleScheme getScheme() {
          return new getBlobMeta_resultTupleScheme();
        }
      }
  
      private static class getBlobMeta_resultTupleScheme extends TupleScheme<getBlobMeta_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getBlobMeta_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          if (struct.is_set_knf()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_success()) {
            struct.success.write(oprot);
          }
          if (struct.is_set_knf()) {
            struct.knf.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getBlobMeta_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.success = new ReadableBlobMeta();
            struct.success.read(iprot);
            struct.set_success_isSet(true);
          }
          if (incoming.get(1)) {
            struct.knf = new KeyNotFoundException();
            struct.knf.read(iprot);
            struct.set_knf_isSet(true);
          }
        }
      }
  
    }
  
    public static class setBlobMeta_args implements org.apache.thrift.TBase<setBlobMeta_args, setBlobMeta_args._Fields>, java.io.Serializable, Cloneable, Comparable<setBlobMeta_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("setBlobMeta_args");
  
      private static final org.apache.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.thrift.protocol.TField("key", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField META_FIELD_DESC = new org.apache.thrift.protocol.TField("meta", org.apache.thrift.protocol.TType.STRUCT, (short)2);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new setBlobMeta_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new setBlobMeta_argsTupleSchemeFactory());
      }
  
      private String key; // required
      private SettableBlobMeta meta; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        KEY((short)1, "key"),
        META((short)2, "meta");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // KEY
              return KEY;
            case 2: // META
              return META;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.KEY, new org.apache.thrift.meta_data.FieldMetaData("key", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.META, new org.apache.thrift.meta_data.FieldMetaData("meta", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, SettableBlobMeta.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(setBlobMeta_args.class, metaDataMap);
      }
  
      public setBlobMeta_args() {
      }
  
      public setBlobMeta_args(
        String key,
        SettableBlobMeta meta)
      {
        this();
        this.key = key;
        this.meta = meta;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public setBlobMeta_args(setBlobMeta_args other) {
        if (other.is_set_key()) {
          this.key = other.key;
        }
        if (other.is_set_meta()) {
          this.meta = new SettableBlobMeta(other.meta);
        }
      }
  
      public setBlobMeta_args deepCopy() {
        return new setBlobMeta_args(this);
      }
  
      @Override
      public void clear() {
        this.key = null;
        this.meta = null;
      }
  
      public String get_key() {
        return this.key;
      }
  
      public void set_key(String key) {
        this.key = key;
      }
  
      public void unset_key() {
        this.key = null;
      }
  
      /** Returns true if field key is set (has been assigned a value) and false otherwise */
      public boolean is_set_key() {
        return this.key != null;
      }
  
      public void set_key_isSet(boolean value) {
        if (!value) {
          this.key = null;
        }
      }
  
      public SettableBlobMeta get_meta() {
        return this.meta;
      }
  
      public void set_meta(SettableBlobMeta meta) {
        this.meta = meta;
      }
  
      public void unset_meta() {
        this.meta = null;
      }
  
      /** Returns true if field meta is set (has been assigned a value) and false otherwise */
      public boolean is_set_meta() {
        return this.meta != null;
      }
  
      public void set_meta_isSet(boolean value) {
        if (!value) {
          this.meta = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case KEY:
          if (value == null) {
            unset_key();
          } else {
            set_key((String)value);
          }
          break;
  
        case META:
          if (value == null) {
            unset_meta();
          } else {
            set_meta((SettableBlobMeta)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case KEY:
          return get_key();
  
        case META:
          return get_meta();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case KEY:
          return is_set_key();
        case META:
          return is_set_meta();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof setBlobMeta_args)
          return this.equals((setBlobMeta_args)that);
        return false;
      }
  
      public boolean equals(setBlobMeta_args that) {
        if (that == null)
          return false;
  
        boolean this_present_key = true && this.is_set_key();
        boolean that_present_key = true && that.is_set_key();
        if (this_present_key || that_present_key) {
          if (!(this_present_key && that_present_key))
            return false;
          if (!this.key.equals(that.key))
            return false;
        }
  
        boolean this_present_meta = true && this.is_set_meta();
        boolean that_present_meta = true && that.is_set_meta();
        if (this_present_meta || that_present_meta) {
          if (!(this_present_meta && that_present_meta))
            return false;
          if (!this.meta.equals(that.meta))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_key = true && (is_set_key());
        list.add(present_key);
        if (present_key)
          list.add(key);
  
        boolean present_meta = true && (is_set_meta());
        list.add(present_meta);
        if (present_meta)
          list.add(meta);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(setBlobMeta_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_key()).compareTo(other.is_set_key());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_key()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.key, other.key);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_meta()).compareTo(other.is_set_meta());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_meta()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.meta, other.meta);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("setBlobMeta_args(");
        boolean first = true;
  
        sb.append("key:");
        if (this.key == null) {
          sb.append("null");
        } else {
          sb.append(this.key);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("meta:");
        if (this.meta == null) {
          sb.append("null");
        } else {
          sb.append(this.meta);
        }
        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 (meta != null) {
          meta.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 setBlobMeta_argsStandardSchemeFactory implements SchemeFactory {
        public setBlobMeta_argsStandardScheme getScheme() {
          return new setBlobMeta_argsStandardScheme();
        }
      }
  
      private static class setBlobMeta_argsStandardScheme extends StandardScheme<setBlobMeta_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, setBlobMeta_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: // KEY
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.key = iprot.readString();
                  struct.set_key_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // META
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.meta = new SettableBlobMeta();
                  struct.meta.read(iprot);
                  struct.set_meta_isSet(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, setBlobMeta_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.key != null) {
            oprot.writeFieldBegin(KEY_FIELD_DESC);
            oprot.writeString(struct.key);
            oprot.writeFieldEnd();
          }
          if (struct.meta != null) {
            oprot.writeFieldBegin(META_FIELD_DESC);
            struct.meta.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class setBlobMeta_argsTupleSchemeFactory implements SchemeFactory {
        public setBlobMeta_argsTupleScheme getScheme() {
          return new setBlobMeta_argsTupleScheme();
        }
      }
  
      private static class setBlobMeta_argsTupleScheme extends TupleScheme<setBlobMeta_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, setBlobMeta_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_key()) {
            optionals.set(0);
          }
          if (struct.is_set_meta()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_key()) {
            oprot.writeString(struct.key);
          }
          if (struct.is_set_meta()) {
            struct.meta.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, setBlobMeta_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.key = iprot.readString();
            struct.set_key_isSet(true);
          }
          if (incoming.get(1)) {
            struct.meta = new SettableBlobMeta();
            struct.meta.read(iprot);
            struct.set_meta_isSet(true);
          }
        }
      }
  
    }
  
    public static class setBlobMeta_result implements org.apache.thrift.TBase<setBlobMeta_result, setBlobMeta_result._Fields>, java.io.Serializable, Cloneable, Comparable<setBlobMeta_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("setBlobMeta_result");
  
      private static final org.apache.thrift.protocol.TField KNF_FIELD_DESC = new org.apache.thrift.protocol.TField("knf", 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 setBlobMeta_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new setBlobMeta_resultTupleSchemeFactory());
      }
  
      private KeyNotFoundException knf; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        KNF((short)1, "knf");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // KNF
              return KNF;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.KNF, new org.apache.thrift.meta_data.FieldMetaData("knf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(setBlobMeta_result.class, metaDataMap);
      }
  
      public setBlobMeta_result() {
      }
  
      public setBlobMeta_result(
        KeyNotFoundException knf)
      {
        this();
        this.knf = knf;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public setBlobMeta_result(setBlobMeta_result other) {
        if (other.is_set_knf()) {
          this.knf = new KeyNotFoundException(other.knf);
        }
      }
  
      public setBlobMeta_result deepCopy() {
        return new setBlobMeta_result(this);
      }
  
      @Override
      public void clear() {
        this.knf = null;
      }
  
      public KeyNotFoundException get_knf() {
        return this.knf;
      }
  
      public void set_knf(KeyNotFoundException knf) {
        this.knf = knf;
      }
  
      public void unset_knf() {
        this.knf = null;
      }
  
      /** Returns true if field knf is set (has been assigned a value) and false otherwise */
      public boolean is_set_knf() {
        return this.knf != null;
      }
  
      public void set_knf_isSet(boolean value) {
        if (!value) {
          this.knf = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case KNF:
          if (value == null) {
            unset_knf();
          } else {
            set_knf((KeyNotFoundException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case KNF:
          return get_knf();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case KNF:
          return is_set_knf();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof setBlobMeta_result)
          return this.equals((setBlobMeta_result)that);
        return false;
      }
  
      public boolean equals(setBlobMeta_result that) {
        if (that == null)
          return false;
  
        boolean this_present_knf = true && this.is_set_knf();
        boolean that_present_knf = true && that.is_set_knf();
        if (this_present_knf || that_present_knf) {
          if (!(this_present_knf && that_present_knf))
            return false;
          if (!this.knf.equals(that.knf))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_knf = true && (is_set_knf());
        list.add(present_knf);
        if (present_knf)
          list.add(knf);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(setBlobMeta_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_knf()).compareTo(other.is_set_knf());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_knf()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.knf, other.knf);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("setBlobMeta_result(");
        boolean first = true;
  
        sb.append("knf:");
        if (this.knf == null) {
          sb.append("null");
        } else {
          sb.append(this.knf);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 setBlobMeta_resultStandardSchemeFactory implements SchemeFactory {
        public setBlobMeta_resultStandardScheme getScheme() {
          return new setBlobMeta_resultStandardScheme();
        }
      }
  
      private static class setBlobMeta_resultStandardScheme extends StandardScheme<setBlobMeta_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, setBlobMeta_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 1: // KNF
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.knf = new KeyNotFoundException();
                  struct.knf.read(iprot);
                  struct.set_knf_isSet(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, setBlobMeta_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.knf != null) {
            oprot.writeFieldBegin(KNF_FIELD_DESC);
            struct.knf.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class setBlobMeta_resultTupleSchemeFactory implements SchemeFactory {
        public setBlobMeta_resultTupleScheme getScheme() {
          return new setBlobMeta_resultTupleScheme();
        }
      }
  
      private static class setBlobMeta_resultTupleScheme extends TupleScheme<setBlobMeta_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, setBlobMeta_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_knf()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_knf()) {
            struct.knf.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, setBlobMeta_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.knf = new KeyNotFoundException();
            struct.knf.read(iprot);
            struct.set_knf_isSet(true);
          }
        }
      }
  
    }
  
    public static class beginBlobDownload_args implements org.apache.thrift.TBase<beginBlobDownload_args, beginBlobDownload_args._Fields>, java.io.Serializable, Cloneable, Comparable<beginBlobDownload_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("beginBlobDownload_args");
  
      private static final org.apache.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.thrift.protocol.TField("key", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new beginBlobDownload_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new beginBlobDownload_argsTupleSchemeFactory());
      }
  
      private String key; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        KEY((short)1, "key");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // KEY
              return KEY;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.KEY, new org.apache.thrift.meta_data.FieldMetaData("key", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginBlobDownload_args.class, metaDataMap);
      }
  
      public beginBlobDownload_args() {
      }
  
      public beginBlobDownload_args(
        String key)
      {
        this();
        this.key = key;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public beginBlobDownload_args(beginBlobDownload_args other) {
        if (other.is_set_key()) {
          this.key = other.key;
        }
      }
  
      public beginBlobDownload_args deepCopy() {
        return new beginBlobDownload_args(this);
      }
  
      @Override
      public void clear() {
        this.key = null;
      }
  
      public String get_key() {
        return this.key;
      }
  
      public void set_key(String key) {
        this.key = key;
      }
  
      public void unset_key() {
        this.key = null;
      }
  
      /** Returns true if field key is set (has been assigned a value) and false otherwise */
      public boolean is_set_key() {
        return this.key != null;
      }
  
      public void set_key_isSet(boolean value) {
        if (!value) {
          this.key = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case KEY:
          if (value == null) {
            unset_key();
          } else {
            set_key((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case KEY:
          return get_key();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case KEY:
          return is_set_key();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof beginBlobDownload_args)
          return this.equals((beginBlobDownload_args)that);
        return false;
      }
  
      public boolean equals(beginBlobDownload_args that) {
        if (that == null)
          return false;
  
        boolean this_present_key = true && this.is_set_key();
        boolean that_present_key = true && that.is_set_key();
        if (this_present_key || that_present_key) {
          if (!(this_present_key && that_present_key))
            return false;
          if (!this.key.equals(that.key))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_key = true && (is_set_key());
        list.add(present_key);
        if (present_key)
          list.add(key);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(beginBlobDownload_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_key()).compareTo(other.is_set_key());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_key()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.key, other.key);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("beginBlobDownload_args(");
        boolean first = true;
  
        sb.append("key:");
        if (this.key == null) {
          sb.append("null");
        } else {
          sb.append(this.key);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 beginBlobDownload_argsStandardSchemeFactory implements SchemeFactory {
        public beginBlobDownload_argsStandardScheme getScheme() {
          return new beginBlobDownload_argsStandardScheme();
        }
      }
  
      private static class beginBlobDownload_argsStandardScheme extends StandardScheme<beginBlobDownload_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, beginBlobDownload_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: // KEY
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.key = iprot.readString();
                  struct.set_key_isSet(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, beginBlobDownload_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.key != null) {
            oprot.writeFieldBegin(KEY_FIELD_DESC);
            oprot.writeString(struct.key);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class beginBlobDownload_argsTupleSchemeFactory implements SchemeFactory {
        public beginBlobDownload_argsTupleScheme getScheme() {
          return new beginBlobDownload_argsTupleScheme();
        }
      }
  
      private static class beginBlobDownload_argsTupleScheme extends TupleScheme<beginBlobDownload_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, beginBlobDownload_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_key()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_key()) {
            oprot.writeString(struct.key);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, beginBlobDownload_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.key = iprot.readString();
            struct.set_key_isSet(true);
          }
        }
      }
  
    }
  
    public static class beginBlobDownload_result implements org.apache.thrift.TBase<beginBlobDownload_result, beginBlobDownload_result._Fields>, java.io.Serializable, Cloneable, Comparable<beginBlobDownload_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("beginBlobDownload_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
      private static final org.apache.thrift.protocol.TField KNF_FIELD_DESC = new org.apache.thrift.protocol.TField("knf", 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 beginBlobDownload_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new beginBlobDownload_resultTupleSchemeFactory());
      }
  
      private BeginDownloadResult success; // required
      private KeyNotFoundException knf; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success"),
        KNF((short)1, "knf");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            case 1: // KNF
              return KNF;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.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, BeginDownloadResult.class)));
        tmpMap.put(_Fields.KNF, new org.apache.thrift.meta_data.FieldMetaData("knf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginBlobDownload_result.class, metaDataMap);
      }
  
      public beginBlobDownload_result() {
      }
  
      public beginBlobDownload_result(
        BeginDownloadResult success,
        KeyNotFoundException knf)
      {
        this();
        this.success = success;
        this.knf = knf;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public beginBlobDownload_result(beginBlobDownload_result other) {
        if (other.is_set_success()) {
          this.success = new BeginDownloadResult(other.success);
        }
        if (other.is_set_knf()) {
          this.knf = new KeyNotFoundException(other.knf);
        }
      }
  
      public beginBlobDownload_result deepCopy() {
        return new beginBlobDownload_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
        this.knf = null;
      }
  
      public BeginDownloadResult get_success() {
        return this.success;
      }
  
      public void set_success(BeginDownloadResult success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public KeyNotFoundException get_knf() {
        return this.knf;
      }
  
      public void set_knf(KeyNotFoundException knf) {
        this.knf = knf;
      }
  
      public void unset_knf() {
        this.knf = null;
      }
  
      /** Returns true if field knf is set (has been assigned a value) and false otherwise */
      public boolean is_set_knf() {
        return this.knf != null;
      }
  
      public void set_knf_isSet(boolean value) {
        if (!value) {
          this.knf = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((BeginDownloadResult)value);
          }
          break;
  
        case KNF:
          if (value == null) {
            unset_knf();
          } else {
            set_knf((KeyNotFoundException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        case KNF:
          return get_knf();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        case KNF:
          return is_set_knf();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof beginBlobDownload_result)
          return this.equals((beginBlobDownload_result)that);
        return false;
      }
  
      public boolean equals(beginBlobDownload_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        boolean this_present_knf = true && this.is_set_knf();
        boolean that_present_knf = true && that.is_set_knf();
        if (this_present_knf || that_present_knf) {
          if (!(this_present_knf && that_present_knf))
            return false;
          if (!this.knf.equals(that.knf))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        boolean present_knf = true && (is_set_knf());
        list.add(present_knf);
        if (present_knf)
          list.add(knf);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(beginBlobDownload_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_knf()).compareTo(other.is_set_knf());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_knf()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.knf, other.knf);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("beginBlobDownload_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("knf:");
        if (this.knf == null) {
          sb.append("null");
        } else {
          sb.append(this.knf);
        }
        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 beginBlobDownload_resultStandardSchemeFactory implements SchemeFactory {
        public beginBlobDownload_resultStandardScheme getScheme() {
          return new beginBlobDownload_resultStandardScheme();
        }
      }
  
      private static class beginBlobDownload_resultStandardScheme extends StandardScheme<beginBlobDownload_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, beginBlobDownload_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 BeginDownloadResult();
                  struct.success.read(iprot);
                  struct.set_success_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 1: // KNF
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.knf = new KeyNotFoundException();
                  struct.knf.read(iprot);
                  struct.set_knf_isSet(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, beginBlobDownload_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();
          }
          if (struct.knf != null) {
            oprot.writeFieldBegin(KNF_FIELD_DESC);
            struct.knf.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class beginBlobDownload_resultTupleSchemeFactory implements SchemeFactory {
        public beginBlobDownload_resultTupleScheme getScheme() {
          return new beginBlobDownload_resultTupleScheme();
        }
      }
  
      private static class beginBlobDownload_resultTupleScheme extends TupleScheme<beginBlobDownload_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, beginBlobDownload_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          if (struct.is_set_knf()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_success()) {
            struct.success.write(oprot);
          }
          if (struct.is_set_knf()) {
            struct.knf.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, beginBlobDownload_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.success = new BeginDownloadResult();
            struct.success.read(iprot);
            struct.set_success_isSet(true);
          }
          if (incoming.get(1)) {
            struct.knf = new KeyNotFoundException();
            struct.knf.read(iprot);
            struct.set_knf_isSet(true);
          }
        }
      }
  
    }
  
    public static class downloadBlobChunk_args implements org.apache.thrift.TBase<downloadBlobChunk_args, downloadBlobChunk_args._Fields>, java.io.Serializable, Cloneable, Comparable<downloadBlobChunk_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("downloadBlobChunk_args");
  
      private static final org.apache.thrift.protocol.TField SESSION_FIELD_DESC = new org.apache.thrift.protocol.TField("session", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new downloadBlobChunk_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new downloadBlobChunk_argsTupleSchemeFactory());
      }
  
      private String session; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SESSION((short)1, "session");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // SESSION
              return SESSION;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SESSION, new org.apache.thrift.meta_data.FieldMetaData("session", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(downloadBlobChunk_args.class, metaDataMap);
      }
  
      public downloadBlobChunk_args() {
      }
  
      public downloadBlobChunk_args(
        String session)
      {
        this();
        this.session = session;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public downloadBlobChunk_args(downloadBlobChunk_args other) {
        if (other.is_set_session()) {
          this.session = other.session;
        }
      }
  
      public downloadBlobChunk_args deepCopy() {
        return new downloadBlobChunk_args(this);
      }
  
      @Override
      public void clear() {
        this.session = null;
      }
  
      public String get_session() {
        return this.session;
      }
  
      public void set_session(String session) {
        this.session = session;
      }
  
      public void unset_session() {
        this.session = null;
      }
  
      /** Returns true if field session is set (has been assigned a value) and false otherwise */
      public boolean is_set_session() {
        return this.session != null;
      }
  
      public void set_session_isSet(boolean value) {
        if (!value) {
          this.session = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SESSION:
          if (value == null) {
            unset_session();
          } else {
            set_session((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SESSION:
          return get_session();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SESSION:
          return is_set_session();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof downloadBlobChunk_args)
          return this.equals((downloadBlobChunk_args)that);
        return false;
      }
  
      public boolean equals(downloadBlobChunk_args that) {
        if (that == null)
          return false;
  
        boolean this_present_session = true && this.is_set_session();
        boolean that_present_session = true && that.is_set_session();
        if (this_present_session || that_present_session) {
          if (!(this_present_session && that_present_session))
            return false;
          if (!this.session.equals(that.session))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_session = true && (is_set_session());
        list.add(present_session);
        if (present_session)
          list.add(session);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(downloadBlobChunk_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_session()).compareTo(other.is_set_session());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_session()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.session, other.session);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("downloadBlobChunk_args(");
        boolean first = true;
  
        sb.append("session:");
        if (this.session == null) {
          sb.append("null");
        } else {
          sb.append(this.session);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 downloadBlobChunk_argsStandardSchemeFactory implements SchemeFactory {
        public downloadBlobChunk_argsStandardScheme getScheme() {
          return new downloadBlobChunk_argsStandardScheme();
        }
      }
  
      private static class downloadBlobChunk_argsStandardScheme extends StandardScheme<downloadBlobChunk_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, downloadBlobChunk_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: // SESSION
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.session = iprot.readString();
                  struct.set_session_isSet(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, downloadBlobChunk_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.session != null) {
            oprot.writeFieldBegin(SESSION_FIELD_DESC);
            oprot.writeString(struct.session);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class downloadBlobChunk_argsTupleSchemeFactory implements SchemeFactory {
        public downloadBlobChunk_argsTupleScheme getScheme() {
          return new downloadBlobChunk_argsTupleScheme();
        }
      }
  
      private static class downloadBlobChunk_argsTupleScheme extends TupleScheme<downloadBlobChunk_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, downloadBlobChunk_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_session()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_session()) {
            oprot.writeString(struct.session);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, downloadBlobChunk_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.session = iprot.readString();
            struct.set_session_isSet(true);
          }
        }
      }
  
    }
  
    public static class downloadBlobChunk_result implements org.apache.thrift.TBase<downloadBlobChunk_result, downloadBlobChunk_result._Fields>, java.io.Serializable, Cloneable, Comparable<downloadBlobChunk_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("downloadBlobChunk_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new downloadBlobChunk_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new downloadBlobChunk_resultTupleSchemeFactory());
      }
  
      private ByteBuffer success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING          , true)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(downloadBlobChunk_result.class, metaDataMap);
      }
  
      public downloadBlobChunk_result() {
      }
  
      public downloadBlobChunk_result(
        ByteBuffer success)
      {
        this();
        this.success = org.apache.thrift.TBaseHelper.copyBinary(success);
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public downloadBlobChunk_result(downloadBlobChunk_result other) {
        if (other.is_set_success()) {
          this.success = org.apache.thrift.TBaseHelper.copyBinary(other.success);
        }
      }
  
      public downloadBlobChunk_result deepCopy() {
        return new downloadBlobChunk_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public byte[] get_success() {
        set_success(org.apache.thrift.TBaseHelper.rightSize(success));
        return success == null ? null : success.array();
      }
  
      public ByteBuffer buffer_for_success() {
        return org.apache.thrift.TBaseHelper.copyBinary(success);
      }
  
      public void set_success(byte[] success) {
        this.success = success == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(success, success.length));
      }
  
      public void set_success(ByteBuffer success) {
        this.success = org.apache.thrift.TBaseHelper.copyBinary(success);
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((ByteBuffer)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof downloadBlobChunk_result)
          return this.equals((downloadBlobChunk_result)that);
        return false;
      }
  
      public boolean equals(downloadBlobChunk_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        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() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(downloadBlobChunk_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.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("downloadBlobChunk_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          org.apache.thrift.TBaseHelper.toString(this.success, sb);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 downloadBlobChunk_resultStandardSchemeFactory implements SchemeFactory {
        public downloadBlobChunk_resultStandardScheme getScheme() {
          return new downloadBlobChunk_resultStandardScheme();
        }
      }
  
      private static class downloadBlobChunk_resultStandardScheme extends StandardScheme<downloadBlobChunk_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, downloadBlobChunk_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.STRING) {
                  struct.success = iprot.readBinary();
                  struct.set_success_isSet(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, downloadBlobChunk_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            oprot.writeBinary(struct.success);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class downloadBlobChunk_resultTupleSchemeFactory implements SchemeFactory {
        public downloadBlobChunk_resultTupleScheme getScheme() {
          return new downloadBlobChunk_resultTupleScheme();
        }
      }
  
      private static class downloadBlobChunk_resultTupleScheme extends TupleScheme<downloadBlobChunk_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, downloadBlobChunk_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_success()) {
            oprot.writeBinary(struct.success);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, downloadBlobChunk_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = iprot.readBinary();
            struct.set_success_isSet(true);
          }
        }
      }
  
    }
  
    public static class deleteBlob_args implements org.apache.thrift.TBase<deleteBlob_args, deleteBlob_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteBlob_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteBlob_args");
  
      private static final org.apache.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.thrift.protocol.TField("key", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new deleteBlob_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new deleteBlob_argsTupleSchemeFactory());
      }
  
      private String key; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        KEY((short)1, "key");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // KEY
              return KEY;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.KEY, new org.apache.thrift.meta_data.FieldMetaData("key", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteBlob_args.class, metaDataMap);
      }
  
      public deleteBlob_args() {
      }
  
      public deleteBlob_args(
        String key)
      {
        this();
        this.key = key;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public deleteBlob_args(deleteBlob_args other) {
        if (other.is_set_key()) {
          this.key = other.key;
        }
      }
  
      public deleteBlob_args deepCopy() {
        return new deleteBlob_args(this);
      }
  
      @Override
      public void clear() {
        this.key = null;
      }
  
      public String get_key() {
        return this.key;
      }
  
      public void set_key(String key) {
        this.key = key;
      }
  
      public void unset_key() {
        this.key = null;
      }
  
      /** Returns true if field key is set (has been assigned a value) and false otherwise */
      public boolean is_set_key() {
        return this.key != null;
      }
  
      public void set_key_isSet(boolean value) {
        if (!value) {
          this.key = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case KEY:
          if (value == null) {
            unset_key();
          } else {
            set_key((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case KEY:
          return get_key();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case KEY:
          return is_set_key();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof deleteBlob_args)
          return this.equals((deleteBlob_args)that);
        return false;
      }
  
      public boolean equals(deleteBlob_args that) {
        if (that == null)
          return false;
  
        boolean this_present_key = true && this.is_set_key();
        boolean that_present_key = true && that.is_set_key();
        if (this_present_key || that_present_key) {
          if (!(this_present_key && that_present_key))
            return false;
          if (!this.key.equals(that.key))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_key = true && (is_set_key());
        list.add(present_key);
        if (present_key)
          list.add(key);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(deleteBlob_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_key()).compareTo(other.is_set_key());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_key()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.key, other.key);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("deleteBlob_args(");
        boolean first = true;
  
        sb.append("key:");
        if (this.key == null) {
          sb.append("null");
        } else {
          sb.append(this.key);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 deleteBlob_argsStandardSchemeFactory implements SchemeFactory {
        public deleteBlob_argsStandardScheme getScheme() {
          return new deleteBlob_argsStandardScheme();
        }
      }
  
      private static class deleteBlob_argsStandardScheme extends StandardScheme<deleteBlob_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, deleteBlob_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: // KEY
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.key = iprot.readString();
                  struct.set_key_isSet(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, deleteBlob_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.key != null) {
            oprot.writeFieldBegin(KEY_FIELD_DESC);
            oprot.writeString(struct.key);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class deleteBlob_argsTupleSchemeFactory implements SchemeFactory {
        public deleteBlob_argsTupleScheme getScheme() {
          return new deleteBlob_argsTupleScheme();
        }
      }
  
      private static class deleteBlob_argsTupleScheme extends TupleScheme<deleteBlob_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, deleteBlob_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_key()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_key()) {
            oprot.writeString(struct.key);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, deleteBlob_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.key = iprot.readString();
            struct.set_key_isSet(true);
          }
        }
      }
  
    }
  
    public static class deleteBlob_result implements org.apache.thrift.TBase<deleteBlob_result, deleteBlob_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteBlob_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteBlob_result");
  
      private static final org.apache.thrift.protocol.TField KNF_FIELD_DESC = new org.apache.thrift.protocol.TField("knf", 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 deleteBlob_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new deleteBlob_resultTupleSchemeFactory());
      }
  
      private KeyNotFoundException knf; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        KNF((short)1, "knf");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // KNF
              return KNF;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.KNF, new org.apache.thrift.meta_data.FieldMetaData("knf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteBlob_result.class, metaDataMap);
      }
  
      public deleteBlob_result() {
      }
  
      public deleteBlob_result(
        KeyNotFoundException knf)
      {
        this();
        this.knf = knf;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public deleteBlob_result(deleteBlob_result other) {
        if (other.is_set_knf()) {
          this.knf = new KeyNotFoundException(other.knf);
        }
      }
  
      public deleteBlob_result deepCopy() {
        return new deleteBlob_result(this);
      }
  
      @Override
      public void clear() {
        this.knf = null;
      }
  
      public KeyNotFoundException get_knf() {
        return this.knf;
      }
  
      public void set_knf(KeyNotFoundException knf) {
        this.knf = knf;
      }
  
      public void unset_knf() {
        this.knf = null;
      }
  
      /** Returns true if field knf is set (has been assigned a value) and false otherwise */
      public boolean is_set_knf() {
        return this.knf != null;
      }
  
      public void set_knf_isSet(boolean value) {
        if (!value) {
          this.knf = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case KNF:
          if (value == null) {
            unset_knf();
          } else {
            set_knf((KeyNotFoundException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case KNF:
          return get_knf();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case KNF:
          return is_set_knf();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof deleteBlob_result)
          return this.equals((deleteBlob_result)that);
        return false;
      }
  
      public boolean equals(deleteBlob_result that) {
        if (that == null)
          return false;
  
        boolean this_present_knf = true && this.is_set_knf();
        boolean that_present_knf = true && that.is_set_knf();
        if (this_present_knf || that_present_knf) {
          if (!(this_present_knf && that_present_knf))
            return false;
          if (!this.knf.equals(that.knf))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_knf = true && (is_set_knf());
        list.add(present_knf);
        if (present_knf)
          list.add(knf);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(deleteBlob_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_knf()).compareTo(other.is_set_knf());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_knf()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.knf, other.knf);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("deleteBlob_result(");
        boolean first = true;
  
        sb.append("knf:");
        if (this.knf == null) {
          sb.append("null");
        } else {
          sb.append(this.knf);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 deleteBlob_resultStandardSchemeFactory implements SchemeFactory {
        public deleteBlob_resultStandardScheme getScheme() {
          return new deleteBlob_resultStandardScheme();
        }
      }
  
      private static class deleteBlob_resultStandardScheme extends StandardScheme<deleteBlob_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, deleteBlob_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 1: // KNF
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.knf = new KeyNotFoundException();
                  struct.knf.read(iprot);
                  struct.set_knf_isSet(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, deleteBlob_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.knf != null) {
            oprot.writeFieldBegin(KNF_FIELD_DESC);
            struct.knf.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class deleteBlob_resultTupleSchemeFactory implements SchemeFactory {
        public deleteBlob_resultTupleScheme getScheme() {
          return new deleteBlob_resultTupleScheme();
        }
      }
  
      private static class deleteBlob_resultTupleScheme extends TupleScheme<deleteBlob_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, deleteBlob_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_knf()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_knf()) {
            struct.knf.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, deleteBlob_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.knf = new KeyNotFoundException();
            struct.knf.read(iprot);
            struct.set_knf_isSet(true);
          }
        }
      }
  
    }
  
    public static class listBlobs_args implements org.apache.thrift.TBase<listBlobs_args, listBlobs_args._Fields>, java.io.Serializable, Cloneable, Comparable<listBlobs_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("listBlobs_args");
  
      private static final org.apache.thrift.protocol.TField SESSION_FIELD_DESC = new org.apache.thrift.protocol.TField("session", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new listBlobs_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new listBlobs_argsTupleSchemeFactory());
      }
  
      private String session; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SESSION((short)1, "session");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // SESSION
              return SESSION;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SESSION, new org.apache.thrift.meta_data.FieldMetaData("session", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(listBlobs_args.class, metaDataMap);
      }
  
      public listBlobs_args() {
      }
  
      public listBlobs_args(
        String session)
      {
        this();
        this.session = session;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public listBlobs_args(listBlobs_args other) {
        if (other.is_set_session()) {
          this.session = other.session;
        }
      }
  
      public listBlobs_args deepCopy() {
        return new listBlobs_args(this);
      }
  
      @Override
      public void clear() {
        this.session = null;
      }
  
      public String get_session() {
        return this.session;
      }
  
      public void set_session(String session) {
        this.session = session;
      }
  
      public void unset_session() {
        this.session = null;
      }
  
      /** Returns true if field session is set (has been assigned a value) and false otherwise */
      public boolean is_set_session() {
        return this.session != null;
      }
  
      public void set_session_isSet(boolean value) {
        if (!value) {
          this.session = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SESSION:
          if (value == null) {
            unset_session();
          } else {
            set_session((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SESSION:
          return get_session();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SESSION:
          return is_set_session();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof listBlobs_args)
          return this.equals((listBlobs_args)that);
        return false;
      }
  
      public boolean equals(listBlobs_args that) {
        if (that == null)
          return false;
  
        boolean this_present_session = true && this.is_set_session();
        boolean that_present_session = true && that.is_set_session();
        if (this_present_session || that_present_session) {
          if (!(this_present_session && that_present_session))
            return false;
          if (!this.session.equals(that.session))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_session = true && (is_set_session());
        list.add(present_session);
        if (present_session)
          list.add(session);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(listBlobs_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_session()).compareTo(other.is_set_session());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_session()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.session, other.session);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("listBlobs_args(");
        boolean first = true;
  
        sb.append("session:");
        if (this.session == null) {
          sb.append("null");
        } else {
          sb.append(this.session);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 listBlobs_argsStandardSchemeFactory implements SchemeFactory {
        public listBlobs_argsStandardScheme getScheme() {
          return new listBlobs_argsStandardScheme();
        }
      }
  
      private static class listBlobs_argsStandardScheme extends StandardScheme<listBlobs_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, listBlobs_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: // SESSION
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.session = iprot.readString();
                  struct.set_session_isSet(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, listBlobs_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.session != null) {
            oprot.writeFieldBegin(SESSION_FIELD_DESC);
            oprot.writeString(struct.session);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class listBlobs_argsTupleSchemeFactory implements SchemeFactory {
        public listBlobs_argsTupleScheme getScheme() {
          return new listBlobs_argsTupleScheme();
        }
      }
  
      private static class listBlobs_argsTupleScheme extends TupleScheme<listBlobs_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, listBlobs_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_session()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_session()) {
            oprot.writeString(struct.session);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, listBlobs_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.session = iprot.readString();
            struct.set_session_isSet(true);
          }
        }
      }
  
    }
  
    public static class listBlobs_result implements org.apache.thrift.TBase<listBlobs_result, listBlobs_result._Fields>, java.io.Serializable, Cloneable, Comparable<listBlobs_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("listBlobs_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 listBlobs_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new listBlobs_resultTupleSchemeFactory());
      }
  
      private ListBlobsResult 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, ListBlobsResult.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(listBlobs_result.class, metaDataMap);
      }
  
      public listBlobs_result() {
      }
  
      public listBlobs_result(
        ListBlobsResult success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public listBlobs_result(listBlobs_result other) {
        if (other.is_set_success()) {
          this.success = new ListBlobsResult(other.success);
        }
      }
  
      public listBlobs_result deepCopy() {
        return new listBlobs_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public ListBlobsResult get_success() {
        return this.success;
      }
  
      public void set_success(ListBlobsResult success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((ListBlobsResult)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof listBlobs_result)
          return this.equals((listBlobs_result)that);
        return false;
      }
  
      public boolean equals(listBlobs_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        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() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(listBlobs_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.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("listBlobs_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 listBlobs_resultStandardSchemeFactory implements SchemeFactory {
        public listBlobs_resultStandardScheme getScheme() {
          return new listBlobs_resultStandardScheme();
        }
      }
  
      private static class listBlobs_resultStandardScheme extends StandardScheme<listBlobs_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, listBlobs_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 ListBlobsResult();
                  struct.success.read(iprot);
                  struct.set_success_isSet(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, listBlobs_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 listBlobs_resultTupleSchemeFactory implements SchemeFactory {
        public listBlobs_resultTupleScheme getScheme() {
          return new listBlobs_resultTupleScheme();
        }
      }
  
      private static class listBlobs_resultTupleScheme extends TupleScheme<listBlobs_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, listBlobs_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_success()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, listBlobs_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new ListBlobsResult();
            struct.success.read(iprot);
            struct.set_success_isSet(true);
          }
        }
      }
  
    }
  
    public static class getBlobReplication_args implements org.apache.thrift.TBase<getBlobReplication_args, getBlobReplication_args._Fields>, java.io.Serializable, Cloneable, Comparable<getBlobReplication_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBlobReplication_args");
  
      private static final org.apache.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.thrift.protocol.TField("key", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getBlobReplication_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getBlobReplication_argsTupleSchemeFactory());
      }
  
      private String key; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        KEY((short)1, "key");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // KEY
              return KEY;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.KEY, new org.apache.thrift.meta_data.FieldMetaData("key", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBlobReplication_args.class, metaDataMap);
      }
  
      public getBlobReplication_args() {
      }
  
      public getBlobReplication_args(
        String key)
      {
        this();
        this.key = key;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getBlobReplication_args(getBlobReplication_args other) {
        if (other.is_set_key()) {
          this.key = other.key;
        }
      }
  
      public getBlobReplication_args deepCopy() {
        return new getBlobReplication_args(this);
      }
  
      @Override
      public void clear() {
        this.key = null;
      }
  
      public String get_key() {
        return this.key;
      }
  
      public void set_key(String key) {
        this.key = key;
      }
  
      public void unset_key() {
        this.key = null;
      }
  
      /** Returns true if field key is set (has been assigned a value) and false otherwise */
      public boolean is_set_key() {
        return this.key != null;
      }
  
      public void set_key_isSet(boolean value) {
        if (!value) {
          this.key = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case KEY:
          if (value == null) {
            unset_key();
          } else {
            set_key((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case KEY:
          return get_key();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case KEY:
          return is_set_key();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getBlobReplication_args)
          return this.equals((getBlobReplication_args)that);
        return false;
      }
  
      public boolean equals(getBlobReplication_args that) {
        if (that == null)
          return false;
  
        boolean this_present_key = true && this.is_set_key();
        boolean that_present_key = true && that.is_set_key();
        if (this_present_key || that_present_key) {
          if (!(this_present_key && that_present_key))
            return false;
          if (!this.key.equals(that.key))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_key = true && (is_set_key());
        list.add(present_key);
        if (present_key)
          list.add(key);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getBlobReplication_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_key()).compareTo(other.is_set_key());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_key()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.key, other.key);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getBlobReplication_args(");
        boolean first = true;
  
        sb.append("key:");
        if (this.key == null) {
          sb.append("null");
        } else {
          sb.append(this.key);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getBlobReplication_argsStandardSchemeFactory implements SchemeFactory {
        public getBlobReplication_argsStandardScheme getScheme() {
          return new getBlobReplication_argsStandardScheme();
        }
      }
  
      private static class getBlobReplication_argsStandardScheme extends StandardScheme<getBlobReplication_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getBlobReplication_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: // KEY
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.key = iprot.readString();
                  struct.set_key_isSet(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, getBlobReplication_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.key != null) {
            oprot.writeFieldBegin(KEY_FIELD_DESC);
            oprot.writeString(struct.key);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getBlobReplication_argsTupleSchemeFactory implements SchemeFactory {
        public getBlobReplication_argsTupleScheme getScheme() {
          return new getBlobReplication_argsTupleScheme();
        }
      }
  
      private static class getBlobReplication_argsTupleScheme extends TupleScheme<getBlobReplication_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getBlobReplication_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_key()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_key()) {
            oprot.writeString(struct.key);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getBlobReplication_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.key = iprot.readString();
            struct.set_key_isSet(true);
          }
        }
      }
  
    }
  
    public static class getBlobReplication_result implements org.apache.thrift.TBase<getBlobReplication_result, getBlobReplication_result._Fields>, java.io.Serializable, Cloneable, Comparable<getBlobReplication_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBlobReplication_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I32, (short)0);
      private static final org.apache.thrift.protocol.TField KNF_FIELD_DESC = new org.apache.thrift.protocol.TField("knf", 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 getBlobReplication_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getBlobReplication_resultTupleSchemeFactory());
      }
  
      private int success; // required
      private KeyNotFoundException knf; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success"),
        KNF((short)1, "knf");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            case 1: // KNF
              return KNF;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      private static final int __SUCCESS_ISSET_ID = 0;
      private byte __isset_bitfield = 0;
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
        tmpMap.put(_Fields.KNF, new org.apache.thrift.meta_data.FieldMetaData("knf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBlobReplication_result.class, metaDataMap);
      }
  
      public getBlobReplication_result() {
      }
  
      public getBlobReplication_result(
        int success,
        KeyNotFoundException knf)
      {
        this();
        this.success = success;
        set_success_isSet(true);
        this.knf = knf;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getBlobReplication_result(getBlobReplication_result other) {
        __isset_bitfield = other.__isset_bitfield;
        this.success = other.success;
        if (other.is_set_knf()) {
          this.knf = new KeyNotFoundException(other.knf);
        }
      }
  
      public getBlobReplication_result deepCopy() {
        return new getBlobReplication_result(this);
      }
  
      @Override
      public void clear() {
        set_success_isSet(false);
        this.success = 0;
        this.knf = null;
      }
  
      public int get_success() {
        return this.success;
      }
  
      public void set_success(int success) {
        this.success = success;
        set_success_isSet(true);
      }
  
      public void unset_success() {
        __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
      }
  
      public void set_success_isSet(boolean value) {
        __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
      }
  
      public KeyNotFoundException get_knf() {
        return this.knf;
      }
  
      public void set_knf(KeyNotFoundException knf) {
        this.knf = knf;
      }
  
      public void unset_knf() {
        this.knf = null;
      }
  
      /** Returns true if field knf is set (has been assigned a value) and false otherwise */
      public boolean is_set_knf() {
        return this.knf != null;
      }
  
      public void set_knf_isSet(boolean value) {
        if (!value) {
          this.knf = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((Integer)value);
          }
          break;
  
        case KNF:
          if (value == null) {
            unset_knf();
          } else {
            set_knf((KeyNotFoundException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return Integer.valueOf(get_success());
  
        case KNF:
          return get_knf();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        case KNF:
          return is_set_knf();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getBlobReplication_result)
          return this.equals((getBlobReplication_result)that);
        return false;
      }
  
      public boolean equals(getBlobReplication_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true;
        boolean that_present_success = true;
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (this.success != that.success)
            return false;
        }
  
        boolean this_present_knf = true && this.is_set_knf();
        boolean that_present_knf = true && that.is_set_knf();
        if (this_present_knf || that_present_knf) {
          if (!(this_present_knf && that_present_knf))
            return false;
          if (!this.knf.equals(that.knf))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true;
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        boolean present_knf = true && (is_set_knf());
        list.add(present_knf);
        if (present_knf)
          list.add(knf);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getBlobReplication_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_knf()).compareTo(other.is_set_knf());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_knf()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.knf, other.knf);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getBlobReplication_result(");
        boolean first = true;
  
        sb.append("success:");
        sb.append(this.success);
        first = false;
        if (!first) sb.append(", ");
        sb.append("knf:");
        if (this.knf == null) {
          sb.append("null");
        } else {
          sb.append(this.knf);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
          __isset_bitfield = 0;
          read(new 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 getBlobReplication_resultStandardSchemeFactory implements SchemeFactory {
        public getBlobReplication_resultStandardScheme getScheme() {
          return new getBlobReplication_resultStandardScheme();
        }
      }
  
      private static class getBlobReplication_resultStandardScheme extends StandardScheme<getBlobReplication_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getBlobReplication_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.I32) {
                  struct.success = iprot.readI32();
                  struct.set_success_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 1: // KNF
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.knf = new KeyNotFoundException();
                  struct.knf.read(iprot);
                  struct.set_knf_isSet(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, getBlobReplication_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.is_set_success()) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            oprot.writeI32(struct.success);
            oprot.writeFieldEnd();
          }
          if (struct.knf != null) {
            oprot.writeFieldBegin(KNF_FIELD_DESC);
            struct.knf.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getBlobReplication_resultTupleSchemeFactory implements SchemeFactory {
        public getBlobReplication_resultTupleScheme getScheme() {
          return new getBlobReplication_resultTupleScheme();
        }
      }
  
      private static class getBlobReplication_resultTupleScheme extends TupleScheme<getBlobReplication_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getBlobReplication_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          if (struct.is_set_knf()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_success()) {
            oprot.writeI32(struct.success);
          }
          if (struct.is_set_knf()) {
            struct.knf.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getBlobReplication_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.success = iprot.readI32();
            struct.set_success_isSet(true);
          }
          if (incoming.get(1)) {
            struct.knf = new KeyNotFoundException();
            struct.knf.read(iprot);
            struct.set_knf_isSet(true);
          }
        }
      }
  
    }
  
    public static class updateBlobReplication_args implements org.apache.thrift.TBase<updateBlobReplication_args, updateBlobReplication_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateBlobReplication_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateBlobReplication_args");
  
      private static final org.apache.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.thrift.protocol.TField("key", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField REPLICATION_FIELD_DESC = new org.apache.thrift.protocol.TField("replication", org.apache.thrift.protocol.TType.I32, (short)2);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new updateBlobReplication_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new updateBlobReplication_argsTupleSchemeFactory());
      }
  
      private String key; // required
      private int replication; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        KEY((short)1, "key"),
        REPLICATION((short)2, "replication");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // KEY
              return KEY;
            case 2: // REPLICATION
              return REPLICATION;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      private static final int __REPLICATION_ISSET_ID = 0;
      private byte __isset_bitfield = 0;
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.KEY, new org.apache.thrift.meta_data.FieldMetaData("key", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.REPLICATION, new org.apache.thrift.meta_data.FieldMetaData("replication", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateBlobReplication_args.class, metaDataMap);
      }
  
      public updateBlobReplication_args() {
      }
  
      public updateBlobReplication_args(
        String key,
        int replication)
      {
        this();
        this.key = key;
        this.replication = replication;
        set_replication_isSet(true);
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public updateBlobReplication_args(updateBlobReplication_args other) {
        __isset_bitfield = other.__isset_bitfield;
        if (other.is_set_key()) {
          this.key = other.key;
        }
        this.replication = other.replication;
      }
  
      public updateBlobReplication_args deepCopy() {
        return new updateBlobReplication_args(this);
      }
  
      @Override
      public void clear() {
        this.key = null;
        set_replication_isSet(false);
        this.replication = 0;
      }
  
      public String get_key() {
        return this.key;
      }
  
      public void set_key(String key) {
        this.key = key;
      }
  
      public void unset_key() {
        this.key = null;
      }
  
      /** Returns true if field key is set (has been assigned a value) and false otherwise */
      public boolean is_set_key() {
        return this.key != null;
      }
  
      public void set_key_isSet(boolean value) {
        if (!value) {
          this.key = null;
        }
      }
  
      public int get_replication() {
        return this.replication;
      }
  
      public void set_replication(int replication) {
        this.replication = replication;
        set_replication_isSet(true);
      }
  
      public void unset_replication() {
        __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __REPLICATION_ISSET_ID);
      }
  
      /** Returns true if field replication is set (has been assigned a value) and false otherwise */
      public boolean is_set_replication() {
        return EncodingUtils.testBit(__isset_bitfield, __REPLICATION_ISSET_ID);
      }
  
      public void set_replication_isSet(boolean value) {
        __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __REPLICATION_ISSET_ID, value);
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case KEY:
          if (value == null) {
            unset_key();
          } else {
            set_key((String)value);
          }
          break;
  
        case REPLICATION:
          if (value == null) {
            unset_replication();
          } else {
            set_replication((Integer)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case KEY:
          return get_key();
  
        case REPLICATION:
          return Integer.valueOf(get_replication());
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case KEY:
          return is_set_key();
        case REPLICATION:
          return is_set_replication();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof updateBlobReplication_args)
          return this.equals((updateBlobReplication_args)that);
        return false;
      }
  
      public boolean equals(updateBlobReplication_args that) {
        if (that == null)
          return false;
  
        boolean this_present_key = true && this.is_set_key();
        boolean that_present_key = true && that.is_set_key();
        if (this_present_key || that_present_key) {
          if (!(this_present_key && that_present_key))
            return false;
          if (!this.key.equals(that.key))
            return false;
        }
  
        boolean this_present_replication = true;
        boolean that_present_replication = true;
        if (this_present_replication || that_present_replication) {
          if (!(this_present_replication && that_present_replication))
            return false;
          if (this.replication != that.replication)
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_key = true && (is_set_key());
        list.add(present_key);
        if (present_key)
          list.add(key);
  
        boolean present_replication = true;
        list.add(present_replication);
        if (present_replication)
          list.add(replication);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(updateBlobReplication_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_key()).compareTo(other.is_set_key());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_key()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.key, other.key);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_replication()).compareTo(other.is_set_replication());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_replication()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replication, other.replication);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("updateBlobReplication_args(");
        boolean first = true;
  
        sb.append("key:");
        if (this.key == null) {
          sb.append("null");
        } else {
          sb.append(this.key);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("replication:");
        sb.append(this.replication);
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
          __isset_bitfield = 0;
          read(new 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 updateBlobReplication_argsStandardSchemeFactory implements SchemeFactory {
        public updateBlobReplication_argsStandardScheme getScheme() {
          return new updateBlobReplication_argsStandardScheme();
        }
      }
  
      private static class updateBlobReplication_argsStandardScheme extends StandardScheme<updateBlobReplication_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, updateBlobReplication_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: // KEY
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.key = iprot.readString();
                  struct.set_key_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // REPLICATION
                if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                  struct.replication = iprot.readI32();
                  struct.set_replication_isSet(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, updateBlobReplication_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.key != null) {
            oprot.writeFieldBegin(KEY_FIELD_DESC);
            oprot.writeString(struct.key);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldBegin(REPLICATION_FIELD_DESC);
          oprot.writeI32(struct.replication);
          oprot.writeFieldEnd();
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class updateBlobReplication_argsTupleSchemeFactory implements SchemeFactory {
        public updateBlobReplication_argsTupleScheme getScheme() {
          return new updateBlobReplication_argsTupleScheme();
        }
      }
  
      private static class updateBlobReplication_argsTupleScheme extends TupleScheme<updateBlobReplication_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, updateBlobReplication_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_key()) {
            optionals.set(0);
          }
          if (struct.is_set_replication()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_key()) {
            oprot.writeString(struct.key);
          }
          if (struct.is_set_replication()) {
            oprot.writeI32(struct.replication);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, updateBlobReplication_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.key = iprot.readString();
            struct.set_key_isSet(true);
          }
          if (incoming.get(1)) {
            struct.replication = iprot.readI32();
            struct.set_replication_isSet(true);
          }
        }
      }
  
    }
  
    public static class updateBlobReplication_result implements org.apache.thrift.TBase<updateBlobReplication_result, updateBlobReplication_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateBlobReplication_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateBlobReplication_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I32, (short)0);
      private static final org.apache.thrift.protocol.TField KNF_FIELD_DESC = new org.apache.thrift.protocol.TField("knf", 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 updateBlobReplication_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new updateBlobReplication_resultTupleSchemeFactory());
      }
  
      private int success; // required
      private KeyNotFoundException knf; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success"),
        KNF((short)1, "knf");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            case 1: // KNF
              return KNF;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      private static final int __SUCCESS_ISSET_ID = 0;
      private byte __isset_bitfield = 0;
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
        tmpMap.put(_Fields.KNF, new org.apache.thrift.meta_data.FieldMetaData("knf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateBlobReplication_result.class, metaDataMap);
      }
  
      public updateBlobReplication_result() {
      }
  
      public updateBlobReplication_result(
        int success,
        KeyNotFoundException knf)
      {
        this();
        this.success = success;
        set_success_isSet(true);
        this.knf = knf;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public updateBlobReplication_result(updateBlobReplication_result other) {
        __isset_bitfield = other.__isset_bitfield;
        this.success = other.success;
        if (other.is_set_knf()) {
          this.knf = new KeyNotFoundException(other.knf);
        }
      }
  
      public updateBlobReplication_result deepCopy() {
        return new updateBlobReplication_result(this);
      }
  
      @Override
      public void clear() {
        set_success_isSet(false);
        this.success = 0;
        this.knf = null;
      }
  
      public int get_success() {
        return this.success;
      }
  
      public void set_success(int success) {
        this.success = success;
        set_success_isSet(true);
      }
  
      public void unset_success() {
        __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
      }
  
      public void set_success_isSet(boolean value) {
        __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
      }
  
      public KeyNotFoundException get_knf() {
        return this.knf;
      }
  
      public void set_knf(KeyNotFoundException knf) {
        this.knf = knf;
      }
  
      public void unset_knf() {
        this.knf = null;
      }
  
      /** Returns true if field knf is set (has been assigned a value) and false otherwise */
      public boolean is_set_knf() {
        return this.knf != null;
      }
  
      public void set_knf_isSet(boolean value) {
        if (!value) {
          this.knf = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((Integer)value);
          }
          break;
  
        case KNF:
          if (value == null) {
            unset_knf();
          } else {
            set_knf((KeyNotFoundException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return Integer.valueOf(get_success());
  
        case KNF:
          return get_knf();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        case KNF:
          return is_set_knf();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof updateBlobReplication_result)
          return this.equals((updateBlobReplication_result)that);
        return false;
      }
  
      public boolean equals(updateBlobReplication_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true;
        boolean that_present_success = true;
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (this.success != that.success)
            return false;
        }
  
        boolean this_present_knf = true && this.is_set_knf();
        boolean that_present_knf = true && that.is_set_knf();
        if (this_present_knf || that_present_knf) {
          if (!(this_present_knf && that_present_knf))
            return false;
          if (!this.knf.equals(that.knf))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true;
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        boolean present_knf = true && (is_set_knf());
        list.add(present_knf);
        if (present_knf)
          list.add(knf);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(updateBlobReplication_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_knf()).compareTo(other.is_set_knf());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_knf()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.knf, other.knf);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("updateBlobReplication_result(");
        boolean first = true;
  
        sb.append("success:");
        sb.append(this.success);
        first = false;
        if (!first) sb.append(", ");
        sb.append("knf:");
        if (this.knf == null) {
          sb.append("null");
        } else {
          sb.append(this.knf);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
          __isset_bitfield = 0;
          read(new 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 updateBlobReplication_resultStandardSchemeFactory implements SchemeFactory {
        public updateBlobReplication_resultStandardScheme getScheme() {
          return new updateBlobReplication_resultStandardScheme();
        }
      }
  
      private static class updateBlobReplication_resultStandardScheme extends StandardScheme<updateBlobReplication_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, updateBlobReplication_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.I32) {
                  struct.success = iprot.readI32();
                  struct.set_success_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 1: // KNF
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.knf = new KeyNotFoundException();
                  struct.knf.read(iprot);
                  struct.set_knf_isSet(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, updateBlobReplication_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.is_set_success()) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            oprot.writeI32(struct.success);
            oprot.writeFieldEnd();
          }
          if (struct.knf != null) {
            oprot.writeFieldBegin(KNF_FIELD_DESC);
            struct.knf.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class updateBlobReplication_resultTupleSchemeFactory implements SchemeFactory {
        public updateBlobReplication_resultTupleScheme getScheme() {
          return new updateBlobReplication_resultTupleScheme();
        }
      }
  
      private static class updateBlobReplication_resultTupleScheme extends TupleScheme<updateBlobReplication_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, updateBlobReplication_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          if (struct.is_set_knf()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_success()) {
            oprot.writeI32(struct.success);
          }
          if (struct.is_set_knf()) {
            struct.knf.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, updateBlobReplication_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.success = iprot.readI32();
            struct.set_success_isSet(true);
          }
          if (incoming.get(1)) {
            struct.knf = new KeyNotFoundException();
            struct.knf.read(iprot);
            struct.set_knf_isSet(true);
          }
        }
      }
  
    }
  
    public static class createStateInZookeeper_args implements org.apache.thrift.TBase<createStateInZookeeper_args, createStateInZookeeper_args._Fields>, java.io.Serializable, Cloneable, Comparable<createStateInZookeeper_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createStateInZookeeper_args");
  
      private static final org.apache.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.thrift.protocol.TField("key", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new createStateInZookeeper_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new createStateInZookeeper_argsTupleSchemeFactory());
      }
  
      private String key; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        KEY((short)1, "key");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // KEY
              return KEY;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.KEY, new org.apache.thrift.meta_data.FieldMetaData("key", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createStateInZookeeper_args.class, metaDataMap);
      }
  
      public createStateInZookeeper_args() {
      }
  
      public createStateInZookeeper_args(
        String key)
      {
        this();
        this.key = key;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public createStateInZookeeper_args(createStateInZookeeper_args other) {
        if (other.is_set_key()) {
          this.key = other.key;
        }
      }
  
      public createStateInZookeeper_args deepCopy() {
        return new createStateInZookeeper_args(this);
      }
  
      @Override
      public void clear() {
        this.key = null;
      }
  
      public String get_key() {
        return this.key;
      }
  
      public void set_key(String key) {
        this.key = key;
      }
  
      public void unset_key() {
        this.key = null;
      }
  
      /** Returns true if field key is set (has been assigned a value) and false otherwise */
      public boolean is_set_key() {
        return this.key != null;
      }
  
      public void set_key_isSet(boolean value) {
        if (!value) {
          this.key = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case KEY:
          if (value == null) {
            unset_key();
          } else {
            set_key((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case KEY:
          return get_key();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case KEY:
          return is_set_key();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof createStateInZookeeper_args)
          return this.equals((createStateInZookeeper_args)that);
        return false;
      }
  
      public boolean equals(createStateInZookeeper_args that) {
        if (that == null)
          return false;
  
        boolean this_present_key = true && this.is_set_key();
        boolean that_present_key = true && that.is_set_key();
        if (this_present_key || that_present_key) {
          if (!(this_present_key && that_present_key))
            return false;
          if (!this.key.equals(that.key))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_key = true && (is_set_key());
        list.add(present_key);
        if (present_key)
          list.add(key);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(createStateInZookeeper_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_key()).compareTo(other.is_set_key());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_key()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.key, other.key);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("createStateInZookeeper_args(");
        boolean first = true;
  
        sb.append("key:");
        if (this.key == null) {
          sb.append("null");
        } else {
          sb.append(this.key);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 createStateInZookeeper_argsStandardSchemeFactory implements SchemeFactory {
        public createStateInZookeeper_argsStandardScheme getScheme() {
          return new createStateInZookeeper_argsStandardScheme();
        }
      }
  
      private static class createStateInZookeeper_argsStandardScheme extends StandardScheme<createStateInZookeeper_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, createStateInZookeeper_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: // KEY
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.key = iprot.readString();
                  struct.set_key_isSet(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, createStateInZookeeper_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.key != null) {
            oprot.writeFieldBegin(KEY_FIELD_DESC);
            oprot.writeString(struct.key);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class createStateInZookeeper_argsTupleSchemeFactory implements SchemeFactory {
        public createStateInZookeeper_argsTupleScheme getScheme() {
          return new createStateInZookeeper_argsTupleScheme();
        }
      }
  
      private static class createStateInZookeeper_argsTupleScheme extends TupleScheme<createStateInZookeeper_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, createStateInZookeeper_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_key()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_key()) {
            oprot.writeString(struct.key);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, createStateInZookeeper_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.key = iprot.readString();
            struct.set_key_isSet(true);
          }
        }
      }
  
    }
  
    public static class createStateInZookeeper_result implements org.apache.thrift.TBase<createStateInZookeeper_result, createStateInZookeeper_result._Fields>, java.io.Serializable, Cloneable, Comparable<createStateInZookeeper_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createStateInZookeeper_result");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new createStateInZookeeper_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new createStateInZookeeper_resultTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createStateInZookeeper_result.class, metaDataMap);
      }
  
      public createStateInZookeeper_result() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public createStateInZookeeper_result(createStateInZookeeper_result other) {
      }
  
      public createStateInZookeeper_result deepCopy() {
        return new createStateInZookeeper_result(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof createStateInZookeeper_result)
          return this.equals((createStateInZookeeper_result)that);
        return false;
      }
  
      public boolean equals(createStateInZookeeper_result that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(createStateInZookeeper_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("createStateInZookeeper_result(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 createStateInZookeeper_resultStandardSchemeFactory implements SchemeFactory {
        public createStateInZookeeper_resultStandardScheme getScheme() {
          return new createStateInZookeeper_resultStandardScheme();
        }
      }
  
      private static class createStateInZookeeper_resultStandardScheme extends StandardScheme<createStateInZookeeper_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, createStateInZookeeper_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) {
              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, createStateInZookeeper_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class createStateInZookeeper_resultTupleSchemeFactory implements SchemeFactory {
        public createStateInZookeeper_resultTupleScheme getScheme() {
          return new createStateInZookeeper_resultTupleScheme();
        }
      }
  
      private static class createStateInZookeeper_resultTupleScheme extends TupleScheme<createStateInZookeeper_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, createStateInZookeeper_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, createStateInZookeeper_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class beginLibUpload_args implements org.apache.thrift.TBase<beginLibUpload_args, beginLibUpload_args._Fields>, java.io.Serializable, Cloneable, Comparable<beginLibUpload_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("beginLibUpload_args");
  
      private static final org.apache.thrift.protocol.TField LIB_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("libName", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new beginLibUpload_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new beginLibUpload_argsTupleSchemeFactory());
      }
  
      private String libName; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        LIB_NAME((short)1, "libName");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // LIB_NAME
              return LIB_NAME;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.LIB_NAME, new org.apache.thrift.meta_data.FieldMetaData("libName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginLibUpload_args.class, metaDataMap);
      }
  
      public beginLibUpload_args() {
      }
  
      public beginLibUpload_args(
        String libName)
      {
        this();
        this.libName = libName;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public beginLibUpload_args(beginLibUpload_args other) {
        if (other.is_set_libName()) {
          this.libName = other.libName;
        }
      }
  
      public beginLibUpload_args deepCopy() {
        return new beginLibUpload_args(this);
      }
  
      @Override
      public void clear() {
        this.libName = null;
      }
  
      public String get_libName() {
        return this.libName;
      }
  
      public void set_libName(String libName) {
        this.libName = libName;
      }
  
      public void unset_libName() {
        this.libName = null;
      }
  
      /** Returns true if field libName is set (has been assigned a value) and false otherwise */
      public boolean is_set_libName() {
        return this.libName != null;
      }
  
      public void set_libName_isSet(boolean value) {
        if (!value) {
          this.libName = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case LIB_NAME:
          if (value == null) {
            unset_libName();
          } else {
            set_libName((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case LIB_NAME:
          return get_libName();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case LIB_NAME:
          return is_set_libName();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof beginLibUpload_args)
          return this.equals((beginLibUpload_args)that);
        return false;
      }
  
      public boolean equals(beginLibUpload_args that) {
        if (that == null)
          return false;
  
        boolean this_present_libName = true && this.is_set_libName();
        boolean that_present_libName = true && that.is_set_libName();
        if (this_present_libName || that_present_libName) {
          if (!(this_present_libName && that_present_libName))
            return false;
          if (!this.libName.equals(that.libName))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_libName = true && (is_set_libName());
        list.add(present_libName);
        if (present_libName)
          list.add(libName);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(beginLibUpload_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_libName()).compareTo(other.is_set_libName());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_libName()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.libName, other.libName);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("beginLibUpload_args(");
        boolean first = true;
  
        sb.append("libName:");
        if (this.libName == null) {
          sb.append("null");
        } else {
          sb.append(this.libName);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 beginLibUpload_argsStandardSchemeFactory implements SchemeFactory {
        public beginLibUpload_argsStandardScheme getScheme() {
          return new beginLibUpload_argsStandardScheme();
        }
      }
  
      private static class beginLibUpload_argsStandardScheme extends StandardScheme<beginLibUpload_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, beginLibUpload_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: // LIB_NAME
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.libName = iprot.readString();
                  struct.set_libName_isSet(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, beginLibUpload_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.libName != null) {
            oprot.writeFieldBegin(LIB_NAME_FIELD_DESC);
            oprot.writeString(struct.libName);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class beginLibUpload_argsTupleSchemeFactory implements SchemeFactory {
        public beginLibUpload_argsTupleScheme getScheme() {
          return new beginLibUpload_argsTupleScheme();
        }
      }
  
      private static class beginLibUpload_argsTupleScheme extends TupleScheme<beginLibUpload_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, beginLibUpload_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_libName()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_libName()) {
            oprot.writeString(struct.libName);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, beginLibUpload_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.libName = iprot.readString();
            struct.set_libName_isSet(true);
          }
        }
      }
  
    }
  
    public static class beginLibUpload_result implements org.apache.thrift.TBase<beginLibUpload_result, beginLibUpload_result._Fields>, java.io.Serializable, Cloneable, Comparable<beginLibUpload_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("beginLibUpload_result");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new beginLibUpload_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new beginLibUpload_resultTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginLibUpload_result.class, metaDataMap);
      }
  
      public beginLibUpload_result() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public beginLibUpload_result(beginLibUpload_result other) {
      }
  
      public beginLibUpload_result deepCopy() {
        return new beginLibUpload_result(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof beginLibUpload_result)
          return this.equals((beginLibUpload_result)that);
        return false;
      }
  
      public boolean equals(beginLibUpload_result that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(beginLibUpload_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("beginLibUpload_result(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 beginLibUpload_resultStandardSchemeFactory implements SchemeFactory {
        public beginLibUpload_resultStandardScheme getScheme() {
          return new beginLibUpload_resultStandardScheme();
        }
      }
  
      private static class beginLibUpload_resultStandardScheme extends StandardScheme<beginLibUpload_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, beginLibUpload_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) {
              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, beginLibUpload_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class beginLibUpload_resultTupleSchemeFactory implements SchemeFactory {
        public beginLibUpload_resultTupleScheme getScheme() {
          return new beginLibUpload_resultTupleScheme();
        }
      }
  
      private static class beginLibUpload_resultTupleScheme extends TupleScheme<beginLibUpload_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, beginLibUpload_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, beginLibUpload_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class beginFileUpload_args implements org.apache.thrift.TBase<beginFileUpload_args, beginFileUpload_args._Fields>, java.io.Serializable, Cloneable, Comparable<beginFileUpload_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("beginFileUpload_args");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new beginFileUpload_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new beginFileUpload_argsTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginFileUpload_args.class, metaDataMap);
      }
  
      public beginFileUpload_args() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public beginFileUpload_args(beginFileUpload_args other) {
      }
  
      public beginFileUpload_args deepCopy() {
        return new beginFileUpload_args(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof beginFileUpload_args)
          return this.equals((beginFileUpload_args)that);
        return false;
      }
  
      public boolean equals(beginFileUpload_args that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(beginFileUpload_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("beginFileUpload_args(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 beginFileUpload_argsStandardSchemeFactory implements SchemeFactory {
        public beginFileUpload_argsStandardScheme getScheme() {
          return new beginFileUpload_argsStandardScheme();
        }
      }
  
      private static class beginFileUpload_argsStandardScheme extends StandardScheme<beginFileUpload_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, beginFileUpload_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) {
              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, beginFileUpload_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class beginFileUpload_argsTupleSchemeFactory implements SchemeFactory {
        public beginFileUpload_argsTupleScheme getScheme() {
          return new beginFileUpload_argsTupleScheme();
        }
      }
  
      private static class beginFileUpload_argsTupleScheme extends TupleScheme<beginFileUpload_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, beginFileUpload_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, beginFileUpload_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class beginFileUpload_result implements org.apache.thrift.TBase<beginFileUpload_result, beginFileUpload_result._Fields>, java.io.Serializable, Cloneable, Comparable<beginFileUpload_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("beginFileUpload_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new beginFileUpload_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new beginFileUpload_resultTupleSchemeFactory());
      }
  
      private String success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginFileUpload_result.class, metaDataMap);
      }
  
      public beginFileUpload_result() {
      }
  
      public beginFileUpload_result(
        String success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public beginFileUpload_result(beginFileUpload_result other) {
        if (other.is_set_success()) {
          this.success = other.success;
        }
      }
  
      public beginFileUpload_result deepCopy() {
        return new beginFileUpload_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public String get_success() {
        return this.success;
      }
  
      public void set_success(String success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof beginFileUpload_result)
          return this.equals((beginFileUpload_result)that);
        return false;
      }
  
      public boolean equals(beginFileUpload_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        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() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(beginFileUpload_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.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("beginFileUpload_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
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 beginFileUpload_resultStandardSchemeFactory implements SchemeFactory {
        public beginFileUpload_resultStandardScheme getScheme() {
          return new beginFileUpload_resultStandardScheme();
        }
      }
  
      private static class beginFileUpload_resultStandardScheme extends StandardScheme<beginFileUpload_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, beginFileUpload_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.STRING) {
                  struct.success = iprot.readString();
                  struct.set_success_isSet(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, beginFileUpload_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            oprot.writeString(struct.success);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class beginFileUpload_resultTupleSchemeFactory implements SchemeFactory {
        public beginFileUpload_resultTupleScheme getScheme() {
          return new beginFileUpload_resultTupleScheme();
        }
      }
  
      private static class beginFileUpload_resultTupleScheme extends TupleScheme<beginFileUpload_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, beginFileUpload_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_success()) {
            oprot.writeString(struct.success);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, beginFileUpload_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = iprot.readString();
            struct.set_success_isSet(true);
          }
        }
      }
  
    }
  
    public static class uploadChunk_args implements org.apache.thrift.TBase<uploadChunk_args, uploadChunk_args._Fields>, java.io.Serializable, Cloneable, Comparable<uploadChunk_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("uploadChunk_args");
  
      private static final org.apache.thrift.protocol.TField LOCATION_FIELD_DESC = new org.apache.thrift.protocol.TField("location", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField CHUNK_FIELD_DESC = new org.apache.thrift.protocol.TField("chunk", org.apache.thrift.protocol.TType.STRING, (short)2);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new uploadChunk_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new uploadChunk_argsTupleSchemeFactory());
      }
  
      private String location; // required
      private ByteBuffer chunk; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        LOCATION((short)1, "location"),
        CHUNK((short)2, "chunk");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // LOCATION
              return LOCATION;
            case 2: // CHUNK
              return CHUNK;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.LOCATION, new org.apache.thrift.meta_data.FieldMetaData("location", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.CHUNK, new org.apache.thrift.meta_data.FieldMetaData("chunk", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING          , true)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(uploadChunk_args.class, metaDataMap);
      }
  
      public uploadChunk_args() {
      }
  
      public uploadChunk_args(
        String location,
        ByteBuffer chunk)
      {
        this();
        this.location = location;
        this.chunk = org.apache.thrift.TBaseHelper.copyBinary(chunk);
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public uploadChunk_args(uploadChunk_args other) {
        if (other.is_set_location()) {
          this.location = other.location;
        }
        if (other.is_set_chunk()) {
          this.chunk = org.apache.thrift.TBaseHelper.copyBinary(other.chunk);
        }
      }
  
      public uploadChunk_args deepCopy() {
        return new uploadChunk_args(this);
      }
  
      @Override
      public void clear() {
        this.location = null;
        this.chunk = null;
      }
  
      public String get_location() {
        return this.location;
      }
  
      public void set_location(String location) {
        this.location = location;
      }
  
      public void unset_location() {
        this.location = null;
      }
  
      /** Returns true if field location is set (has been assigned a value) and false otherwise */
      public boolean is_set_location() {
        return this.location != null;
      }
  
      public void set_location_isSet(boolean value) {
        if (!value) {
          this.location = null;
        }
      }
  
      public byte[] get_chunk() {
        set_chunk(org.apache.thrift.TBaseHelper.rightSize(chunk));
        return chunk == null ? null : chunk.array();
      }
  
      public ByteBuffer buffer_for_chunk() {
        return org.apache.thrift.TBaseHelper.copyBinary(chunk);
      }
  
      public void set_chunk(byte[] chunk) {
        this.chunk = chunk == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(chunk, chunk.length));
      }
  
      public void set_chunk(ByteBuffer chunk) {
        this.chunk = org.apache.thrift.TBaseHelper.copyBinary(chunk);
      }
  
      public void unset_chunk() {
        this.chunk = null;
      }
  
      /** Returns true if field chunk is set (has been assigned a value) and false otherwise */
      public boolean is_set_chunk() {
        return this.chunk != null;
      }
  
      public void set_chunk_isSet(boolean value) {
        if (!value) {
          this.chunk = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case LOCATION:
          if (value == null) {
            unset_location();
          } else {
            set_location((String)value);
          }
          break;
  
        case CHUNK:
          if (value == null) {
            unset_chunk();
          } else {
            set_chunk((ByteBuffer)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case LOCATION:
          return get_location();
  
        case CHUNK:
          return get_chunk();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case LOCATION:
          return is_set_location();
        case CHUNK:
          return is_set_chunk();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof uploadChunk_args)
          return this.equals((uploadChunk_args)that);
        return false;
      }
  
      public boolean equals(uploadChunk_args that) {
        if (that == null)
          return false;
  
        boolean this_present_location = true && this.is_set_location();
        boolean that_present_location = true && that.is_set_location();
        if (this_present_location || that_present_location) {
          if (!(this_present_location && that_present_location))
            return false;
          if (!this.location.equals(that.location))
            return false;
        }
  
        boolean this_present_chunk = true && this.is_set_chunk();
        boolean that_present_chunk = true && that.is_set_chunk();
        if (this_present_chunk || that_present_chunk) {
          if (!(this_present_chunk && that_present_chunk))
            return false;
          if (!this.chunk.equals(that.chunk))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_location = true && (is_set_location());
        list.add(present_location);
        if (present_location)
          list.add(location);
  
        boolean present_chunk = true && (is_set_chunk());
        list.add(present_chunk);
        if (present_chunk)
          list.add(chunk);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(uploadChunk_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_location()).compareTo(other.is_set_location());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_location()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.location, other.location);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_chunk()).compareTo(other.is_set_chunk());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_chunk()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.chunk, other.chunk);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("uploadChunk_args(");
        boolean first = true;
  
        sb.append("location:");
        if (this.location == null) {
          sb.append("null");
        } else {
          sb.append(this.location);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("chunk:");
        if (this.chunk == null) {
          sb.append("null");
        } else {
          org.apache.thrift.TBaseHelper.toString(this.chunk, sb);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 uploadChunk_argsStandardSchemeFactory implements SchemeFactory {
        public uploadChunk_argsStandardScheme getScheme() {
          return new uploadChunk_argsStandardScheme();
        }
      }
  
      private static class uploadChunk_argsStandardScheme extends StandardScheme<uploadChunk_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, uploadChunk_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: // LOCATION
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.location = iprot.readString();
                  struct.set_location_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // CHUNK
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.chunk = iprot.readBinary();
                  struct.set_chunk_isSet(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, uploadChunk_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.location != null) {
            oprot.writeFieldBegin(LOCATION_FIELD_DESC);
            oprot.writeString(struct.location);
            oprot.writeFieldEnd();
          }
          if (struct.chunk != null) {
            oprot.writeFieldBegin(CHUNK_FIELD_DESC);
            oprot.writeBinary(struct.chunk);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class uploadChunk_argsTupleSchemeFactory implements SchemeFactory {
        public uploadChunk_argsTupleScheme getScheme() {
          return new uploadChunk_argsTupleScheme();
        }
      }
  
      private static class uploadChunk_argsTupleScheme extends TupleScheme<uploadChunk_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, uploadChunk_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_location()) {
            optionals.set(0);
          }
          if (struct.is_set_chunk()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_location()) {
            oprot.writeString(struct.location);
          }
          if (struct.is_set_chunk()) {
            oprot.writeBinary(struct.chunk);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, uploadChunk_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.location = iprot.readString();
            struct.set_location_isSet(true);
          }
          if (incoming.get(1)) {
            struct.chunk = iprot.readBinary();
            struct.set_chunk_isSet(true);
          }
        }
      }
  
    }
  
    public static class uploadChunk_result implements org.apache.thrift.TBase<uploadChunk_result, uploadChunk_result._Fields>, java.io.Serializable, Cloneable, Comparable<uploadChunk_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("uploadChunk_result");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new uploadChunk_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new uploadChunk_resultTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(uploadChunk_result.class, metaDataMap);
      }
  
      public uploadChunk_result() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public uploadChunk_result(uploadChunk_result other) {
      }
  
      public uploadChunk_result deepCopy() {
        return new uploadChunk_result(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof uploadChunk_result)
          return this.equals((uploadChunk_result)that);
        return false;
      }
  
      public boolean equals(uploadChunk_result that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(uploadChunk_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("uploadChunk_result(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 uploadChunk_resultStandardSchemeFactory implements SchemeFactory {
        public uploadChunk_resultStandardScheme getScheme() {
          return new uploadChunk_resultStandardScheme();
        }
      }
  
      private static class uploadChunk_resultStandardScheme extends StandardScheme<uploadChunk_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, uploadChunk_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) {
              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, uploadChunk_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class uploadChunk_resultTupleSchemeFactory implements SchemeFactory {
        public uploadChunk_resultTupleScheme getScheme() {
          return new uploadChunk_resultTupleScheme();
        }
      }
  
      private static class uploadChunk_resultTupleScheme extends TupleScheme<uploadChunk_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, uploadChunk_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, uploadChunk_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class finishFileUpload_args implements org.apache.thrift.TBase<finishFileUpload_args, finishFileUpload_args._Fields>, java.io.Serializable, Cloneable, Comparable<finishFileUpload_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("finishFileUpload_args");
  
      private static final org.apache.thrift.protocol.TField LOCATION_FIELD_DESC = new org.apache.thrift.protocol.TField("location", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new finishFileUpload_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new finishFileUpload_argsTupleSchemeFactory());
      }
  
      private String location; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        LOCATION((short)1, "location");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // LOCATION
              return LOCATION;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.LOCATION, new org.apache.thrift.meta_data.FieldMetaData("location", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(finishFileUpload_args.class, metaDataMap);
      }
  
      public finishFileUpload_args() {
      }
  
      public finishFileUpload_args(
        String location)
      {
        this();
        this.location = location;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public finishFileUpload_args(finishFileUpload_args other) {
        if (other.is_set_location()) {
          this.location = other.location;
        }
      }
  
      public finishFileUpload_args deepCopy() {
        return new finishFileUpload_args(this);
      }
  
      @Override
      public void clear() {
        this.location = null;
      }
  
      public String get_location() {
        return this.location;
      }
  
      public void set_location(String location) {
        this.location = location;
      }
  
      public void unset_location() {
        this.location = null;
      }
  
      /** Returns true if field location is set (has been assigned a value) and false otherwise */
      public boolean is_set_location() {
        return this.location != null;
      }
  
      public void set_location_isSet(boolean value) {
        if (!value) {
          this.location = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case LOCATION:
          if (value == null) {
            unset_location();
          } else {
            set_location((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case LOCATION:
          return get_location();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case LOCATION:
          return is_set_location();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof finishFileUpload_args)
          return this.equals((finishFileUpload_args)that);
        return false;
      }
  
      public boolean equals(finishFileUpload_args that) {
        if (that == null)
          return false;
  
        boolean this_present_location = true && this.is_set_location();
        boolean that_present_location = true && that.is_set_location();
        if (this_present_location || that_present_location) {
          if (!(this_present_location && that_present_location))
            return false;
          if (!this.location.equals(that.location))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_location = true && (is_set_location());
        list.add(present_location);
        if (present_location)
          list.add(location);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(finishFileUpload_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_location()).compareTo(other.is_set_location());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_location()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.location, other.location);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        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("finishFileUpload_args(");
        boolean first = true;
  
        sb.append("location:");
        if (this.location == null) {
          sb.append("null");
        } else {
          sb.append(this.location);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 finishFileUpload_argsStandardSchemeFactory implements SchemeFactory {
        public finishFileUpload_argsStandardScheme getScheme() {
          return new finishFileUpload_argsStandardScheme();
        }
      }
  
      private static class finishFileUpload_argsStandardScheme extends StandardScheme<finishFileUpload_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, finishFileUpload_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: // LOCATION
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.location = iprot.readString();
                  struct.set_location_isSet(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, finishFileUpload_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.location != null) {
            oprot.writeFieldBegin(LOCATION_FIELD_DESC);
            oprot.writeString(struct.location);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class finishFileUpload_argsTupleSchemeFactory implements SchemeFactory {
        public finishFileUpload_argsTupleScheme getScheme() {
          return new finishFileUpload_argsTupleScheme();
        }
      }
  
      private static class finishFileUpload_argsTupleScheme extends TupleScheme<finishFileUpload_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, finishFileUpload_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_location()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_location()) {
            oprot.writeString(struct.location);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, finishFileUpload_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.location = iprot.readString();
            struct.set_location_isSet(true);
          }
        }
      }
  
    }
  
    public static class finishFileUpload_result implements org.apache.thrift.TBase<finishFileUpload_result, finishFileUpload_result._Fields>, java.io.Serializable, Cloneable, Comparable<finishFileUpload_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("finishFileUpload_result");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new finishFileUpload_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new finishFileUpload_resultTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(finishFileUpload_result.class, metaDataMap);
      }
  
      public finishFileUpload_result() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public finishFileUpload_result(finishFileUpload_result other) {
      }
  
      public finishFileUpload_result deepCopy() {
        return new finishFileUpload_result(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof finishFileUpload_result)
          return this.equals((finishFileUpload_result)that);
        return false;
      }
  
      public boolean equals(finishFileUpload_result that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(finishFileUpload_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("finishFileUpload_result(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 finishFileUpload_resultStandardSchemeFactory implements SchemeFactory {
        public finishFileUpload_resultStandardScheme getScheme() {
          return new finishFileUpload_resultStandardScheme();
        }
      }
  
      private static class finishFileUpload_resultStandardScheme extends StandardScheme<finishFileUpload_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, finishFileUpload_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) {
              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, finishFileUpload_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class finishFileUpload_resultTupleSchemeFactory implements SchemeFactory {
        public finishFileUpload_resultTupleScheme getScheme() {
          return new finishFileUpload_resultTupleScheme();
        }
      }
  
      private static class finishFileUpload_resultTupleScheme extends TupleScheme<finishFileUpload_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, finishFileUpload_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, finishFileUpload_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class beginFileDownload_args implements org.apache.thrift.TBase<beginFileDownload_args, beginFileDownload_args._Fields>, java.io.Serializable, Cloneable, Comparable<beginFileDownload_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("beginFileDownload_args");
  
      private static final org.apache.thrift.protocol.TField FILE_FIELD_DESC = new org.apache.thrift.protocol.TField("file", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new beginFileDownload_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new beginFileDownload_argsTupleSchemeFactory());
      }
  
      private String file; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        FILE((short)1, "file");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // FILE
              return FILE;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.FILE, new org.apache.thrift.meta_data.FieldMetaData("file", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginFileDownload_args.class, metaDataMap);
      }
  
      public beginFileDownload_args() {
      }
  
      public beginFileDownload_args(
        String file)
      {
        this();
        this.file = file;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public beginFileDownload_args(beginFileDownload_args other) {
        if (other.is_set_file()) {
          this.file = other.file;
        }
      }
  
      public beginFileDownload_args deepCopy() {
        return new beginFileDownload_args(this);
      }
  
      @Override
      public void clear() {
        this.file = null;
      }
  
      public String get_file() {
        return this.file;
      }
  
      public void set_file(String file) {
        this.file = file;
      }
  
      public void unset_file() {
        this.file = null;
      }
  
      /** Returns true if field file is set (has been assigned a value) and false otherwise */
      public boolean is_set_file() {
        return this.file != null;
      }
  
      public void set_file_isSet(boolean value) {
        if (!value) {
          this.file = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case FILE:
          if (value == null) {
            unset_file();
          } else {
            set_file((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case FILE:
          return get_file();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case FILE:
          return is_set_file();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof beginFileDownload_args)
          return this.equals((beginFileDownload_args)that);
        return false;
      }
  
      public boolean equals(beginFileDownload_args that) {
        if (that == null)
          return false;
  
        boolean this_present_file = true && this.is_set_file();
        boolean that_present_file = true && that.is_set_file();
        if (this_present_file || that_present_file) {
          if (!(this_present_file && that_present_file))
            return false;
          if (!this.file.equals(that.file))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_file = true && (is_set_file());
        list.add(present_file);
        if (present_file)
          list.add(file);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(beginFileDownload_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_file()).compareTo(other.is_set_file());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_file()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.file, other.file);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("beginFileDownload_args(");
        boolean first = true;
  
        sb.append("file:");
        if (this.file == null) {
          sb.append("null");
        } else {
          sb.append(this.file);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 beginFileDownload_argsStandardSchemeFactory implements SchemeFactory {
        public beginFileDownload_argsStandardScheme getScheme() {
          return new beginFileDownload_argsStandardScheme();
        }
      }
  
      private static class beginFileDownload_argsStandardScheme extends StandardScheme<beginFileDownload_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, beginFileDownload_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: // FILE
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.file = iprot.readString();
                  struct.set_file_isSet(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, beginFileDownload_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.file != null) {
            oprot.writeFieldBegin(FILE_FIELD_DESC);
            oprot.writeString(struct.file);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class beginFileDownload_argsTupleSchemeFactory implements SchemeFactory {
        public beginFileDownload_argsTupleScheme getScheme() {
          return new beginFileDownload_argsTupleScheme();
        }
      }
  
      private static class beginFileDownload_argsTupleScheme extends TupleScheme<beginFileDownload_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, beginFileDownload_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_file()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_file()) {
            oprot.writeString(struct.file);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, beginFileDownload_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.file = iprot.readString();
            struct.set_file_isSet(true);
          }
        }
      }
  
    }
  
    public static class beginFileDownload_result implements org.apache.thrift.TBase<beginFileDownload_result, beginFileDownload_result._Fields>, java.io.Serializable, Cloneable, Comparable<beginFileDownload_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("beginFileDownload_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new beginFileDownload_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new beginFileDownload_resultTupleSchemeFactory());
      }
  
      private String success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginFileDownload_result.class, metaDataMap);
      }
  
      public beginFileDownload_result() {
      }
  
      public beginFileDownload_result(
        String success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public beginFileDownload_result(beginFileDownload_result other) {
        if (other.is_set_success()) {
          this.success = other.success;
        }
      }
  
      public beginFileDownload_result deepCopy() {
        return new beginFileDownload_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public String get_success() {
        return this.success;
      }
  
      public void set_success(String success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof beginFileDownload_result)
          return this.equals((beginFileDownload_result)that);
        return false;
      }
  
      public boolean equals(beginFileDownload_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        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() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(beginFileDownload_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.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("beginFileDownload_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
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 beginFileDownload_resultStandardSchemeFactory implements SchemeFactory {
        public beginFileDownload_resultStandardScheme getScheme() {
          return new beginFileDownload_resultStandardScheme();
        }
      }
  
      private static class beginFileDownload_resultStandardScheme extends StandardScheme<beginFileDownload_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, beginFileDownload_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.STRING) {
                  struct.success = iprot.readString();
                  struct.set_success_isSet(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, beginFileDownload_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            oprot.writeString(struct.success);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class beginFileDownload_resultTupleSchemeFactory implements SchemeFactory {
        public beginFileDownload_resultTupleScheme getScheme() {
          return new beginFileDownload_resultTupleScheme();
        }
      }
  
      private static class beginFileDownload_resultTupleScheme extends TupleScheme<beginFileDownload_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, beginFileDownload_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_success()) {
            oprot.writeString(struct.success);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, beginFileDownload_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = iprot.readString();
            struct.set_success_isSet(true);
          }
        }
      }
  
    }
  
    public static class downloadChunk_args implements org.apache.thrift.TBase<downloadChunk_args, downloadChunk_args._Fields>, java.io.Serializable, Cloneable, Comparable<downloadChunk_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("downloadChunk_args");
  
      private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new downloadChunk_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new downloadChunk_argsTupleSchemeFactory());
      }
  
      private String id; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        ID((short)1, "id");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // ID
              return ID;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(downloadChunk_args.class, metaDataMap);
      }
  
      public downloadChunk_args() {
      }
  
      public downloadChunk_args(
        String id)
      {
        this();
        this.id = id;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public downloadChunk_args(downloadChunk_args other) {
        if (other.is_set_id()) {
          this.id = other.id;
        }
      }
  
      public downloadChunk_args deepCopy() {
        return new downloadChunk_args(this);
      }
  
      @Override
      public void clear() {
        this.id = null;
      }
  
      public String get_id() {
        return this.id;
      }
  
      public void set_id(String id) {
        this.id = id;
      }
  
      public void unset_id() {
        this.id = null;
      }
  
      /** Returns true if field id is set (has been assigned a value) and false otherwise */
      public boolean is_set_id() {
        return this.id != null;
      }
  
      public void set_id_isSet(boolean value) {
        if (!value) {
          this.id = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case ID:
          if (value == null) {
            unset_id();
          } else {
            set_id((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case ID:
          return get_id();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case ID:
          return is_set_id();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof downloadChunk_args)
          return this.equals((downloadChunk_args)that);
        return false;
      }
  
      public boolean equals(downloadChunk_args that) {
        if (that == null)
          return false;
  
        boolean this_present_id = true && this.is_set_id();
        boolean that_present_id = true && that.is_set_id();
        if (this_present_id || that_present_id) {
          if (!(this_present_id && that_present_id))
            return false;
          if (!this.id.equals(that.id))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_id = true && (is_set_id());
        list.add(present_id);
        if (present_id)
          list.add(id);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(downloadChunk_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_id()).compareTo(other.is_set_id());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_id()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, other.id);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        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("downloadChunk_args(");
        boolean first = true;
  
        sb.append("id:");
        if (this.id == null) {
          sb.append("null");
        } else {
          sb.append(this.id);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 downloadChunk_argsStandardSchemeFactory implements SchemeFactory {
        public downloadChunk_argsStandardScheme getScheme() {
          return new downloadChunk_argsStandardScheme();
        }
      }
  
      private static class downloadChunk_argsStandardScheme extends StandardScheme<downloadChunk_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, downloadChunk_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: // ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.id = iprot.readString();
                  struct.set_id_isSet(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, downloadChunk_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.id != null) {
            oprot.writeFieldBegin(ID_FIELD_DESC);
            oprot.writeString(struct.id);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class downloadChunk_argsTupleSchemeFactory implements SchemeFactory {
        public downloadChunk_argsTupleScheme getScheme() {
          return new downloadChunk_argsTupleScheme();
        }
      }
  
      private static class downloadChunk_argsTupleScheme extends TupleScheme<downloadChunk_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, downloadChunk_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_id()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_id()) {
            oprot.writeString(struct.id);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, downloadChunk_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.id = iprot.readString();
            struct.set_id_isSet(true);
          }
        }
      }
  
    }
  
    public static class downloadChunk_result implements org.apache.thrift.TBase<downloadChunk_result, downloadChunk_result._Fields>, java.io.Serializable, Cloneable, Comparable<downloadChunk_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("downloadChunk_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new downloadChunk_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new downloadChunk_resultTupleSchemeFactory());
      }
  
      private ByteBuffer success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING          , true)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(downloadChunk_result.class, metaDataMap);
      }
  
      public downloadChunk_result() {
      }
  
      public downloadChunk_result(
        ByteBuffer success)
      {
        this();
        this.success = org.apache.thrift.TBaseHelper.copyBinary(success);
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public downloadChunk_result(downloadChunk_result other) {
        if (other.is_set_success()) {
          this.success = org.apache.thrift.TBaseHelper.copyBinary(other.success);
        }
      }
  
      public downloadChunk_result deepCopy() {
        return new downloadChunk_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public byte[] get_success() {
        set_success(org.apache.thrift.TBaseHelper.rightSize(success));
        return success == null ? null : success.array();
      }
  
      public ByteBuffer buffer_for_success() {
        return org.apache.thrift.TBaseHelper.copyBinary(success);
      }
  
      public void set_success(byte[] success) {
        this.success = success == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(success, success.length));
      }
  
      public void set_success(ByteBuffer success) {
        this.success = org.apache.thrift.TBaseHelper.copyBinary(success);
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((ByteBuffer)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof downloadChunk_result)
          return this.equals((downloadChunk_result)that);
        return false;
      }
  
      public boolean equals(downloadChunk_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        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() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(downloadChunk_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.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("downloadChunk_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          org.apache.thrift.TBaseHelper.toString(this.success, sb);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 downloadChunk_resultStandardSchemeFactory implements SchemeFactory {
        public downloadChunk_resultStandardScheme getScheme() {
          return new downloadChunk_resultStandardScheme();
        }
      }
  
      private static class downloadChunk_resultStandardScheme extends StandardScheme<downloadChunk_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, downloadChunk_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.STRING) {
                  struct.success = iprot.readBinary();
                  struct.set_success_isSet(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, downloadChunk_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            oprot.writeBinary(struct.success);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class downloadChunk_resultTupleSchemeFactory implements SchemeFactory {
        public downloadChunk_resultTupleScheme getScheme() {
          return new downloadChunk_resultTupleScheme();
        }
      }
  
      private static class downloadChunk_resultTupleScheme extends TupleScheme<downloadChunk_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, downloadChunk_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_success()) {
            oprot.writeBinary(struct.success);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, downloadChunk_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = iprot.readBinary();
            struct.set_success_isSet(true);
          }
        }
      }
  
    }
  
    public static class finishFileDownload_args implements org.apache.thrift.TBase<finishFileDownload_args, finishFileDownload_args._Fields>, java.io.Serializable, Cloneable, Comparable<finishFileDownload_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("finishFileDownload_args");
  
      private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new finishFileDownload_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new finishFileDownload_argsTupleSchemeFactory());
      }
  
      private String id; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        ID((short)1, "id");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // ID
              return ID;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(finishFileDownload_args.class, metaDataMap);
      }
  
      public finishFileDownload_args() {
      }
  
      public finishFileDownload_args(
        String id)
      {
        this();
        this.id = id;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public finishFileDownload_args(finishFileDownload_args other) {
        if (other.is_set_id()) {
          this.id = other.id;
        }
      }
  
      public finishFileDownload_args deepCopy() {
        return new finishFileDownload_args(this);
      }
  
      @Override
      public void clear() {
        this.id = null;
      }
  
      public String get_id() {
        return this.id;
      }
  
      public void set_id(String id) {
        this.id = id;
      }
  
      public void unset_id() {
        this.id = null;
      }
  
      /** Returns true if field id is set (has been assigned a value) and false otherwise */
      public boolean is_set_id() {
        return this.id != null;
      }
  
      public void set_id_isSet(boolean value) {
        if (!value) {
          this.id = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case ID:
          if (value == null) {
            unset_id();
          } else {
            set_id((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case ID:
          return get_id();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case ID:
          return is_set_id();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof finishFileDownload_args)
          return this.equals((finishFileDownload_args)that);
        return false;
      }
  
      public boolean equals(finishFileDownload_args that) {
        if (that == null)
          return false;
  
        boolean this_present_id = true && this.is_set_id();
        boolean that_present_id = true && that.is_set_id();
        if (this_present_id || that_present_id) {
          if (!(this_present_id && that_present_id))
            return false;
          if (!this.id.equals(that.id))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_id = true && (is_set_id());
        list.add(present_id);
        if (present_id)
          list.add(id);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(finishFileDownload_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_id()).compareTo(other.is_set_id());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_id()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, other.id);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        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("finishFileDownload_args(");
        boolean first = true;
  
        sb.append("id:");
        if (this.id == null) {
          sb.append("null");
        } else {
          sb.append(this.id);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 finishFileDownload_argsStandardSchemeFactory implements SchemeFactory {
        public finishFileDownload_argsStandardScheme getScheme() {
          return new finishFileDownload_argsStandardScheme();
        }
      }
  
      private static class finishFileDownload_argsStandardScheme extends StandardScheme<finishFileDownload_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, finishFileDownload_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: // ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.id = iprot.readString();
                  struct.set_id_isSet(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, finishFileDownload_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.id != null) {
            oprot.writeFieldBegin(ID_FIELD_DESC);
            oprot.writeString(struct.id);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class finishFileDownload_argsTupleSchemeFactory implements SchemeFactory {
        public finishFileDownload_argsTupleScheme getScheme() {
          return new finishFileDownload_argsTupleScheme();
        }
      }
  
      private static class finishFileDownload_argsTupleScheme extends TupleScheme<finishFileDownload_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, finishFileDownload_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_id()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_id()) {
            oprot.writeString(struct.id);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, finishFileDownload_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.id = iprot.readString();
            struct.set_id_isSet(true);
          }
        }
      }
  
    }
  
    public static class finishFileDownload_result implements org.apache.thrift.TBase<finishFileDownload_result, finishFileDownload_result._Fields>, java.io.Serializable, Cloneable, Comparable<finishFileDownload_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("finishFileDownload_result");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new finishFileDownload_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new finishFileDownload_resultTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(finishFileDownload_result.class, metaDataMap);
      }
  
      public finishFileDownload_result() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public finishFileDownload_result(finishFileDownload_result other) {
      }
  
      public finishFileDownload_result deepCopy() {
        return new finishFileDownload_result(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof finishFileDownload_result)
          return this.equals((finishFileDownload_result)that);
        return false;
      }
  
      public boolean equals(finishFileDownload_result that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(finishFileDownload_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("finishFileDownload_result(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 finishFileDownload_resultStandardSchemeFactory implements SchemeFactory {
        public finishFileDownload_resultStandardScheme getScheme() {
          return new finishFileDownload_resultStandardScheme();
        }
      }
  
      private static class finishFileDownload_resultStandardScheme extends StandardScheme<finishFileDownload_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, finishFileDownload_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) {
              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, finishFileDownload_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class finishFileDownload_resultTupleSchemeFactory implements SchemeFactory {
        public finishFileDownload_resultTupleScheme getScheme() {
          return new finishFileDownload_resultTupleScheme();
        }
      }
  
      private static class finishFileDownload_resultTupleScheme extends TupleScheme<finishFileDownload_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, finishFileDownload_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, finishFileDownload_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class getNimbusConf_args implements org.apache.thrift.TBase<getNimbusConf_args, getNimbusConf_args._Fields>, java.io.Serializable, Cloneable, Comparable<getNimbusConf_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getNimbusConf_args");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getNimbusConf_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getNimbusConf_argsTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getNimbusConf_args.class, metaDataMap);
      }
  
      public getNimbusConf_args() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getNimbusConf_args(getNimbusConf_args other) {
      }
  
      public getNimbusConf_args deepCopy() {
        return new getNimbusConf_args(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getNimbusConf_args)
          return this.equals((getNimbusConf_args)that);
        return false;
      }
  
      public boolean equals(getNimbusConf_args that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getNimbusConf_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("getNimbusConf_args(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getNimbusConf_argsStandardSchemeFactory implements SchemeFactory {
        public getNimbusConf_argsStandardScheme getScheme() {
          return new getNimbusConf_argsStandardScheme();
        }
      }
  
      private static class getNimbusConf_argsStandardScheme extends StandardScheme<getNimbusConf_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getNimbusConf_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) {
              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, getNimbusConf_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getNimbusConf_argsTupleSchemeFactory implements SchemeFactory {
        public getNimbusConf_argsTupleScheme getScheme() {
          return new getNimbusConf_argsTupleScheme();
        }
      }
  
      private static class getNimbusConf_argsTupleScheme extends TupleScheme<getNimbusConf_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getNimbusConf_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getNimbusConf_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class getNimbusConf_result implements org.apache.thrift.TBase<getNimbusConf_result, getNimbusConf_result._Fields>, java.io.Serializable, Cloneable, Comparable<getNimbusConf_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getNimbusConf_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getNimbusConf_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getNimbusConf_resultTupleSchemeFactory());
      }
  
      private String success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getNimbusConf_result.class, metaDataMap);
      }
  
      public getNimbusConf_result() {
      }
  
      public getNimbusConf_result(
        String success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getNimbusConf_result(getNimbusConf_result other) {
        if (other.is_set_success()) {
          this.success = other.success;
        }
      }
  
      public getNimbusConf_result deepCopy() {
        return new getNimbusConf_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public String get_success() {
        return this.success;
      }
  
      public void set_success(String success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getNimbusConf_result)
          return this.equals((getNimbusConf_result)that);
        return false;
      }
  
      public boolean equals(getNimbusConf_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        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() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getNimbusConf_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.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("getNimbusConf_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
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getNimbusConf_resultStandardSchemeFactory implements SchemeFactory {
        public getNimbusConf_resultStandardScheme getScheme() {
          return new getNimbusConf_resultStandardScheme();
        }
      }
  
      private static class getNimbusConf_resultStandardScheme extends StandardScheme<getNimbusConf_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getNimbusConf_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.STRING) {
                  struct.success = iprot.readString();
                  struct.set_success_isSet(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, getNimbusConf_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            oprot.writeString(struct.success);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getNimbusConf_resultTupleSchemeFactory implements SchemeFactory {
        public getNimbusConf_resultTupleScheme getScheme() {
          return new getNimbusConf_resultTupleScheme();
        }
      }
  
      private static class getNimbusConf_resultTupleScheme extends TupleScheme<getNimbusConf_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getNimbusConf_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_success()) {
            oprot.writeString(struct.success);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getNimbusConf_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = iprot.readString();
            struct.set_success_isSet(true);
          }
        }
      }
  
    }
  
    public static class getStormRawConf_args implements org.apache.thrift.TBase<getStormRawConf_args, getStormRawConf_args._Fields>, java.io.Serializable, Cloneable, Comparable<getStormRawConf_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getStormRawConf_args");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getStormRawConf_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getStormRawConf_argsTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getStormRawConf_args.class, metaDataMap);
      }
  
      public getStormRawConf_args() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getStormRawConf_args(getStormRawConf_args other) {
      }
  
      public getStormRawConf_args deepCopy() {
        return new getStormRawConf_args(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getStormRawConf_args)
          return this.equals((getStormRawConf_args)that);
        return false;
      }
  
      public boolean equals(getStormRawConf_args that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getStormRawConf_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("getStormRawConf_args(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getStormRawConf_argsStandardSchemeFactory implements SchemeFactory {
        public getStormRawConf_argsStandardScheme getScheme() {
          return new getStormRawConf_argsStandardScheme();
        }
      }
  
      private static class getStormRawConf_argsStandardScheme extends StandardScheme<getStormRawConf_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getStormRawConf_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) {
              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, getStormRawConf_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getStormRawConf_argsTupleSchemeFactory implements SchemeFactory {
        public getStormRawConf_argsTupleScheme getScheme() {
          return new getStormRawConf_argsTupleScheme();
        }
      }
  
      private static class getStormRawConf_argsTupleScheme extends TupleScheme<getStormRawConf_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getStormRawConf_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getStormRawConf_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class getStormRawConf_result implements org.apache.thrift.TBase<getStormRawConf_result, getStormRawConf_result._Fields>, java.io.Serializable, Cloneable, Comparable<getStormRawConf_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getStormRawConf_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getStormRawConf_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getStormRawConf_resultTupleSchemeFactory());
      }
  
      private String success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getStormRawConf_result.class, metaDataMap);
      }
  
      public getStormRawConf_result() {
      }
  
      public getStormRawConf_result(
        String success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getStormRawConf_result(getStormRawConf_result other) {
        if (other.is_set_success()) {
          this.success = other.success;
        }
      }
  
      public getStormRawConf_result deepCopy() {
        return new getStormRawConf_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public String get_success() {
        return this.success;
      }
  
      public void set_success(String success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getStormRawConf_result)
          return this.equals((getStormRawConf_result)that);
        return false;
      }
  
      public boolean equals(getStormRawConf_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        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() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getStormRawConf_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.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("getStormRawConf_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
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getStormRawConf_resultStandardSchemeFactory implements SchemeFactory {
        public getStormRawConf_resultStandardScheme getScheme() {
          return new getStormRawConf_resultStandardScheme();
        }
      }
  
      private static class getStormRawConf_resultStandardScheme extends StandardScheme<getStormRawConf_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getStormRawConf_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.STRING) {
                  struct.success = iprot.readString();
                  struct.set_success_isSet(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, getStormRawConf_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            oprot.writeString(struct.success);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getStormRawConf_resultTupleSchemeFactory implements SchemeFactory {
        public getStormRawConf_resultTupleScheme getScheme() {
          return new getStormRawConf_resultTupleScheme();
        }
      }
  
      private static class getStormRawConf_resultTupleScheme extends TupleScheme<getStormRawConf_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getStormRawConf_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_success()) {
            oprot.writeString(struct.success);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getStormRawConf_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = iprot.readString();
            struct.set_success_isSet(true);
          }
        }
      }
  
    }
  
    public static class getSupervisorConf_args implements org.apache.thrift.TBase<getSupervisorConf_args, getSupervisorConf_args._Fields>, java.io.Serializable, Cloneable, Comparable<getSupervisorConf_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSupervisorConf_args");
  
      private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getSupervisorConf_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getSupervisorConf_argsTupleSchemeFactory());
      }
  
      private String id; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        ID((short)1, "id");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // ID
              return ID;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSupervisorConf_args.class, metaDataMap);
      }
  
      public getSupervisorConf_args() {
      }
  
      public getSupervisorConf_args(
        String id)
      {
        this();
        this.id = id;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getSupervisorConf_args(getSupervisorConf_args other) {
        if (other.is_set_id()) {
          this.id = other.id;
        }
      }
  
      public getSupervisorConf_args deepCopy() {
        return new getSupervisorConf_args(this);
      }
  
      @Override
      public void clear() {
        this.id = null;
      }
  
      public String get_id() {
        return this.id;
      }
  
      public void set_id(String id) {
        this.id = id;
      }
  
      public void unset_id() {
        this.id = null;
      }
  
      /** Returns true if field id is set (has been assigned a value) and false otherwise */
      public boolean is_set_id() {
        return this.id != null;
      }
  
      public void set_id_isSet(boolean value) {
        if (!value) {
          this.id = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case ID:
          if (value == null) {
            unset_id();
          } else {
            set_id((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case ID:
          return get_id();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case ID:
          return is_set_id();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getSupervisorConf_args)
          return this.equals((getSupervisorConf_args)that);
        return false;
      }
  
      public boolean equals(getSupervisorConf_args that) {
        if (that == null)
          return false;
  
        boolean this_present_id = true && this.is_set_id();
        boolean that_present_id = true && that.is_set_id();
        if (this_present_id || that_present_id) {
          if (!(this_present_id && that_present_id))
            return false;
          if (!this.id.equals(that.id))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_id = true && (is_set_id());
        list.add(present_id);
        if (present_id)
          list.add(id);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getSupervisorConf_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_id()).compareTo(other.is_set_id());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_id()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, other.id);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        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("getSupervisorConf_args(");
        boolean first = true;
  
        sb.append("id:");
        if (this.id == null) {
          sb.append("null");
        } else {
          sb.append(this.id);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getSupervisorConf_argsStandardSchemeFactory implements SchemeFactory {
        public getSupervisorConf_argsStandardScheme getScheme() {
          return new getSupervisorConf_argsStandardScheme();
        }
      }
  
      private static class getSupervisorConf_argsStandardScheme extends StandardScheme<getSupervisorConf_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getSupervisorConf_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: // ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.id = iprot.readString();
                  struct.set_id_isSet(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, getSupervisorConf_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.id != null) {
            oprot.writeFieldBegin(ID_FIELD_DESC);
            oprot.writeString(struct.id);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getSupervisorConf_argsTupleSchemeFactory implements SchemeFactory {
        public getSupervisorConf_argsTupleScheme getScheme() {
          return new getSupervisorConf_argsTupleScheme();
        }
      }
  
      private static class getSupervisorConf_argsTupleScheme extends TupleScheme<getSupervisorConf_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getSupervisorConf_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_id()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_id()) {
            oprot.writeString(struct.id);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getSupervisorConf_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.id = iprot.readString();
            struct.set_id_isSet(true);
          }
        }
      }
  
    }
  
    public static class getSupervisorConf_result implements org.apache.thrift.TBase<getSupervisorConf_result, getSupervisorConf_result._Fields>, java.io.Serializable, Cloneable, Comparable<getSupervisorConf_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSupervisorConf_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getSupervisorConf_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getSupervisorConf_resultTupleSchemeFactory());
      }
  
      private String success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSupervisorConf_result.class, metaDataMap);
      }
  
      public getSupervisorConf_result() {
      }
  
      public getSupervisorConf_result(
        String success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getSupervisorConf_result(getSupervisorConf_result other) {
        if (other.is_set_success()) {
          this.success = other.success;
        }
      }
  
      public getSupervisorConf_result deepCopy() {
        return new getSupervisorConf_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public String get_success() {
        return this.success;
      }
  
      public void set_success(String success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getSupervisorConf_result)
          return this.equals((getSupervisorConf_result)that);
        return false;
      }
  
      public boolean equals(getSupervisorConf_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        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() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getSupervisorConf_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.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("getSupervisorConf_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
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getSupervisorConf_resultStandardSchemeFactory implements SchemeFactory {
        public getSupervisorConf_resultStandardScheme getScheme() {
          return new getSupervisorConf_resultStandardScheme();
        }
      }
  
      private static class getSupervisorConf_resultStandardScheme extends StandardScheme<getSupervisorConf_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getSupervisorConf_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.STRING) {
                  struct.success = iprot.readString();
                  struct.set_success_isSet(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, getSupervisorConf_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            oprot.writeString(struct.success);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getSupervisorConf_resultTupleSchemeFactory implements SchemeFactory {
        public getSupervisorConf_resultTupleScheme getScheme() {
          return new getSupervisorConf_resultTupleScheme();
        }
      }
  
      private static class getSupervisorConf_resultTupleScheme extends TupleScheme<getSupervisorConf_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getSupervisorConf_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_success()) {
            oprot.writeString(struct.success);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getSupervisorConf_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = iprot.readString();
            struct.set_success_isSet(true);
          }
        }
      }
  
    }
  
    public static class getTopologyConf_args implements org.apache.thrift.TBase<getTopologyConf_args, getTopologyConf_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyConf_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTopologyConf_args");
  
      private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getTopologyConf_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getTopologyConf_argsTupleSchemeFactory());
      }
  
      private String id; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        ID((short)1, "id");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // ID
              return ID;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyConf_args.class, metaDataMap);
      }
  
      public getTopologyConf_args() {
      }
  
      public getTopologyConf_args(
        String id)
      {
        this();
        this.id = id;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getTopologyConf_args(getTopologyConf_args other) {
        if (other.is_set_id()) {
          this.id = other.id;
        }
      }
  
      public getTopologyConf_args deepCopy() {
        return new getTopologyConf_args(this);
      }
  
      @Override
      public void clear() {
        this.id = null;
      }
  
      public String get_id() {
        return this.id;
      }
  
      public void set_id(String id) {
        this.id = id;
      }
  
      public void unset_id() {
        this.id = null;
      }
  
      /** Returns true if field id is set (has been assigned a value) and false otherwise */
      public boolean is_set_id() {
        return this.id != null;
      }
  
      public void set_id_isSet(boolean value) {
        if (!value) {
          this.id = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case ID:
          if (value == null) {
            unset_id();
          } else {
            set_id((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case ID:
          return get_id();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case ID:
          return is_set_id();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getTopologyConf_args)
          return this.equals((getTopologyConf_args)that);
        return false;
      }
  
      public boolean equals(getTopologyConf_args that) {
        if (that == null)
          return false;
  
        boolean this_present_id = true && this.is_set_id();
        boolean that_present_id = true && that.is_set_id();
        if (this_present_id || that_present_id) {
          if (!(this_present_id && that_present_id))
            return false;
          if (!this.id.equals(that.id))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_id = true && (is_set_id());
        list.add(present_id);
        if (present_id)
          list.add(id);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getTopologyConf_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_id()).compareTo(other.is_set_id());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_id()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, other.id);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        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("getTopologyConf_args(");
        boolean first = true;
  
        sb.append("id:");
        if (this.id == null) {
          sb.append("null");
        } else {
          sb.append(this.id);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getTopologyConf_argsStandardSchemeFactory implements SchemeFactory {
        public getTopologyConf_argsStandardScheme getScheme() {
          return new getTopologyConf_argsStandardScheme();
        }
      }
  
      private static class getTopologyConf_argsStandardScheme extends StandardScheme<getTopologyConf_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getTopologyConf_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: // ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.id = iprot.readString();
                  struct.set_id_isSet(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, getTopologyConf_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.id != null) {
            oprot.writeFieldBegin(ID_FIELD_DESC);
            oprot.writeString(struct.id);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getTopologyConf_argsTupleSchemeFactory implements SchemeFactory {
        public getTopologyConf_argsTupleScheme getScheme() {
          return new getTopologyConf_argsTupleScheme();
        }
      }
  
      private static class getTopologyConf_argsTupleScheme extends TupleScheme<getTopologyConf_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getTopologyConf_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_id()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_id()) {
            oprot.writeString(struct.id);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getTopologyConf_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.id = iprot.readString();
            struct.set_id_isSet(true);
          }
        }
      }
  
    }
  
    public static class getTopologyConf_result implements org.apache.thrift.TBase<getTopologyConf_result, getTopologyConf_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyConf_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTopologyConf_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
      private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", 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 getTopologyConf_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getTopologyConf_resultTupleSchemeFactory());
      }
  
      private String success; // required
      private NotAliveException e; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success"),
        E((short)1, "e");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            case 1: // E
              return E;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyConf_result.class, metaDataMap);
      }
  
      public getTopologyConf_result() {
      }
  
      public getTopologyConf_result(
        String success,
        NotAliveException e)
      {
        this();
        this.success = success;
        this.e = e;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getTopologyConf_result(getTopologyConf_result other) {
        if (other.is_set_success()) {
          this.success = other.success;
        }
        if (other.is_set_e()) {
          this.e = new NotAliveException(other.e);
        }
      }
  
      public getTopologyConf_result deepCopy() {
        return new getTopologyConf_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
        this.e = null;
      }
  
      public String get_success() {
        return this.success;
      }
  
      public void set_success(String success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public NotAliveException get_e() {
        return this.e;
      }
  
      public void set_e(NotAliveException e) {
        this.e = e;
      }
  
      public void unset_e() {
        this.e = null;
      }
  
      /** Returns true if field e is set (has been assigned a value) and false otherwise */
      public boolean is_set_e() {
        return this.e != null;
      }
  
      public void set_e_isSet(boolean value) {
        if (!value) {
          this.e = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((String)value);
          }
          break;
  
        case E:
          if (value == null) {
            unset_e();
          } else {
            set_e((NotAliveException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        case E:
          return get_e();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        case E:
          return is_set_e();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getTopologyConf_result)
          return this.equals((getTopologyConf_result)that);
        return false;
      }
  
      public boolean equals(getTopologyConf_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        boolean this_present_e = true && this.is_set_e();
        boolean that_present_e = true && that.is_set_e();
        if (this_present_e || that_present_e) {
          if (!(this_present_e && that_present_e))
            return false;
          if (!this.e.equals(that.e))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        boolean present_e = true && (is_set_e());
        list.add(present_e);
        if (present_e)
          list.add(e);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getTopologyConf_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_e()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getTopologyConf_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("e:");
        if (this.e == null) {
          sb.append("null");
        } else {
          sb.append(this.e);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getTopologyConf_resultStandardSchemeFactory implements SchemeFactory {
        public getTopologyConf_resultStandardScheme getScheme() {
          return new getTopologyConf_resultStandardScheme();
        }
      }
  
      private static class getTopologyConf_resultStandardScheme extends StandardScheme<getTopologyConf_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getTopologyConf_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.STRING) {
                  struct.success = iprot.readString();
                  struct.set_success_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 1: // E
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.e = new NotAliveException();
                  struct.e.read(iprot);
                  struct.set_e_isSet(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, getTopologyConf_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            oprot.writeString(struct.success);
            oprot.writeFieldEnd();
          }
          if (struct.e != null) {
            oprot.writeFieldBegin(E_FIELD_DESC);
            struct.e.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getTopologyConf_resultTupleSchemeFactory implements SchemeFactory {
        public getTopologyConf_resultTupleScheme getScheme() {
          return new getTopologyConf_resultTupleScheme();
        }
      }
  
      private static class getTopologyConf_resultTupleScheme extends TupleScheme<getTopologyConf_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getTopologyConf_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          if (struct.is_set_e()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_success()) {
            oprot.writeString(struct.success);
          }
          if (struct.is_set_e()) {
            struct.e.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getTopologyConf_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.success = iprot.readString();
            struct.set_success_isSet(true);
          }
          if (incoming.get(1)) {
            struct.e = new NotAliveException();
            struct.e.read(iprot);
            struct.set_e_isSet(true);
          }
        }
      }
  
    }
  
    public static class getTopologyId_args implements org.apache.thrift.TBase<getTopologyId_args, getTopologyId_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyId_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTopologyId_args");
  
      private static final org.apache.thrift.protocol.TField TOPOLOGY_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyName", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getTopologyId_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getTopologyId_argsTupleSchemeFactory());
      }
  
      private String topologyName; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TOPOLOGY_NAME((short)1, "topologyName");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TOPOLOGY_NAME
              return TOPOLOGY_NAME;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TOPOLOGY_NAME, new org.apache.thrift.meta_data.FieldMetaData("topologyName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyId_args.class, metaDataMap);
      }
  
      public getTopologyId_args() {
      }
  
      public getTopologyId_args(
        String topologyName)
      {
        this();
        this.topologyName = topologyName;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getTopologyId_args(getTopologyId_args other) {
        if (other.is_set_topologyName()) {
          this.topologyName = other.topologyName;
        }
      }
  
      public getTopologyId_args deepCopy() {
        return new getTopologyId_args(this);
      }
  
      @Override
      public void clear() {
        this.topologyName = null;
      }
  
      public String get_topologyName() {
        return this.topologyName;
      }
  
      public void set_topologyName(String topologyName) {
        this.topologyName = topologyName;
      }
  
      public void unset_topologyName() {
        this.topologyName = null;
      }
  
      /** Returns true if field topologyName is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyName() {
        return this.topologyName != null;
      }
  
      public void set_topologyName_isSet(boolean value) {
        if (!value) {
          this.topologyName = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TOPOLOGY_NAME:
          if (value == null) {
            unset_topologyName();
          } else {
            set_topologyName((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TOPOLOGY_NAME:
          return get_topologyName();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TOPOLOGY_NAME:
          return is_set_topologyName();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getTopologyId_args)
          return this.equals((getTopologyId_args)that);
        return false;
      }
  
      public boolean equals(getTopologyId_args that) {
        if (that == null)
          return false;
  
        boolean this_present_topologyName = true && this.is_set_topologyName();
        boolean that_present_topologyName = true && that.is_set_topologyName();
        if (this_present_topologyName || that_present_topologyName) {
          if (!(this_present_topologyName && that_present_topologyName))
            return false;
          if (!this.topologyName.equals(that.topologyName))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_topologyName = true && (is_set_topologyName());
        list.add(present_topologyName);
        if (present_topologyName)
          list.add(topologyName);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getTopologyId_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_topologyName()).compareTo(other.is_set_topologyName());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyName()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyName, other.topologyName);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getTopologyId_args(");
        boolean first = true;
  
        sb.append("topologyName:");
        if (this.topologyName == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyName);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getTopologyId_argsStandardSchemeFactory implements SchemeFactory {
        public getTopologyId_argsStandardScheme getScheme() {
          return new getTopologyId_argsStandardScheme();
        }
      }
  
      private static class getTopologyId_argsStandardScheme extends StandardScheme<getTopologyId_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getTopologyId_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: // TOPOLOGY_NAME
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.topologyName = iprot.readString();
                  struct.set_topologyName_isSet(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, getTopologyId_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.topologyName != null) {
            oprot.writeFieldBegin(TOPOLOGY_NAME_FIELD_DESC);
            oprot.writeString(struct.topologyName);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getTopologyId_argsTupleSchemeFactory implements SchemeFactory {
        public getTopologyId_argsTupleScheme getScheme() {
          return new getTopologyId_argsTupleScheme();
        }
      }
  
      private static class getTopologyId_argsTupleScheme extends TupleScheme<getTopologyId_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getTopologyId_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_topologyName()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_topologyName()) {
            oprot.writeString(struct.topologyName);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getTopologyId_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.topologyName = iprot.readString();
            struct.set_topologyName_isSet(true);
          }
        }
      }
  
    }
  
    public static class getTopologyId_result implements org.apache.thrift.TBase<getTopologyId_result, getTopologyId_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyId_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTopologyId_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
      private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", 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 getTopologyId_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getTopologyId_resultTupleSchemeFactory());
      }
  
      private String success; // required
      private NotAliveException e; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success"),
        E((short)1, "e");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            case 1: // E
              return E;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyId_result.class, metaDataMap);
      }
  
      public getTopologyId_result() {
      }
  
      public getTopologyId_result(
        String success,
        NotAliveException e)
      {
        this();
        this.success = success;
        this.e = e;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getTopologyId_result(getTopologyId_result other) {
        if (other.is_set_success()) {
          this.success = other.success;
        }
        if (other.is_set_e()) {
          this.e = new NotAliveException(other.e);
        }
      }
  
      public getTopologyId_result deepCopy() {
        return new getTopologyId_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
        this.e = null;
      }
  
      public String get_success() {
        return this.success;
      }
  
      public void set_success(String success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public NotAliveException get_e() {
        return this.e;
      }
  
      public void set_e(NotAliveException e) {
        this.e = e;
      }
  
      public void unset_e() {
        this.e = null;
      }
  
      /** Returns true if field e is set (has been assigned a value) and false otherwise */
      public boolean is_set_e() {
        return this.e != null;
      }
  
      public void set_e_isSet(boolean value) {
        if (!value) {
          this.e = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((String)value);
          }
          break;
  
        case E:
          if (value == null) {
            unset_e();
          } else {
            set_e((NotAliveException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        case E:
          return get_e();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        case E:
          return is_set_e();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getTopologyId_result)
          return this.equals((getTopologyId_result)that);
        return false;
      }
  
      public boolean equals(getTopologyId_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        boolean this_present_e = true && this.is_set_e();
        boolean that_present_e = true && that.is_set_e();
        if (this_present_e || that_present_e) {
          if (!(this_present_e && that_present_e))
            return false;
          if (!this.e.equals(that.e))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        boolean present_e = true && (is_set_e());
        list.add(present_e);
        if (present_e)
          list.add(e);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getTopologyId_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_e()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getTopologyId_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("e:");
        if (this.e == null) {
          sb.append("null");
        } else {
          sb.append(this.e);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getTopologyId_resultStandardSchemeFactory implements SchemeFactory {
        public getTopologyId_resultStandardScheme getScheme() {
          return new getTopologyId_resultStandardScheme();
        }
      }
  
      private static class getTopologyId_resultStandardScheme extends StandardScheme<getTopologyId_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getTopologyId_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.STRING) {
                  struct.success = iprot.readString();
                  struct.set_success_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 1: // E
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.e = new NotAliveException();
                  struct.e.read(iprot);
                  struct.set_e_isSet(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, getTopologyId_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            oprot.writeString(struct.success);
            oprot.writeFieldEnd();
          }
          if (struct.e != null) {
            oprot.writeFieldBegin(E_FIELD_DESC);
            struct.e.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getTopologyId_resultTupleSchemeFactory implements SchemeFactory {
        public getTopologyId_resultTupleScheme getScheme() {
          return new getTopologyId_resultTupleScheme();
        }
      }
  
      private static class getTopologyId_resultTupleScheme extends TupleScheme<getTopologyId_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getTopologyId_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          if (struct.is_set_e()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_success()) {
            oprot.writeString(struct.success);
          }
          if (struct.is_set_e()) {
            struct.e.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getTopologyId_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.success = iprot.readString();
            struct.set_success_isSet(true);
          }
          if (incoming.get(1)) {
            struct.e = new NotAliveException();
            struct.e.read(iprot);
            struct.set_e_isSet(true);
          }
        }
      }
  
    }
  
    public static class getClusterInfo_args implements org.apache.thrift.TBase<getClusterInfo_args, getClusterInfo_args._Fields>, java.io.Serializable, Cloneable, Comparable<getClusterInfo_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getClusterInfo_args");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getClusterInfo_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getClusterInfo_argsTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getClusterInfo_args.class, metaDataMap);
      }
  
      public getClusterInfo_args() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getClusterInfo_args(getClusterInfo_args other) {
      }
  
      public getClusterInfo_args deepCopy() {
        return new getClusterInfo_args(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getClusterInfo_args)
          return this.equals((getClusterInfo_args)that);
        return false;
      }
  
      public boolean equals(getClusterInfo_args that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getClusterInfo_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("getClusterInfo_args(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getClusterInfo_argsStandardSchemeFactory implements SchemeFactory {
        public getClusterInfo_argsStandardScheme getScheme() {
          return new getClusterInfo_argsStandardScheme();
        }
      }
  
      private static class getClusterInfo_argsStandardScheme extends StandardScheme<getClusterInfo_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getClusterInfo_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) {
              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, getClusterInfo_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getClusterInfo_argsTupleSchemeFactory implements SchemeFactory {
        public getClusterInfo_argsTupleScheme getScheme() {
          return new getClusterInfo_argsTupleScheme();
        }
      }
  
      private static class getClusterInfo_argsTupleScheme extends TupleScheme<getClusterInfo_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getClusterInfo_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getClusterInfo_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class getClusterInfo_result implements org.apache.thrift.TBase<getClusterInfo_result, getClusterInfo_result._Fields>, java.io.Serializable, Cloneable, Comparable<getClusterInfo_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getClusterInfo_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 getClusterInfo_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getClusterInfo_resultTupleSchemeFactory());
      }
  
      private ClusterSummary 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, ClusterSummary.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getClusterInfo_result.class, metaDataMap);
      }
  
      public getClusterInfo_result() {
      }
  
      public getClusterInfo_result(
        ClusterSummary success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getClusterInfo_result(getClusterInfo_result other) {
        if (other.is_set_success()) {
          this.success = new ClusterSummary(other.success);
        }
      }
  
      public getClusterInfo_result deepCopy() {
        return new getClusterInfo_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public ClusterSummary get_success() {
        return this.success;
      }
  
      public void set_success(ClusterSummary success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((ClusterSummary)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getClusterInfo_result)
          return this.equals((getClusterInfo_result)that);
        return false;
      }
  
      public boolean equals(getClusterInfo_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        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() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getClusterInfo_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.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("getClusterInfo_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 getClusterInfo_resultStandardSchemeFactory implements SchemeFactory {
        public getClusterInfo_resultStandardScheme getScheme() {
          return new getClusterInfo_resultStandardScheme();
        }
      }
  
      private static class getClusterInfo_resultStandardScheme extends StandardScheme<getClusterInfo_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getClusterInfo_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 ClusterSummary();
                  struct.success.read(iprot);
                  struct.set_success_isSet(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, getClusterInfo_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 getClusterInfo_resultTupleSchemeFactory implements SchemeFactory {
        public getClusterInfo_resultTupleScheme getScheme() {
          return new getClusterInfo_resultTupleScheme();
        }
      }
  
      private static class getClusterInfo_resultTupleScheme extends TupleScheme<getClusterInfo_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getClusterInfo_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_success()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getClusterInfo_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new ClusterSummary();
            struct.success.read(iprot);
            struct.set_success_isSet(true);
          }
        }
      }
  
    }
  
    public static class getSupervisorWorkers_args implements org.apache.thrift.TBase<getSupervisorWorkers_args, getSupervisorWorkers_args._Fields>, java.io.Serializable, Cloneable, Comparable<getSupervisorWorkers_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSupervisorWorkers_args");
  
      private static final org.apache.thrift.protocol.TField HOST_FIELD_DESC = new org.apache.thrift.protocol.TField("host", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getSupervisorWorkers_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getSupervisorWorkers_argsTupleSchemeFactory());
      }
  
      private String host; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        HOST((short)1, "host");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // HOST
              return HOST;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.HOST, new org.apache.thrift.meta_data.FieldMetaData("host", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSupervisorWorkers_args.class, metaDataMap);
      }
  
      public getSupervisorWorkers_args() {
      }
  
      public getSupervisorWorkers_args(
        String host)
      {
        this();
        this.host = host;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getSupervisorWorkers_args(getSupervisorWorkers_args other) {
        if (other.is_set_host()) {
          this.host = other.host;
        }
      }
  
      public getSupervisorWorkers_args deepCopy() {
        return new getSupervisorWorkers_args(this);
      }
  
      @Override
      public void clear() {
        this.host = null;
      }
  
      public String get_host() {
        return this.host;
      }
  
      public void set_host(String host) {
        this.host = host;
      }
  
      public void unset_host() {
        this.host = null;
      }
  
      /** Returns true if field host is set (has been assigned a value) and false otherwise */
      public boolean is_set_host() {
        return this.host != null;
      }
  
      public void set_host_isSet(boolean value) {
        if (!value) {
          this.host = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case HOST:
          if (value == null) {
            unset_host();
          } else {
            set_host((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case HOST:
          return get_host();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case HOST:
          return is_set_host();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getSupervisorWorkers_args)
          return this.equals((getSupervisorWorkers_args)that);
        return false;
      }
  
      public boolean equals(getSupervisorWorkers_args that) {
        if (that == null)
          return false;
  
        boolean this_present_host = true && this.is_set_host();
        boolean that_present_host = true && that.is_set_host();
        if (this_present_host || that_present_host) {
          if (!(this_present_host && that_present_host))
            return false;
          if (!this.host.equals(that.host))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_host = true && (is_set_host());
        list.add(present_host);
        if (present_host)
          list.add(host);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getSupervisorWorkers_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_host()).compareTo(other.is_set_host());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_host()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.host, other.host);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getSupervisorWorkers_args(");
        boolean first = true;
  
        sb.append("host:");
        if (this.host == null) {
          sb.append("null");
        } else {
          sb.append(this.host);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getSupervisorWorkers_argsStandardSchemeFactory implements SchemeFactory {
        public getSupervisorWorkers_argsStandardScheme getScheme() {
          return new getSupervisorWorkers_argsStandardScheme();
        }
      }
  
      private static class getSupervisorWorkers_argsStandardScheme extends StandardScheme<getSupervisorWorkers_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getSupervisorWorkers_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: // HOST
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.host = iprot.readString();
                  struct.set_host_isSet(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, getSupervisorWorkers_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.host != null) {
            oprot.writeFieldBegin(HOST_FIELD_DESC);
            oprot.writeString(struct.host);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getSupervisorWorkers_argsTupleSchemeFactory implements SchemeFactory {
        public getSupervisorWorkers_argsTupleScheme getScheme() {
          return new getSupervisorWorkers_argsTupleScheme();
        }
      }
  
      private static class getSupervisorWorkers_argsTupleScheme extends TupleScheme<getSupervisorWorkers_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getSupervisorWorkers_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_host()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_host()) {
            oprot.writeString(struct.host);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getSupervisorWorkers_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.host = iprot.readString();
            struct.set_host_isSet(true);
          }
        }
      }
  
    }
  
    public static class getSupervisorWorkers_result implements org.apache.thrift.TBase<getSupervisorWorkers_result, getSupervisorWorkers_result._Fields>, java.io.Serializable, Cloneable, Comparable<getSupervisorWorkers_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSupervisorWorkers_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
      private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", 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 getSupervisorWorkers_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getSupervisorWorkers_resultTupleSchemeFactory());
      }
  
      private SupervisorWorkers success; // required
      private NotAliveException e; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success"),
        E((short)1, "e");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            case 1: // E
              return E;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.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, SupervisorWorkers.class)));
        tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSupervisorWorkers_result.class, metaDataMap);
      }
  
      public getSupervisorWorkers_result() {
      }
  
      public getSupervisorWorkers_result(
        SupervisorWorkers success,
        NotAliveException e)
      {
        this();
        this.success = success;
        this.e = e;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getSupervisorWorkers_result(getSupervisorWorkers_result other) {
        if (other.is_set_success()) {
          this.success = new SupervisorWorkers(other.success);
        }
        if (other.is_set_e()) {
          this.e = new NotAliveException(other.e);
        }
      }
  
      public getSupervisorWorkers_result deepCopy() {
        return new getSupervisorWorkers_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
        this.e = null;
      }
  
      public SupervisorWorkers get_success() {
        return this.success;
      }
  
      public void set_success(SupervisorWorkers success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public NotAliveException get_e() {
        return this.e;
      }
  
      public void set_e(NotAliveException e) {
        this.e = e;
      }
  
      public void unset_e() {
        this.e = null;
      }
  
      /** Returns true if field e is set (has been assigned a value) and false otherwise */
      public boolean is_set_e() {
        return this.e != null;
      }
  
      public void set_e_isSet(boolean value) {
        if (!value) {
          this.e = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((SupervisorWorkers)value);
          }
          break;
  
        case E:
          if (value == null) {
            unset_e();
          } else {
            set_e((NotAliveException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        case E:
          return get_e();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        case E:
          return is_set_e();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getSupervisorWorkers_result)
          return this.equals((getSupervisorWorkers_result)that);
        return false;
      }
  
      public boolean equals(getSupervisorWorkers_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        boolean this_present_e = true && this.is_set_e();
        boolean that_present_e = true && that.is_set_e();
        if (this_present_e || that_present_e) {
          if (!(this_present_e && that_present_e))
            return false;
          if (!this.e.equals(that.e))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        boolean present_e = true && (is_set_e());
        list.add(present_e);
        if (present_e)
          list.add(e);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getSupervisorWorkers_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_e()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getSupervisorWorkers_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("e:");
        if (this.e == null) {
          sb.append("null");
        } else {
          sb.append(this.e);
        }
        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 getSupervisorWorkers_resultStandardSchemeFactory implements SchemeFactory {
        public getSupervisorWorkers_resultStandardScheme getScheme() {
          return new getSupervisorWorkers_resultStandardScheme();
        }
      }
  
      private static class getSupervisorWorkers_resultStandardScheme extends StandardScheme<getSupervisorWorkers_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getSupervisorWorkers_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 SupervisorWorkers();
                  struct.success.read(iprot);
                  struct.set_success_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 1: // E
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.e = new NotAliveException();
                  struct.e.read(iprot);
                  struct.set_e_isSet(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, getSupervisorWorkers_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();
          }
          if (struct.e != null) {
            oprot.writeFieldBegin(E_FIELD_DESC);
            struct.e.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getSupervisorWorkers_resultTupleSchemeFactory implements SchemeFactory {
        public getSupervisorWorkers_resultTupleScheme getScheme() {
          return new getSupervisorWorkers_resultTupleScheme();
        }
      }
  
      private static class getSupervisorWorkers_resultTupleScheme extends TupleScheme<getSupervisorWorkers_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getSupervisorWorkers_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          if (struct.is_set_e()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_success()) {
            struct.success.write(oprot);
          }
          if (struct.is_set_e()) {
            struct.e.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getSupervisorWorkers_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.success = new SupervisorWorkers();
            struct.success.read(iprot);
            struct.set_success_isSet(true);
          }
          if (incoming.get(1)) {
            struct.e = new NotAliveException();
            struct.e.read(iprot);
            struct.set_e_isSet(true);
          }
        }
      }
  
    }
  
    public static class getSupervisorWorkersById_args implements org.apache.thrift.TBase<getSupervisorWorkersById_args, getSupervisorWorkersById_args._Fields>, java.io.Serializable, Cloneable, Comparable<getSupervisorWorkersById_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSupervisorWorkersById_args");
  
      private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getSupervisorWorkersById_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getSupervisorWorkersById_argsTupleSchemeFactory());
      }
  
      private String id; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        ID((short)1, "id");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // ID
              return ID;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSupervisorWorkersById_args.class, metaDataMap);
      }
  
      public getSupervisorWorkersById_args() {
      }
  
      public getSupervisorWorkersById_args(
        String id)
      {
        this();
        this.id = id;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getSupervisorWorkersById_args(getSupervisorWorkersById_args other) {
        if (other.is_set_id()) {
          this.id = other.id;
        }
      }
  
      public getSupervisorWorkersById_args deepCopy() {
        return new getSupervisorWorkersById_args(this);
      }
  
      @Override
      public void clear() {
        this.id = null;
      }
  
      public String get_id() {
        return this.id;
      }
  
      public void set_id(String id) {
        this.id = id;
      }
  
      public void unset_id() {
        this.id = null;
      }
  
      /** Returns true if field id is set (has been assigned a value) and false otherwise */
      public boolean is_set_id() {
        return this.id != null;
      }
  
      public void set_id_isSet(boolean value) {
        if (!value) {
          this.id = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case ID:
          if (value == null) {
            unset_id();
          } else {
            set_id((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case ID:
          return get_id();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case ID:
          return is_set_id();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getSupervisorWorkersById_args)
          return this.equals((getSupervisorWorkersById_args)that);
        return false;
      }
  
      public boolean equals(getSupervisorWorkersById_args that) {
        if (that == null)
          return false;
  
        boolean this_present_id = true && this.is_set_id();
        boolean that_present_id = true && that.is_set_id();
        if (this_present_id || that_present_id) {
          if (!(this_present_id && that_present_id))
            return false;
          if (!this.id.equals(that.id))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_id = true && (is_set_id());
        list.add(present_id);
        if (present_id)
          list.add(id);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getSupervisorWorkersById_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_id()).compareTo(other.is_set_id());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_id()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, other.id);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        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("getSupervisorWorkersById_args(");
        boolean first = true;
  
        sb.append("id:");
        if (this.id == null) {
          sb.append("null");
        } else {
          sb.append(this.id);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getSupervisorWorkersById_argsStandardSchemeFactory implements SchemeFactory {
        public getSupervisorWorkersById_argsStandardScheme getScheme() {
          return new getSupervisorWorkersById_argsStandardScheme();
        }
      }
  
      private static class getSupervisorWorkersById_argsStandardScheme extends StandardScheme<getSupervisorWorkersById_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getSupervisorWorkersById_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: // ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.id = iprot.readString();
                  struct.set_id_isSet(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, getSupervisorWorkersById_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.id != null) {
            oprot.writeFieldBegin(ID_FIELD_DESC);
            oprot.writeString(struct.id);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getSupervisorWorkersById_argsTupleSchemeFactory implements SchemeFactory {
        public getSupervisorWorkersById_argsTupleScheme getScheme() {
          return new getSupervisorWorkersById_argsTupleScheme();
        }
      }
  
      private static class getSupervisorWorkersById_argsTupleScheme extends TupleScheme<getSupervisorWorkersById_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getSupervisorWorkersById_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_id()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_id()) {
            oprot.writeString(struct.id);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getSupervisorWorkersById_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.id = iprot.readString();
            struct.set_id_isSet(true);
          }
        }
      }
  
    }
  
    public static class getSupervisorWorkersById_result implements org.apache.thrift.TBase<getSupervisorWorkersById_result, getSupervisorWorkersById_result._Fields>, java.io.Serializable, Cloneable, Comparable<getSupervisorWorkersById_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSupervisorWorkersById_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
      private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", 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 getSupervisorWorkersById_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getSupervisorWorkersById_resultTupleSchemeFactory());
      }
  
      private SupervisorWorkers success; // required
      private NotAliveException e; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success"),
        E((short)1, "e");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            case 1: // E
              return E;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.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, SupervisorWorkers.class)));
        tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSupervisorWorkersById_result.class, metaDataMap);
      }
  
      public getSupervisorWorkersById_result() {
      }
  
      public getSupervisorWorkersById_result(
        SupervisorWorkers success,
        NotAliveException e)
      {
        this();
        this.success = success;
        this.e = e;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getSupervisorWorkersById_result(getSupervisorWorkersById_result other) {
        if (other.is_set_success()) {
          this.success = new SupervisorWorkers(other.success);
        }
        if (other.is_set_e()) {
          this.e = new NotAliveException(other.e);
        }
      }
  
      public getSupervisorWorkersById_result deepCopy() {
        return new getSupervisorWorkersById_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
        this.e = null;
      }
  
      public SupervisorWorkers get_success() {
        return this.success;
      }
  
      public void set_success(SupervisorWorkers success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public NotAliveException get_e() {
        return this.e;
      }
  
      public void set_e(NotAliveException e) {
        this.e = e;
      }
  
      public void unset_e() {
        this.e = null;
      }
  
      /** Returns true if field e is set (has been assigned a value) and false otherwise */
      public boolean is_set_e() {
        return this.e != null;
      }
  
      public void set_e_isSet(boolean value) {
        if (!value) {
          this.e = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((SupervisorWorkers)value);
          }
          break;
  
        case E:
          if (value == null) {
            unset_e();
          } else {
            set_e((NotAliveException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        case E:
          return get_e();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        case E:
          return is_set_e();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getSupervisorWorkersById_result)
          return this.equals((getSupervisorWorkersById_result)that);
        return false;
      }
  
      public boolean equals(getSupervisorWorkersById_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        boolean this_present_e = true && this.is_set_e();
        boolean that_present_e = true && that.is_set_e();
        if (this_present_e || that_present_e) {
          if (!(this_present_e && that_present_e))
            return false;
          if (!this.e.equals(that.e))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        boolean present_e = true && (is_set_e());
        list.add(present_e);
        if (present_e)
          list.add(e);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getSupervisorWorkersById_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_e()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getSupervisorWorkersById_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("e:");
        if (this.e == null) {
          sb.append("null");
        } else {
          sb.append(this.e);
        }
        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 getSupervisorWorkersById_resultStandardSchemeFactory implements SchemeFactory {
        public getSupervisorWorkersById_resultStandardScheme getScheme() {
          return new getSupervisorWorkersById_resultStandardScheme();
        }
      }
  
      private static class getSupervisorWorkersById_resultStandardScheme extends StandardScheme<getSupervisorWorkersById_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getSupervisorWorkersById_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 SupervisorWorkers();
                  struct.success.read(iprot);
                  struct.set_success_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 1: // E
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.e = new NotAliveException();
                  struct.e.read(iprot);
                  struct.set_e_isSet(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, getSupervisorWorkersById_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();
          }
          if (struct.e != null) {
            oprot.writeFieldBegin(E_FIELD_DESC);
            struct.e.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getSupervisorWorkersById_resultTupleSchemeFactory implements SchemeFactory {
        public getSupervisorWorkersById_resultTupleScheme getScheme() {
          return new getSupervisorWorkersById_resultTupleScheme();
        }
      }
  
      private static class getSupervisorWorkersById_resultTupleScheme extends TupleScheme<getSupervisorWorkersById_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getSupervisorWorkersById_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          if (struct.is_set_e()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_success()) {
            struct.success.write(oprot);
          }
          if (struct.is_set_e()) {
            struct.e.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getSupervisorWorkersById_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.success = new SupervisorWorkers();
            struct.success.read(iprot);
            struct.set_success_isSet(true);
          }
          if (incoming.get(1)) {
            struct.e = new NotAliveException();
            struct.e.read(iprot);
            struct.set_e_isSet(true);
          }
        }
      }
  
    }
  
    public static class getTopologyInfo_args implements org.apache.thrift.TBase<getTopologyInfo_args, getTopologyInfo_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyInfo_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTopologyInfo_args");
  
      private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getTopologyInfo_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getTopologyInfo_argsTupleSchemeFactory());
      }
  
      private String id; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        ID((short)1, "id");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // ID
              return ID;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyInfo_args.class, metaDataMap);
      }
  
      public getTopologyInfo_args() {
      }
  
      public getTopologyInfo_args(
        String id)
      {
        this();
        this.id = id;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getTopologyInfo_args(getTopologyInfo_args other) {
        if (other.is_set_id()) {
          this.id = other.id;
        }
      }
  
      public getTopologyInfo_args deepCopy() {
        return new getTopologyInfo_args(this);
      }
  
      @Override
      public void clear() {
        this.id = null;
      }
  
      public String get_id() {
        return this.id;
      }
  
      public void set_id(String id) {
        this.id = id;
      }
  
      public void unset_id() {
        this.id = null;
      }
  
      /** Returns true if field id is set (has been assigned a value) and false otherwise */
      public boolean is_set_id() {
        return this.id != null;
      }
  
      public void set_id_isSet(boolean value) {
        if (!value) {
          this.id = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case ID:
          if (value == null) {
            unset_id();
          } else {
            set_id((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case ID:
          return get_id();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case ID:
          return is_set_id();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getTopologyInfo_args)
          return this.equals((getTopologyInfo_args)that);
        return false;
      }
  
      public boolean equals(getTopologyInfo_args that) {
        if (that == null)
          return false;
  
        boolean this_present_id = true && this.is_set_id();
        boolean that_present_id = true && that.is_set_id();
        if (this_present_id || that_present_id) {
          if (!(this_present_id && that_present_id))
            return false;
          if (!this.id.equals(that.id))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_id = true && (is_set_id());
        list.add(present_id);
        if (present_id)
          list.add(id);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getTopologyInfo_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_id()).compareTo(other.is_set_id());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_id()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, other.id);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        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("getTopologyInfo_args(");
        boolean first = true;
  
        sb.append("id:");
        if (this.id == null) {
          sb.append("null");
        } else {
          sb.append(this.id);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getTopologyInfo_argsStandardSchemeFactory implements SchemeFactory {
        public getTopologyInfo_argsStandardScheme getScheme() {
          return new getTopologyInfo_argsStandardScheme();
        }
      }
  
      private static class getTopologyInfo_argsStandardScheme extends StandardScheme<getTopologyInfo_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getTopologyInfo_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: // ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.id = iprot.readString();
                  struct.set_id_isSet(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, getTopologyInfo_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.id != null) {
            oprot.writeFieldBegin(ID_FIELD_DESC);
            oprot.writeString(struct.id);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getTopologyInfo_argsTupleSchemeFactory implements SchemeFactory {
        public getTopologyInfo_argsTupleScheme getScheme() {
          return new getTopologyInfo_argsTupleScheme();
        }
      }
  
      private static class getTopologyInfo_argsTupleScheme extends TupleScheme<getTopologyInfo_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getTopologyInfo_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_id()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_id()) {
            oprot.writeString(struct.id);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getTopologyInfo_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.id = iprot.readString();
            struct.set_id_isSet(true);
          }
        }
      }
  
    }
  
    public static class getTopologyInfo_result implements org.apache.thrift.TBase<getTopologyInfo_result, getTopologyInfo_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyInfo_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTopologyInfo_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
      private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", 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 getTopologyInfo_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getTopologyInfo_resultTupleSchemeFactory());
      }
  
      private TopologyInfo success; // required
      private NotAliveException e; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success"),
        E((short)1, "e");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            case 1: // E
              return E;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.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, TopologyInfo.class)));
        tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyInfo_result.class, metaDataMap);
      }
  
      public getTopologyInfo_result() {
      }
  
      public getTopologyInfo_result(
        TopologyInfo success,
        NotAliveException e)
      {
        this();
        this.success = success;
        this.e = e;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getTopologyInfo_result(getTopologyInfo_result other) {
        if (other.is_set_success()) {
          this.success = new TopologyInfo(other.success);
        }
        if (other.is_set_e()) {
          this.e = new NotAliveException(other.e);
        }
      }
  
      public getTopologyInfo_result deepCopy() {
        return new getTopologyInfo_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
        this.e = null;
      }
  
      public TopologyInfo get_success() {
        return this.success;
      }
  
      public void set_success(TopologyInfo success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public NotAliveException get_e() {
        return this.e;
      }
  
      public void set_e(NotAliveException e) {
        this.e = e;
      }
  
      public void unset_e() {
        this.e = null;
      }
  
      /** Returns true if field e is set (has been assigned a value) and false otherwise */
      public boolean is_set_e() {
        return this.e != null;
      }
  
      public void set_e_isSet(boolean value) {
        if (!value) {
          this.e = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((TopologyInfo)value);
          }
          break;
  
        case E:
          if (value == null) {
            unset_e();
          } else {
            set_e((NotAliveException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        case E:
          return get_e();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        case E:
          return is_set_e();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getTopologyInfo_result)
          return this.equals((getTopologyInfo_result)that);
        return false;
      }
  
      public boolean equals(getTopologyInfo_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        boolean this_present_e = true && this.is_set_e();
        boolean that_present_e = true && that.is_set_e();
        if (this_present_e || that_present_e) {
          if (!(this_present_e && that_present_e))
            return false;
          if (!this.e.equals(that.e))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        boolean present_e = true && (is_set_e());
        list.add(present_e);
        if (present_e)
          list.add(e);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getTopologyInfo_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_e()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getTopologyInfo_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("e:");
        if (this.e == null) {
          sb.append("null");
        } else {
          sb.append(this.e);
        }
        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 getTopologyInfo_resultStandardSchemeFactory implements SchemeFactory {
        public getTopologyInfo_resultStandardScheme getScheme() {
          return new getTopologyInfo_resultStandardScheme();
        }
      }
  
      private static class getTopologyInfo_resultStandardScheme extends StandardScheme<getTopologyInfo_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getTopologyInfo_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 TopologyInfo();
                  struct.success.read(iprot);
                  struct.set_success_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 1: // E
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.e = new NotAliveException();
                  struct.e.read(iprot);
                  struct.set_e_isSet(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, getTopologyInfo_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();
          }
          if (struct.e != null) {
            oprot.writeFieldBegin(E_FIELD_DESC);
            struct.e.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getTopologyInfo_resultTupleSchemeFactory implements SchemeFactory {
        public getTopologyInfo_resultTupleScheme getScheme() {
          return new getTopologyInfo_resultTupleScheme();
        }
      }
  
      private static class getTopologyInfo_resultTupleScheme extends TupleScheme<getTopologyInfo_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getTopologyInfo_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          if (struct.is_set_e()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_success()) {
            struct.success.write(oprot);
          }
          if (struct.is_set_e()) {
            struct.e.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getTopologyInfo_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.success = new TopologyInfo();
            struct.success.read(iprot);
            struct.set_success_isSet(true);
          }
          if (incoming.get(1)) {
            struct.e = new NotAliveException();
            struct.e.read(iprot);
            struct.set_e_isSet(true);
          }
        }
      }
  
    }
  
    public static class getTopologyInfoByName_args implements org.apache.thrift.TBase<getTopologyInfoByName_args, getTopologyInfoByName_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyInfoByName_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTopologyInfoByName_args");
  
      private static final org.apache.thrift.protocol.TField TOPOLOGY_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyName", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getTopologyInfoByName_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getTopologyInfoByName_argsTupleSchemeFactory());
      }
  
      private String topologyName; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TOPOLOGY_NAME((short)1, "topologyName");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TOPOLOGY_NAME
              return TOPOLOGY_NAME;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TOPOLOGY_NAME, new org.apache.thrift.meta_data.FieldMetaData("topologyName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyInfoByName_args.class, metaDataMap);
      }
  
      public getTopologyInfoByName_args() {
      }
  
      public getTopologyInfoByName_args(
        String topologyName)
      {
        this();
        this.topologyName = topologyName;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getTopologyInfoByName_args(getTopologyInfoByName_args other) {
        if (other.is_set_topologyName()) {
          this.topologyName = other.topologyName;
        }
      }
  
      public getTopologyInfoByName_args deepCopy() {
        return new getTopologyInfoByName_args(this);
      }
  
      @Override
      public void clear() {
        this.topologyName = null;
      }
  
      public String get_topologyName() {
        return this.topologyName;
      }
  
      public void set_topologyName(String topologyName) {
        this.topologyName = topologyName;
      }
  
      public void unset_topologyName() {
        this.topologyName = null;
      }
  
      /** Returns true if field topologyName is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyName() {
        return this.topologyName != null;
      }
  
      public void set_topologyName_isSet(boolean value) {
        if (!value) {
          this.topologyName = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TOPOLOGY_NAME:
          if (value == null) {
            unset_topologyName();
          } else {
            set_topologyName((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TOPOLOGY_NAME:
          return get_topologyName();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TOPOLOGY_NAME:
          return is_set_topologyName();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getTopologyInfoByName_args)
          return this.equals((getTopologyInfoByName_args)that);
        return false;
      }
  
      public boolean equals(getTopologyInfoByName_args that) {
        if (that == null)
          return false;
  
        boolean this_present_topologyName = true && this.is_set_topologyName();
        boolean that_present_topologyName = true && that.is_set_topologyName();
        if (this_present_topologyName || that_present_topologyName) {
          if (!(this_present_topologyName && that_present_topologyName))
            return false;
          if (!this.topologyName.equals(that.topologyName))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_topologyName = true && (is_set_topologyName());
        list.add(present_topologyName);
        if (present_topologyName)
          list.add(topologyName);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getTopologyInfoByName_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_topologyName()).compareTo(other.is_set_topologyName());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyName()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyName, other.topologyName);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getTopologyInfoByName_args(");
        boolean first = true;
  
        sb.append("topologyName:");
        if (this.topologyName == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyName);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getTopologyInfoByName_argsStandardSchemeFactory implements SchemeFactory {
        public getTopologyInfoByName_argsStandardScheme getScheme() {
          return new getTopologyInfoByName_argsStandardScheme();
        }
      }
  
      private static class getTopologyInfoByName_argsStandardScheme extends StandardScheme<getTopologyInfoByName_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getTopologyInfoByName_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: // TOPOLOGY_NAME
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.topologyName = iprot.readString();
                  struct.set_topologyName_isSet(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, getTopologyInfoByName_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.topologyName != null) {
            oprot.writeFieldBegin(TOPOLOGY_NAME_FIELD_DESC);
            oprot.writeString(struct.topologyName);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getTopologyInfoByName_argsTupleSchemeFactory implements SchemeFactory {
        public getTopologyInfoByName_argsTupleScheme getScheme() {
          return new getTopologyInfoByName_argsTupleScheme();
        }
      }
  
      private static class getTopologyInfoByName_argsTupleScheme extends TupleScheme<getTopologyInfoByName_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getTopologyInfoByName_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_topologyName()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_topologyName()) {
            oprot.writeString(struct.topologyName);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getTopologyInfoByName_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.topologyName = iprot.readString();
            struct.set_topologyName_isSet(true);
          }
        }
      }
  
    }
  
    public static class getTopologyInfoByName_result implements org.apache.thrift.TBase<getTopologyInfoByName_result, getTopologyInfoByName_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyInfoByName_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTopologyInfoByName_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
      private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", 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 getTopologyInfoByName_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getTopologyInfoByName_resultTupleSchemeFactory());
      }
  
      private TopologyInfo success; // required
      private NotAliveException e; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success"),
        E((short)1, "e");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            case 1: // E
              return E;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.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, TopologyInfo.class)));
        tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyInfoByName_result.class, metaDataMap);
      }
  
      public getTopologyInfoByName_result() {
      }
  
      public getTopologyInfoByName_result(
        TopologyInfo success,
        NotAliveException e)
      {
        this();
        this.success = success;
        this.e = e;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getTopologyInfoByName_result(getTopologyInfoByName_result other) {
        if (other.is_set_success()) {
          this.success = new TopologyInfo(other.success);
        }
        if (other.is_set_e()) {
          this.e = new NotAliveException(other.e);
        }
      }
  
      public getTopologyInfoByName_result deepCopy() {
        return new getTopologyInfoByName_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
        this.e = null;
      }
  
      public TopologyInfo get_success() {
        return this.success;
      }
  
      public void set_success(TopologyInfo success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public NotAliveException get_e() {
        return this.e;
      }
  
      public void set_e(NotAliveException e) {
        this.e = e;
      }
  
      public void unset_e() {
        this.e = null;
      }
  
      /** Returns true if field e is set (has been assigned a value) and false otherwise */
      public boolean is_set_e() {
        return this.e != null;
      }
  
      public void set_e_isSet(boolean value) {
        if (!value) {
          this.e = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((TopologyInfo)value);
          }
          break;
  
        case E:
          if (value == null) {
            unset_e();
          } else {
            set_e((NotAliveException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        case E:
          return get_e();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        case E:
          return is_set_e();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getTopologyInfoByName_result)
          return this.equals((getTopologyInfoByName_result)that);
        return false;
      }
  
      public boolean equals(getTopologyInfoByName_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        boolean this_present_e = true && this.is_set_e();
        boolean that_present_e = true && that.is_set_e();
        if (this_present_e || that_present_e) {
          if (!(this_present_e && that_present_e))
            return false;
          if (!this.e.equals(that.e))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        boolean present_e = true && (is_set_e());
        list.add(present_e);
        if (present_e)
          list.add(e);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getTopologyInfoByName_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_e()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getTopologyInfoByName_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("e:");
        if (this.e == null) {
          sb.append("null");
        } else {
          sb.append(this.e);
        }
        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 getTopologyInfoByName_resultStandardSchemeFactory implements SchemeFactory {
        public getTopologyInfoByName_resultStandardScheme getScheme() {
          return new getTopologyInfoByName_resultStandardScheme();
        }
      }
  
      private static class getTopologyInfoByName_resultStandardScheme extends StandardScheme<getTopologyInfoByName_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getTopologyInfoByName_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 TopologyInfo();
                  struct.success.read(iprot);
                  struct.set_success_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 1: // E
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.e = new NotAliveException();
                  struct.e.read(iprot);
                  struct.set_e_isSet(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, getTopologyInfoByName_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();
          }
          if (struct.e != null) {
            oprot.writeFieldBegin(E_FIELD_DESC);
            struct.e.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getTopologyInfoByName_resultTupleSchemeFactory implements SchemeFactory {
        public getTopologyInfoByName_resultTupleScheme getScheme() {
          return new getTopologyInfoByName_resultTupleScheme();
        }
      }
  
      private static class getTopologyInfoByName_resultTupleScheme extends TupleScheme<getTopologyInfoByName_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getTopologyInfoByName_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          if (struct.is_set_e()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_success()) {
            struct.success.write(oprot);
          }
          if (struct.is_set_e()) {
            struct.e.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getTopologyInfoByName_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.success = new TopologyInfo();
            struct.success.read(iprot);
            struct.set_success_isSet(true);
          }
          if (incoming.get(1)) {
            struct.e = new NotAliveException();
            struct.e.read(iprot);
            struct.set_e_isSet(true);
          }
        }
      }
  
    }
  
    public static class getTopologyTasksToSupervisorIds_args implements org.apache.thrift.TBase<getTopologyTasksToSupervisorIds_args, getTopologyTasksToSupervisorIds_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyTasksToSupervisorIds_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTopologyTasksToSupervisorIds_args");
  
      private static final org.apache.thrift.protocol.TField TOPOLOGY_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyName", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getTopologyTasksToSupervisorIds_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getTopologyTasksToSupervisorIds_argsTupleSchemeFactory());
      }
  
      private String topologyName; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TOPOLOGY_NAME((short)1, "topologyName");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TOPOLOGY_NAME
              return TOPOLOGY_NAME;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TOPOLOGY_NAME, new org.apache.thrift.meta_data.FieldMetaData("topologyName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyTasksToSupervisorIds_args.class, metaDataMap);
      }
  
      public getTopologyTasksToSupervisorIds_args() {
      }
  
      public getTopologyTasksToSupervisorIds_args(
        String topologyName)
      {
        this();
        this.topologyName = topologyName;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getTopologyTasksToSupervisorIds_args(getTopologyTasksToSupervisorIds_args other) {
        if (other.is_set_topologyName()) {
          this.topologyName = other.topologyName;
        }
      }
  
      public getTopologyTasksToSupervisorIds_args deepCopy() {
        return new getTopologyTasksToSupervisorIds_args(this);
      }
  
      @Override
      public void clear() {
        this.topologyName = null;
      }
  
      public String get_topologyName() {
        return this.topologyName;
      }
  
      public void set_topologyName(String topologyName) {
        this.topologyName = topologyName;
      }
  
      public void unset_topologyName() {
        this.topologyName = null;
      }
  
      /** Returns true if field topologyName is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyName() {
        return this.topologyName != null;
      }
  
      public void set_topologyName_isSet(boolean value) {
        if (!value) {
          this.topologyName = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TOPOLOGY_NAME:
          if (value == null) {
            unset_topologyName();
          } else {
            set_topologyName((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TOPOLOGY_NAME:
          return get_topologyName();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TOPOLOGY_NAME:
          return is_set_topologyName();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getTopologyTasksToSupervisorIds_args)
          return this.equals((getTopologyTasksToSupervisorIds_args)that);
        return false;
      }
  
      public boolean equals(getTopologyTasksToSupervisorIds_args that) {
        if (that == null)
          return false;
  
        boolean this_present_topologyName = true && this.is_set_topologyName();
        boolean that_present_topologyName = true && that.is_set_topologyName();
        if (this_present_topologyName || that_present_topologyName) {
          if (!(this_present_topologyName && that_present_topologyName))
            return false;
          if (!this.topologyName.equals(that.topologyName))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_topologyName = true && (is_set_topologyName());
        list.add(present_topologyName);
        if (present_topologyName)
          list.add(topologyName);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getTopologyTasksToSupervisorIds_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_topologyName()).compareTo(other.is_set_topologyName());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyName()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyName, other.topologyName);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getTopologyTasksToSupervisorIds_args(");
        boolean first = true;
  
        sb.append("topologyName:");
        if (this.topologyName == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyName);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getTopologyTasksToSupervisorIds_argsStandardSchemeFactory implements SchemeFactory {
        public getTopologyTasksToSupervisorIds_argsStandardScheme getScheme() {
          return new getTopologyTasksToSupervisorIds_argsStandardScheme();
        }
      }
  
      private static class getTopologyTasksToSupervisorIds_argsStandardScheme extends StandardScheme<getTopologyTasksToSupervisorIds_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getTopologyTasksToSupervisorIds_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: // TOPOLOGY_NAME
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.topologyName = iprot.readString();
                  struct.set_topologyName_isSet(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, getTopologyTasksToSupervisorIds_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.topologyName != null) {
            oprot.writeFieldBegin(TOPOLOGY_NAME_FIELD_DESC);
            oprot.writeString(struct.topologyName);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getTopologyTasksToSupervisorIds_argsTupleSchemeFactory implements SchemeFactory {
        public getTopologyTasksToSupervisorIds_argsTupleScheme getScheme() {
          return new getTopologyTasksToSupervisorIds_argsTupleScheme();
        }
      }
  
      private static class getTopologyTasksToSupervisorIds_argsTupleScheme extends TupleScheme<getTopologyTasksToSupervisorIds_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getTopologyTasksToSupervisorIds_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_topologyName()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_topologyName()) {
            oprot.writeString(struct.topologyName);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getTopologyTasksToSupervisorIds_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.topologyName = iprot.readString();
            struct.set_topologyName_isSet(true);
          }
        }
      }
  
    }
  
    public static class getTopologyTasksToSupervisorIds_result implements org.apache.thrift.TBase<getTopologyTasksToSupervisorIds_result, getTopologyTasksToSupervisorIds_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyTasksToSupervisorIds_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTopologyTasksToSupervisorIds_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);
      private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", 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 getTopologyTasksToSupervisorIds_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getTopologyTasksToSupervisorIds_resultTupleSchemeFactory());
      }
  
      private Map<Integer,String> success; // required
      private NotAliveException e; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success"),
        E((short)1, "e");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            case 1: // E
              return E;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
                new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32), 
                new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
        tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyTasksToSupervisorIds_result.class, metaDataMap);
      }
  
      public getTopologyTasksToSupervisorIds_result() {
      }
  
      public getTopologyTasksToSupervisorIds_result(
        Map<Integer,String> success,
        NotAliveException e)
      {
        this();
        this.success = success;
        this.e = e;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getTopologyTasksToSupervisorIds_result(getTopologyTasksToSupervisorIds_result other) {
        if (other.is_set_success()) {
          Map<Integer,String> __this__success = new HashMap<Integer,String>(other.success);
          this.success = __this__success;
        }
        if (other.is_set_e()) {
          this.e = new NotAliveException(other.e);
        }
      }
  
      public getTopologyTasksToSupervisorIds_result deepCopy() {
        return new getTopologyTasksToSupervisorIds_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
        this.e = null;
      }
  
      public int get_success_size() {
        return (this.success == null) ? 0 : this.success.size();
      }
  
      public void put_to_success(int key, String val) {
        if (this.success == null) {
          this.success = new HashMap<Integer,String>();
        }
        this.success.put(key, val);
      }
  
      public Map<Integer,String> get_success() {
        return this.success;
      }
  
      public void set_success(Map<Integer,String> success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public NotAliveException get_e() {
        return this.e;
      }
  
      public void set_e(NotAliveException e) {
        this.e = e;
      }
  
      public void unset_e() {
        this.e = null;
      }
  
      /** Returns true if field e is set (has been assigned a value) and false otherwise */
      public boolean is_set_e() {
        return this.e != null;
      }
  
      public void set_e_isSet(boolean value) {
        if (!value) {
          this.e = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((Map<Integer,String>)value);
          }
          break;
  
        case E:
          if (value == null) {
            unset_e();
          } else {
            set_e((NotAliveException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        case E:
          return get_e();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        case E:
          return is_set_e();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getTopologyTasksToSupervisorIds_result)
          return this.equals((getTopologyTasksToSupervisorIds_result)that);
        return false;
      }
  
      public boolean equals(getTopologyTasksToSupervisorIds_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        boolean this_present_e = true && this.is_set_e();
        boolean that_present_e = true && that.is_set_e();
        if (this_present_e || that_present_e) {
          if (!(this_present_e && that_present_e))
            return false;
          if (!this.e.equals(that.e))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        boolean present_e = true && (is_set_e());
        list.add(present_e);
        if (present_e)
          list.add(e);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getTopologyTasksToSupervisorIds_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_e()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getTopologyTasksToSupervisorIds_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("e:");
        if (this.e == null) {
          sb.append("null");
        } else {
          sb.append(this.e);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getTopologyTasksToSupervisorIds_resultStandardSchemeFactory implements SchemeFactory {
        public getTopologyTasksToSupervisorIds_resultStandardScheme getScheme() {
          return new getTopologyTasksToSupervisorIds_resultStandardScheme();
        }
      }
  
      private static class getTopologyTasksToSupervisorIds_resultStandardScheme extends StandardScheme<getTopologyTasksToSupervisorIds_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getTopologyTasksToSupervisorIds_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.MAP) {
                  {
                    org.apache.thrift.protocol.TMap _map232 = iprot.readMapBegin();
                    struct.success = new HashMap<Integer,String>(2*_map232.size);
                    int _key233;
                    String _val234;
                    for (int _i235 = 0; _i235 < _map232.size; ++_i235)
                    {
                      _key233 = iprot.readI32();
                      _val234 = iprot.readString();
                      struct.success.put(_key233, _val234);
                    }
                    iprot.readMapEnd();
                  }
                  struct.set_success_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 1: // E
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.e = new NotAliveException();
                  struct.e.read(iprot);
                  struct.set_e_isSet(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, getTopologyTasksToSupervisorIds_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            {
              oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING, struct.success.size()));
              for (Map.Entry<Integer, String> _iter236 : struct.success.entrySet())
              {
                oprot.writeI32(_iter236.getKey());
                oprot.writeString(_iter236.getValue());
              }
              oprot.writeMapEnd();
            }
            oprot.writeFieldEnd();
          }
          if (struct.e != null) {
            oprot.writeFieldBegin(E_FIELD_DESC);
            struct.e.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getTopologyTasksToSupervisorIds_resultTupleSchemeFactory implements SchemeFactory {
        public getTopologyTasksToSupervisorIds_resultTupleScheme getScheme() {
          return new getTopologyTasksToSupervisorIds_resultTupleScheme();
        }
      }
  
      private static class getTopologyTasksToSupervisorIds_resultTupleScheme extends TupleScheme<getTopologyTasksToSupervisorIds_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getTopologyTasksToSupervisorIds_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          if (struct.is_set_e()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_success()) {
            {
              oprot.writeI32(struct.success.size());
              for (Map.Entry<Integer, String> _iter237 : struct.success.entrySet())
              {
                oprot.writeI32(_iter237.getKey());
                oprot.writeString(_iter237.getValue());
              }
            }
          }
          if (struct.is_set_e()) {
            struct.e.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getTopologyTasksToSupervisorIds_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            {
              org.apache.thrift.protocol.TMap _map238 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
              struct.success = new HashMap<Integer,String>(2*_map238.size);
              int _key239;
              String _val240;
              for (int _i241 = 0; _i241 < _map238.size; ++_i241)
              {
                _key239 = iprot.readI32();
                _val240 = iprot.readString();
                struct.success.put(_key239, _val240);
              }
            }
            struct.set_success_isSet(true);
          }
          if (incoming.get(1)) {
            struct.e = new NotAliveException();
            struct.e.read(iprot);
            struct.set_e_isSet(true);
          }
        }
      }
  
    }
  
    public static class getTopologyWorkersToSupervisorIds_args implements org.apache.thrift.TBase<getTopologyWorkersToSupervisorIds_args, getTopologyWorkersToSupervisorIds_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyWorkersToSupervisorIds_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTopologyWorkersToSupervisorIds_args");
  
      private static final org.apache.thrift.protocol.TField TOPOLOGY_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyName", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getTopologyWorkersToSupervisorIds_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getTopologyWorkersToSupervisorIds_argsTupleSchemeFactory());
      }
  
      private String topologyName; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TOPOLOGY_NAME((short)1, "topologyName");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TOPOLOGY_NAME
              return TOPOLOGY_NAME;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TOPOLOGY_NAME, new org.apache.thrift.meta_data.FieldMetaData("topologyName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyWorkersToSupervisorIds_args.class, metaDataMap);
      }
  
      public getTopologyWorkersToSupervisorIds_args() {
      }
  
      public getTopologyWorkersToSupervisorIds_args(
        String topologyName)
      {
        this();
        this.topologyName = topologyName;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getTopologyWorkersToSupervisorIds_args(getTopologyWorkersToSupervisorIds_args other) {
        if (other.is_set_topologyName()) {
          this.topologyName = other.topologyName;
        }
      }
  
      public getTopologyWorkersToSupervisorIds_args deepCopy() {
        return new getTopologyWorkersToSupervisorIds_args(this);
      }
  
      @Override
      public void clear() {
        this.topologyName = null;
      }
  
      public String get_topologyName() {
        return this.topologyName;
      }
  
      public void set_topologyName(String topologyName) {
        this.topologyName = topologyName;
      }
  
      public void unset_topologyName() {
        this.topologyName = null;
      }
  
      /** Returns true if field topologyName is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyName() {
        return this.topologyName != null;
      }
  
      public void set_topologyName_isSet(boolean value) {
        if (!value) {
          this.topologyName = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TOPOLOGY_NAME:
          if (value == null) {
            unset_topologyName();
          } else {
            set_topologyName((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TOPOLOGY_NAME:
          return get_topologyName();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TOPOLOGY_NAME:
          return is_set_topologyName();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getTopologyWorkersToSupervisorIds_args)
          return this.equals((getTopologyWorkersToSupervisorIds_args)that);
        return false;
      }
  
      public boolean equals(getTopologyWorkersToSupervisorIds_args that) {
        if (that == null)
          return false;
  
        boolean this_present_topologyName = true && this.is_set_topologyName();
        boolean that_present_topologyName = true && that.is_set_topologyName();
        if (this_present_topologyName || that_present_topologyName) {
          if (!(this_present_topologyName && that_present_topologyName))
            return false;
          if (!this.topologyName.equals(that.topologyName))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_topologyName = true && (is_set_topologyName());
        list.add(present_topologyName);
        if (present_topologyName)
          list.add(topologyName);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getTopologyWorkersToSupervisorIds_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_topologyName()).compareTo(other.is_set_topologyName());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyName()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyName, other.topologyName);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getTopologyWorkersToSupervisorIds_args(");
        boolean first = true;
  
        sb.append("topologyName:");
        if (this.topologyName == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyName);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getTopologyWorkersToSupervisorIds_argsStandardSchemeFactory implements SchemeFactory {
        public getTopologyWorkersToSupervisorIds_argsStandardScheme getScheme() {
          return new getTopologyWorkersToSupervisorIds_argsStandardScheme();
        }
      }
  
      private static class getTopologyWorkersToSupervisorIds_argsStandardScheme extends StandardScheme<getTopologyWorkersToSupervisorIds_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getTopologyWorkersToSupervisorIds_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: // TOPOLOGY_NAME
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.topologyName = iprot.readString();
                  struct.set_topologyName_isSet(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, getTopologyWorkersToSupervisorIds_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.topologyName != null) {
            oprot.writeFieldBegin(TOPOLOGY_NAME_FIELD_DESC);
            oprot.writeString(struct.topologyName);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getTopologyWorkersToSupervisorIds_argsTupleSchemeFactory implements SchemeFactory {
        public getTopologyWorkersToSupervisorIds_argsTupleScheme getScheme() {
          return new getTopologyWorkersToSupervisorIds_argsTupleScheme();
        }
      }
  
      private static class getTopologyWorkersToSupervisorIds_argsTupleScheme extends TupleScheme<getTopologyWorkersToSupervisorIds_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getTopologyWorkersToSupervisorIds_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_topologyName()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_topologyName()) {
            oprot.writeString(struct.topologyName);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getTopologyWorkersToSupervisorIds_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.topologyName = iprot.readString();
            struct.set_topologyName_isSet(true);
          }
        }
      }
  
    }
  
    public static class getTopologyWorkersToSupervisorIds_result implements org.apache.thrift.TBase<getTopologyWorkersToSupervisorIds_result, getTopologyWorkersToSupervisorIds_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyWorkersToSupervisorIds_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTopologyWorkersToSupervisorIds_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);
      private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", 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 getTopologyWorkersToSupervisorIds_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getTopologyWorkersToSupervisorIds_resultTupleSchemeFactory());
      }
  
      private Map<String,Map<String,String>> success; // required
      private NotAliveException e; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success"),
        E((short)1, "e");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            case 1: // E
              return E;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
                new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
                new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
                    new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
                    new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))));
        tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyWorkersToSupervisorIds_result.class, metaDataMap);
      }
  
      public getTopologyWorkersToSupervisorIds_result() {
      }
  
      public getTopologyWorkersToSupervisorIds_result(
        Map<String,Map<String,String>> success,
        NotAliveException e)
      {
        this();
        this.success = success;
        this.e = e;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getTopologyWorkersToSupervisorIds_result(getTopologyWorkersToSupervisorIds_result other) {
        if (other.is_set_success()) {
          Map<String,Map<String,String>> __this__success = new HashMap<String,Map<String,String>>(other.success.size());
          for (Map.Entry<String, Map<String,String>> other_element : other.success.entrySet()) {
  
            String other_element_key = other_element.getKey();
            Map<String,String> other_element_value = other_element.getValue();
  
            String __this__success_copy_key = other_element_key;
  
            Map<String,String> __this__success_copy_value = new HashMap<String,String>(other_element_value);
  
            __this__success.put(__this__success_copy_key, __this__success_copy_value);
          }
          this.success = __this__success;
        }
        if (other.is_set_e()) {
          this.e = new NotAliveException(other.e);
        }
      }
  
      public getTopologyWorkersToSupervisorIds_result deepCopy() {
        return new getTopologyWorkersToSupervisorIds_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
        this.e = null;
      }
  
      public int get_success_size() {
        return (this.success == null) ? 0 : this.success.size();
      }
  
      public void put_to_success(String key, Map<String,String> val) {
        if (this.success == null) {
          this.success = new HashMap<String,Map<String,String>>();
        }
        this.success.put(key, val);
      }
  
      public Map<String,Map<String,String>> get_success() {
        return this.success;
      }
  
      public void set_success(Map<String,Map<String,String>> success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public NotAliveException get_e() {
        return this.e;
      }
  
      public void set_e(NotAliveException e) {
        this.e = e;
      }
  
      public void unset_e() {
        this.e = null;
      }
  
      /** Returns true if field e is set (has been assigned a value) and false otherwise */
      public boolean is_set_e() {
        return this.e != null;
      }
  
      public void set_e_isSet(boolean value) {
        if (!value) {
          this.e = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((Map<String,Map<String,String>>)value);
          }
          break;
  
        case E:
          if (value == null) {
            unset_e();
          } else {
            set_e((NotAliveException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        case E:
          return get_e();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        case E:
          return is_set_e();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getTopologyWorkersToSupervisorIds_result)
          return this.equals((getTopologyWorkersToSupervisorIds_result)that);
        return false;
      }
  
      public boolean equals(getTopologyWorkersToSupervisorIds_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        boolean this_present_e = true && this.is_set_e();
        boolean that_present_e = true && that.is_set_e();
        if (this_present_e || that_present_e) {
          if (!(this_present_e && that_present_e))
            return false;
          if (!this.e.equals(that.e))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        boolean present_e = true && (is_set_e());
        list.add(present_e);
        if (present_e)
          list.add(e);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getTopologyWorkersToSupervisorIds_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_e()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getTopologyWorkersToSupervisorIds_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("e:");
        if (this.e == null) {
          sb.append("null");
        } else {
          sb.append(this.e);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getTopologyWorkersToSupervisorIds_resultStandardSchemeFactory implements SchemeFactory {
        public getTopologyWorkersToSupervisorIds_resultStandardScheme getScheme() {
          return new getTopologyWorkersToSupervisorIds_resultStandardScheme();
        }
      }
  
      private static class getTopologyWorkersToSupervisorIds_resultStandardScheme extends StandardScheme<getTopologyWorkersToSupervisorIds_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getTopologyWorkersToSupervisorIds_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.MAP) {
                  {
                    org.apache.thrift.protocol.TMap _map242 = iprot.readMapBegin();
                    struct.success = new HashMap<String,Map<String,String>>(2*_map242.size);
                    String _key243;
                    Map<String,String> _val244;
                    for (int _i245 = 0; _i245 < _map242.size; ++_i245)
                    {
                      _key243 = iprot.readString();
                      {
                        org.apache.thrift.protocol.TMap _map246 = iprot.readMapBegin();
                        _val244 = new HashMap<String,String>(2*_map246.size);
                        String _key247;
                        String _val248;
                        for (int _i249 = 0; _i249 < _map246.size; ++_i249)
                        {
                          _key247 = iprot.readString();
                          _val248 = iprot.readString();
                          _val244.put(_key247, _val248);
                        }
                        iprot.readMapEnd();
                      }
                      struct.success.put(_key243, _val244);
                    }
                    iprot.readMapEnd();
                  }
                  struct.set_success_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 1: // E
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.e = new NotAliveException();
                  struct.e.read(iprot);
                  struct.set_e_isSet(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, getTopologyWorkersToSupervisorIds_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            {
              oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, struct.success.size()));
              for (Map.Entry<String, Map<String,String>> _iter250 : struct.success.entrySet())
              {
                oprot.writeString(_iter250.getKey());
                {
                  oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, _iter250.getValue().size()));
                  for (Map.Entry<String, String> _iter251 : _iter250.getValue().entrySet())
                  {
                    oprot.writeString(_iter251.getKey());
                    oprot.writeString(_iter251.getValue());
                  }
                  oprot.writeMapEnd();
                }
              }
              oprot.writeMapEnd();
            }
            oprot.writeFieldEnd();
          }
          if (struct.e != null) {
            oprot.writeFieldBegin(E_FIELD_DESC);
            struct.e.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getTopologyWorkersToSupervisorIds_resultTupleSchemeFactory implements SchemeFactory {
        public getTopologyWorkersToSupervisorIds_resultTupleScheme getScheme() {
          return new getTopologyWorkersToSupervisorIds_resultTupleScheme();
        }
      }
  
      private static class getTopologyWorkersToSupervisorIds_resultTupleScheme extends TupleScheme<getTopologyWorkersToSupervisorIds_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getTopologyWorkersToSupervisorIds_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          if (struct.is_set_e()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_success()) {
            {
              oprot.writeI32(struct.success.size());
              for (Map.Entry<String, Map<String,String>> _iter252 : struct.success.entrySet())
              {
                oprot.writeString(_iter252.getKey());
                {
                  oprot.writeI32(_iter252.getValue().size());
                  for (Map.Entry<String, String> _iter253 : _iter252.getValue().entrySet())
                  {
                    oprot.writeString(_iter253.getKey());
                    oprot.writeString(_iter253.getValue());
                  }
                }
              }
            }
          }
          if (struct.is_set_e()) {
            struct.e.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getTopologyWorkersToSupervisorIds_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            {
              org.apache.thrift.protocol.TMap _map254 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, iprot.readI32());
              struct.success = new HashMap<String,Map<String,String>>(2*_map254.size);
              String _key255;
              Map<String,String> _val256;
              for (int _i257 = 0; _i257 < _map254.size; ++_i257)
              {
                _key255 = iprot.readString();
                {
                  org.apache.thrift.protocol.TMap _map258 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
                  _val256 = new HashMap<String,String>(2*_map258.size);
                  String _key259;
                  String _val260;
                  for (int _i261 = 0; _i261 < _map258.size; ++_i261)
                  {
                    _key259 = iprot.readString();
                    _val260 = iprot.readString();
                    _val256.put(_key259, _val260);
                  }
                }
                struct.success.put(_key255, _val256);
              }
            }
            struct.set_success_isSet(true);
          }
          if (incoming.get(1)) {
            struct.e = new NotAliveException();
            struct.e.read(iprot);
            struct.set_e_isSet(true);
          }
        }
      }
  
    }
  
    public static class getTopology_args implements org.apache.thrift.TBase<getTopology_args, getTopology_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTopology_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTopology_args");
  
      private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getTopology_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getTopology_argsTupleSchemeFactory());
      }
  
      private String id; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        ID((short)1, "id");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // ID
              return ID;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopology_args.class, metaDataMap);
      }
  
      public getTopology_args() {
      }
  
      public getTopology_args(
        String id)
      {
        this();
        this.id = id;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getTopology_args(getTopology_args other) {
        if (other.is_set_id()) {
          this.id = other.id;
        }
      }
  
      public getTopology_args deepCopy() {
        return new getTopology_args(this);
      }
  
      @Override
      public void clear() {
        this.id = null;
      }
  
      public String get_id() {
        return this.id;
      }
  
      public void set_id(String id) {
        this.id = id;
      }
  
      public void unset_id() {
        this.id = null;
      }
  
      /** Returns true if field id is set (has been assigned a value) and false otherwise */
      public boolean is_set_id() {
        return this.id != null;
      }
  
      public void set_id_isSet(boolean value) {
        if (!value) {
          this.id = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case ID:
          if (value == null) {
            unset_id();
          } else {
            set_id((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case ID:
          return get_id();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case ID:
          return is_set_id();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getTopology_args)
          return this.equals((getTopology_args)that);
        return false;
      }
  
      public boolean equals(getTopology_args that) {
        if (that == null)
          return false;
  
        boolean this_present_id = true && this.is_set_id();
        boolean that_present_id = true && that.is_set_id();
        if (this_present_id || that_present_id) {
          if (!(this_present_id && that_present_id))
            return false;
          if (!this.id.equals(that.id))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_id = true && (is_set_id());
        list.add(present_id);
        if (present_id)
          list.add(id);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getTopology_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_id()).compareTo(other.is_set_id());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_id()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, other.id);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        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("getTopology_args(");
        boolean first = true;
  
        sb.append("id:");
        if (this.id == null) {
          sb.append("null");
        } else {
          sb.append(this.id);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getTopology_argsStandardSchemeFactory implements SchemeFactory {
        public getTopology_argsStandardScheme getScheme() {
          return new getTopology_argsStandardScheme();
        }
      }
  
      private static class getTopology_argsStandardScheme extends StandardScheme<getTopology_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getTopology_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: // ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.id = iprot.readString();
                  struct.set_id_isSet(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, getTopology_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.id != null) {
            oprot.writeFieldBegin(ID_FIELD_DESC);
            oprot.writeString(struct.id);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getTopology_argsTupleSchemeFactory implements SchemeFactory {
        public getTopology_argsTupleScheme getScheme() {
          return new getTopology_argsTupleScheme();
        }
      }
  
      private static class getTopology_argsTupleScheme extends TupleScheme<getTopology_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getTopology_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_id()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_id()) {
            oprot.writeString(struct.id);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getTopology_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.id = iprot.readString();
            struct.set_id_isSet(true);
          }
        }
      }
  
    }
  
    public static class getTopology_result implements org.apache.thrift.TBase<getTopology_result, getTopology_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTopology_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTopology_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
      private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", 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 getTopology_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getTopology_resultTupleSchemeFactory());
      }
  
      private StormTopology success; // required
      private NotAliveException e; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success"),
        E((short)1, "e");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            case 1: // E
              return E;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.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, StormTopology.class)));
        tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopology_result.class, metaDataMap);
      }
  
      public getTopology_result() {
      }
  
      public getTopology_result(
        StormTopology success,
        NotAliveException e)
      {
        this();
        this.success = success;
        this.e = e;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getTopology_result(getTopology_result other) {
        if (other.is_set_success()) {
          this.success = new StormTopology(other.success);
        }
        if (other.is_set_e()) {
          this.e = new NotAliveException(other.e);
        }
      }
  
      public getTopology_result deepCopy() {
        return new getTopology_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
        this.e = null;
      }
  
      public StormTopology get_success() {
        return this.success;
      }
  
      public void set_success(StormTopology success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public NotAliveException get_e() {
        return this.e;
      }
  
      public void set_e(NotAliveException e) {
        this.e = e;
      }
  
      public void unset_e() {
        this.e = null;
      }
  
      /** Returns true if field e is set (has been assigned a value) and false otherwise */
      public boolean is_set_e() {
        return this.e != null;
      }
  
      public void set_e_isSet(boolean value) {
        if (!value) {
          this.e = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((StormTopology)value);
          }
          break;
  
        case E:
          if (value == null) {
            unset_e();
          } else {
            set_e((NotAliveException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        case E:
          return get_e();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        case E:
          return is_set_e();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getTopology_result)
          return this.equals((getTopology_result)that);
        return false;
      }
  
      public boolean equals(getTopology_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        boolean this_present_e = true && this.is_set_e();
        boolean that_present_e = true && that.is_set_e();
        if (this_present_e || that_present_e) {
          if (!(this_present_e && that_present_e))
            return false;
          if (!this.e.equals(that.e))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        boolean present_e = true && (is_set_e());
        list.add(present_e);
        if (present_e)
          list.add(e);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getTopology_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_e()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getTopology_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("e:");
        if (this.e == null) {
          sb.append("null");
        } else {
          sb.append(this.e);
        }
        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 getTopology_resultStandardSchemeFactory implements SchemeFactory {
        public getTopology_resultStandardScheme getScheme() {
          return new getTopology_resultStandardScheme();
        }
      }
  
      private static class getTopology_resultStandardScheme extends StandardScheme<getTopology_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getTopology_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 StormTopology();
                  struct.success.read(iprot);
                  struct.set_success_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 1: // E
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.e = new NotAliveException();
                  struct.e.read(iprot);
                  struct.set_e_isSet(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, getTopology_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();
          }
          if (struct.e != null) {
            oprot.writeFieldBegin(E_FIELD_DESC);
            struct.e.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getTopology_resultTupleSchemeFactory implements SchemeFactory {
        public getTopology_resultTupleScheme getScheme() {
          return new getTopology_resultTupleScheme();
        }
      }
  
      private static class getTopology_resultTupleScheme extends TupleScheme<getTopology_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getTopology_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          if (struct.is_set_e()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_success()) {
            struct.success.write(oprot);
          }
          if (struct.is_set_e()) {
            struct.e.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getTopology_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.success = new StormTopology();
            struct.success.read(iprot);
            struct.set_success_isSet(true);
          }
          if (incoming.get(1)) {
            struct.e = new NotAliveException();
            struct.e.read(iprot);
            struct.set_e_isSet(true);
          }
        }
      }
  
    }
  
    public static class getUserTopology_args implements org.apache.thrift.TBase<getUserTopology_args, getUserTopology_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUserTopology_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserTopology_args");
  
      private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getUserTopology_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getUserTopology_argsTupleSchemeFactory());
      }
  
      private String id; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        ID((short)1, "id");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // ID
              return ID;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUserTopology_args.class, metaDataMap);
      }
  
      public getUserTopology_args() {
      }
  
      public getUserTopology_args(
        String id)
      {
        this();
        this.id = id;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getUserTopology_args(getUserTopology_args other) {
        if (other.is_set_id()) {
          this.id = other.id;
        }
      }
  
      public getUserTopology_args deepCopy() {
        return new getUserTopology_args(this);
      }
  
      @Override
      public void clear() {
        this.id = null;
      }
  
      public String get_id() {
        return this.id;
      }
  
      public void set_id(String id) {
        this.id = id;
      }
  
      public void unset_id() {
        this.id = null;
      }
  
      /** Returns true if field id is set (has been assigned a value) and false otherwise */
      public boolean is_set_id() {
        return this.id != null;
      }
  
      public void set_id_isSet(boolean value) {
        if (!value) {
          this.id = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case ID:
          if (value == null) {
            unset_id();
          } else {
            set_id((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case ID:
          return get_id();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case ID:
          return is_set_id();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getUserTopology_args)
          return this.equals((getUserTopology_args)that);
        return false;
      }
  
      public boolean equals(getUserTopology_args that) {
        if (that == null)
          return false;
  
        boolean this_present_id = true && this.is_set_id();
        boolean that_present_id = true && that.is_set_id();
        if (this_present_id || that_present_id) {
          if (!(this_present_id && that_present_id))
            return false;
          if (!this.id.equals(that.id))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_id = true && (is_set_id());
        list.add(present_id);
        if (present_id)
          list.add(id);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getUserTopology_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_id()).compareTo(other.is_set_id());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_id()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, other.id);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 0;
      }
  
      public _Fields fieldForId(int fieldId) {
        return _Fields.findByThriftId(fieldId);
      }
  
      public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
        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("getUserTopology_args(");
        boolean first = true;
  
        sb.append("id:");
        if (this.id == null) {
          sb.append("null");
        } else {
          sb.append(this.id);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getUserTopology_argsStandardSchemeFactory implements SchemeFactory {
        public getUserTopology_argsStandardScheme getScheme() {
          return new getUserTopology_argsStandardScheme();
        }
      }
  
      private static class getUserTopology_argsStandardScheme extends StandardScheme<getUserTopology_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getUserTopology_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: // ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.id = iprot.readString();
                  struct.set_id_isSet(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, getUserTopology_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.id != null) {
            oprot.writeFieldBegin(ID_FIELD_DESC);
            oprot.writeString(struct.id);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getUserTopology_argsTupleSchemeFactory implements SchemeFactory {
        public getUserTopology_argsTupleScheme getScheme() {
          return new getUserTopology_argsTupleScheme();
        }
      }
  
      private static class getUserTopology_argsTupleScheme extends TupleScheme<getUserTopology_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getUserTopology_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_id()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_id()) {
            oprot.writeString(struct.id);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getUserTopology_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.id = iprot.readString();
            struct.set_id_isSet(true);
          }
        }
      }
  
    }
  
    public static class getUserTopology_result implements org.apache.thrift.TBase<getUserTopology_result, getUserTopology_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUserTopology_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserTopology_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
      private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", 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 getUserTopology_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getUserTopology_resultTupleSchemeFactory());
      }
  
      private StormTopology success; // required
      private NotAliveException e; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success"),
        E((short)1, "e");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            case 1: // E
              return E;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.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, StormTopology.class)));
        tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUserTopology_result.class, metaDataMap);
      }
  
      public getUserTopology_result() {
      }
  
      public getUserTopology_result(
        StormTopology success,
        NotAliveException e)
      {
        this();
        this.success = success;
        this.e = e;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getUserTopology_result(getUserTopology_result other) {
        if (other.is_set_success()) {
          this.success = new StormTopology(other.success);
        }
        if (other.is_set_e()) {
          this.e = new NotAliveException(other.e);
        }
      }
  
      public getUserTopology_result deepCopy() {
        return new getUserTopology_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
        this.e = null;
      }
  
      public StormTopology get_success() {
        return this.success;
      }
  
      public void set_success(StormTopology success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public NotAliveException get_e() {
        return this.e;
      }
  
      public void set_e(NotAliveException e) {
        this.e = e;
      }
  
      public void unset_e() {
        this.e = null;
      }
  
      /** Returns true if field e is set (has been assigned a value) and false otherwise */
      public boolean is_set_e() {
        return this.e != null;
      }
  
      public void set_e_isSet(boolean value) {
        if (!value) {
          this.e = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((StormTopology)value);
          }
          break;
  
        case E:
          if (value == null) {
            unset_e();
          } else {
            set_e((NotAliveException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        case E:
          return get_e();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        case E:
          return is_set_e();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getUserTopology_result)
          return this.equals((getUserTopology_result)that);
        return false;
      }
  
      public boolean equals(getUserTopology_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (!this.success.equals(that.success))
            return false;
        }
  
        boolean this_present_e = true && this.is_set_e();
        boolean that_present_e = true && that.is_set_e();
        if (this_present_e || that_present_e) {
          if (!(this_present_e && that_present_e))
            return false;
          if (!this.e.equals(that.e))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        boolean present_e = true && (is_set_e());
        list.add(present_e);
        if (present_e)
          list.add(e);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getUserTopology_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_e()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getUserTopology_result(");
        boolean first = true;
  
        sb.append("success:");
        if (this.success == null) {
          sb.append("null");
        } else {
          sb.append(this.success);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("e:");
        if (this.e == null) {
          sb.append("null");
        } else {
          sb.append(this.e);
        }
        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 getUserTopology_resultStandardSchemeFactory implements SchemeFactory {
        public getUserTopology_resultStandardScheme getScheme() {
          return new getUserTopology_resultStandardScheme();
        }
      }
  
      private static class getUserTopology_resultStandardScheme extends StandardScheme<getUserTopology_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getUserTopology_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 StormTopology();
                  struct.success.read(iprot);
                  struct.set_success_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 1: // E
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.e = new NotAliveException();
                  struct.e.read(iprot);
                  struct.set_e_isSet(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, getUserTopology_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();
          }
          if (struct.e != null) {
            oprot.writeFieldBegin(E_FIELD_DESC);
            struct.e.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getUserTopology_resultTupleSchemeFactory implements SchemeFactory {
        public getUserTopology_resultTupleScheme getScheme() {
          return new getUserTopology_resultTupleScheme();
        }
      }
  
      private static class getUserTopology_resultTupleScheme extends TupleScheme<getUserTopology_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getUserTopology_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          if (struct.is_set_e()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_success()) {
            struct.success.write(oprot);
          }
          if (struct.is_set_e()) {
            struct.e.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getUserTopology_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.success = new StormTopology();
            struct.success.read(iprot);
            struct.set_success_isSet(true);
          }
          if (incoming.get(1)) {
            struct.e = new NotAliveException();
            struct.e.read(iprot);
            struct.set_e_isSet(true);
          }
        }
      }
  
    }
  
    public static class notifyThisTopologyTasksIsDead_args implements org.apache.thrift.TBase<notifyThisTopologyTasksIsDead_args, notifyThisTopologyTasksIsDead_args._Fields>, java.io.Serializable, Cloneable, Comparable<notifyThisTopologyTasksIsDead_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("notifyThisTopologyTasksIsDead_args");
  
      private static final org.apache.thrift.protocol.TField TOPOLOGY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyId", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new notifyThisTopologyTasksIsDead_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new notifyThisTopologyTasksIsDead_argsTupleSchemeFactory());
      }
  
      private String topologyId; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TOPOLOGY_ID((short)1, "topologyId");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TOPOLOGY_ID
              return TOPOLOGY_ID;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TOPOLOGY_ID, new org.apache.thrift.meta_data.FieldMetaData("topologyId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(notifyThisTopologyTasksIsDead_args.class, metaDataMap);
      }
  
      public notifyThisTopologyTasksIsDead_args() {
      }
  
      public notifyThisTopologyTasksIsDead_args(
        String topologyId)
      {
        this();
        this.topologyId = topologyId;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public notifyThisTopologyTasksIsDead_args(notifyThisTopologyTasksIsDead_args other) {
        if (other.is_set_topologyId()) {
          this.topologyId = other.topologyId;
        }
      }
  
      public notifyThisTopologyTasksIsDead_args deepCopy() {
        return new notifyThisTopologyTasksIsDead_args(this);
      }
  
      @Override
      public void clear() {
        this.topologyId = null;
      }
  
      public String get_topologyId() {
        return this.topologyId;
      }
  
      public void set_topologyId(String topologyId) {
        this.topologyId = topologyId;
      }
  
      public void unset_topologyId() {
        this.topologyId = null;
      }
  
      /** Returns true if field topologyId is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyId() {
        return this.topologyId != null;
      }
  
      public void set_topologyId_isSet(boolean value) {
        if (!value) {
          this.topologyId = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TOPOLOGY_ID:
          if (value == null) {
            unset_topologyId();
          } else {
            set_topologyId((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TOPOLOGY_ID:
          return get_topologyId();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TOPOLOGY_ID:
          return is_set_topologyId();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof notifyThisTopologyTasksIsDead_args)
          return this.equals((notifyThisTopologyTasksIsDead_args)that);
        return false;
      }
  
      public boolean equals(notifyThisTopologyTasksIsDead_args that) {
        if (that == null)
          return false;
  
        boolean this_present_topologyId = true && this.is_set_topologyId();
        boolean that_present_topologyId = true && that.is_set_topologyId();
        if (this_present_topologyId || that_present_topologyId) {
          if (!(this_present_topologyId && that_present_topologyId))
            return false;
          if (!this.topologyId.equals(that.topologyId))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_topologyId = true && (is_set_topologyId());
        list.add(present_topologyId);
        if (present_topologyId)
          list.add(topologyId);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(notifyThisTopologyTasksIsDead_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_topologyId()).compareTo(other.is_set_topologyId());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyId()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyId, other.topologyId);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("notifyThisTopologyTasksIsDead_args(");
        boolean first = true;
  
        sb.append("topologyId:");
        if (this.topologyId == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyId);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 notifyThisTopologyTasksIsDead_argsStandardSchemeFactory implements SchemeFactory {
        public notifyThisTopologyTasksIsDead_argsStandardScheme getScheme() {
          return new notifyThisTopologyTasksIsDead_argsStandardScheme();
        }
      }
  
      private static class notifyThisTopologyTasksIsDead_argsStandardScheme extends StandardScheme<notifyThisTopologyTasksIsDead_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, notifyThisTopologyTasksIsDead_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: // TOPOLOGY_ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.topologyId = iprot.readString();
                  struct.set_topologyId_isSet(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, notifyThisTopologyTasksIsDead_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.topologyId != null) {
            oprot.writeFieldBegin(TOPOLOGY_ID_FIELD_DESC);
            oprot.writeString(struct.topologyId);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class notifyThisTopologyTasksIsDead_argsTupleSchemeFactory implements SchemeFactory {
        public notifyThisTopologyTasksIsDead_argsTupleScheme getScheme() {
          return new notifyThisTopologyTasksIsDead_argsTupleScheme();
        }
      }
  
      private static class notifyThisTopologyTasksIsDead_argsTupleScheme extends TupleScheme<notifyThisTopologyTasksIsDead_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, notifyThisTopologyTasksIsDead_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_topologyId()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_topologyId()) {
            oprot.writeString(struct.topologyId);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, notifyThisTopologyTasksIsDead_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.topologyId = iprot.readString();
            struct.set_topologyId_isSet(true);
          }
        }
      }
  
    }
  
    public static class notifyThisTopologyTasksIsDead_result implements org.apache.thrift.TBase<notifyThisTopologyTasksIsDead_result, notifyThisTopologyTasksIsDead_result._Fields>, java.io.Serializable, Cloneable, Comparable<notifyThisTopologyTasksIsDead_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("notifyThisTopologyTasksIsDead_result");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new notifyThisTopologyTasksIsDead_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new notifyThisTopologyTasksIsDead_resultTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(notifyThisTopologyTasksIsDead_result.class, metaDataMap);
      }
  
      public notifyThisTopologyTasksIsDead_result() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public notifyThisTopologyTasksIsDead_result(notifyThisTopologyTasksIsDead_result other) {
      }
  
      public notifyThisTopologyTasksIsDead_result deepCopy() {
        return new notifyThisTopologyTasksIsDead_result(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof notifyThisTopologyTasksIsDead_result)
          return this.equals((notifyThisTopologyTasksIsDead_result)that);
        return false;
      }
  
      public boolean equals(notifyThisTopologyTasksIsDead_result that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(notifyThisTopologyTasksIsDead_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("notifyThisTopologyTasksIsDead_result(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 notifyThisTopologyTasksIsDead_resultStandardSchemeFactory implements SchemeFactory {
        public notifyThisTopologyTasksIsDead_resultStandardScheme getScheme() {
          return new notifyThisTopologyTasksIsDead_resultStandardScheme();
        }
      }
  
      private static class notifyThisTopologyTasksIsDead_resultStandardScheme extends StandardScheme<notifyThisTopologyTasksIsDead_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, notifyThisTopologyTasksIsDead_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) {
              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, notifyThisTopologyTasksIsDead_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class notifyThisTopologyTasksIsDead_resultTupleSchemeFactory implements SchemeFactory {
        public notifyThisTopologyTasksIsDead_resultTupleScheme getScheme() {
          return new notifyThisTopologyTasksIsDead_resultTupleScheme();
        }
      }
  
      private static class notifyThisTopologyTasksIsDead_resultTupleScheme extends TupleScheme<notifyThisTopologyTasksIsDead_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, notifyThisTopologyTasksIsDead_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, notifyThisTopologyTasksIsDead_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class uploadTopologyMetrics_args implements org.apache.thrift.TBase<uploadTopologyMetrics_args, uploadTopologyMetrics_args._Fields>, java.io.Serializable, Cloneable, Comparable<uploadTopologyMetrics_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("uploadTopologyMetrics_args");
  
      private static final org.apache.thrift.protocol.TField TOPOLOGY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyId", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField TOPOLOGY_METRICS_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyMetrics", org.apache.thrift.protocol.TType.STRUCT, (short)2);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new uploadTopologyMetrics_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new uploadTopologyMetrics_argsTupleSchemeFactory());
      }
  
      private String topologyId; // required
      private TopologyMetric topologyMetrics; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TOPOLOGY_ID((short)1, "topologyId"),
        TOPOLOGY_METRICS((short)2, "topologyMetrics");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TOPOLOGY_ID
              return TOPOLOGY_ID;
            case 2: // TOPOLOGY_METRICS
              return TOPOLOGY_METRICS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TOPOLOGY_ID, new org.apache.thrift.meta_data.FieldMetaData("topologyId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.TOPOLOGY_METRICS, new org.apache.thrift.meta_data.FieldMetaData("topologyMetrics", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TopologyMetric.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(uploadTopologyMetrics_args.class, metaDataMap);
      }
  
      public uploadTopologyMetrics_args() {
      }
  
      public uploadTopologyMetrics_args(
        String topologyId,
        TopologyMetric topologyMetrics)
      {
        this();
        this.topologyId = topologyId;
        this.topologyMetrics = topologyMetrics;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public uploadTopologyMetrics_args(uploadTopologyMetrics_args other) {
        if (other.is_set_topologyId()) {
          this.topologyId = other.topologyId;
        }
        if (other.is_set_topologyMetrics()) {
          this.topologyMetrics = new TopologyMetric(other.topologyMetrics);
        }
      }
  
      public uploadTopologyMetrics_args deepCopy() {
        return new uploadTopologyMetrics_args(this);
      }
  
      @Override
      public void clear() {
        this.topologyId = null;
        this.topologyMetrics = null;
      }
  
      public String get_topologyId() {
        return this.topologyId;
      }
  
      public void set_topologyId(String topologyId) {
        this.topologyId = topologyId;
      }
  
      public void unset_topologyId() {
        this.topologyId = null;
      }
  
      /** Returns true if field topologyId is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyId() {
        return this.topologyId != null;
      }
  
      public void set_topologyId_isSet(boolean value) {
        if (!value) {
          this.topologyId = null;
        }
      }
  
      public TopologyMetric get_topologyMetrics() {
        return this.topologyMetrics;
      }
  
      public void set_topologyMetrics(TopologyMetric topologyMetrics) {
        this.topologyMetrics = topologyMetrics;
      }
  
      public void unset_topologyMetrics() {
        this.topologyMetrics = null;
      }
  
      /** Returns true if field topologyMetrics is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyMetrics() {
        return this.topologyMetrics != null;
      }
  
      public void set_topologyMetrics_isSet(boolean value) {
        if (!value) {
          this.topologyMetrics = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TOPOLOGY_ID:
          if (value == null) {
            unset_topologyId();
          } else {
            set_topologyId((String)value);
          }
          break;
  
        case TOPOLOGY_METRICS:
          if (value == null) {
            unset_topologyMetrics();
          } else {
            set_topologyMetrics((TopologyMetric)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TOPOLOGY_ID:
          return get_topologyId();
  
        case TOPOLOGY_METRICS:
          return get_topologyMetrics();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TOPOLOGY_ID:
          return is_set_topologyId();
        case TOPOLOGY_METRICS:
          return is_set_topologyMetrics();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof uploadTopologyMetrics_args)
          return this.equals((uploadTopologyMetrics_args)that);
        return false;
      }
  
      public boolean equals(uploadTopologyMetrics_args that) {
        if (that == null)
          return false;
  
        boolean this_present_topologyId = true && this.is_set_topologyId();
        boolean that_present_topologyId = true && that.is_set_topologyId();
        if (this_present_topologyId || that_present_topologyId) {
          if (!(this_present_topologyId && that_present_topologyId))
            return false;
          if (!this.topologyId.equals(that.topologyId))
            return false;
        }
  
        boolean this_present_topologyMetrics = true && this.is_set_topologyMetrics();
        boolean that_present_topologyMetrics = true && that.is_set_topologyMetrics();
        if (this_present_topologyMetrics || that_present_topologyMetrics) {
          if (!(this_present_topologyMetrics && that_present_topologyMetrics))
            return false;
          if (!this.topologyMetrics.equals(that.topologyMetrics))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_topologyId = true && (is_set_topologyId());
        list.add(present_topologyId);
        if (present_topologyId)
          list.add(topologyId);
  
        boolean present_topologyMetrics = true && (is_set_topologyMetrics());
        list.add(present_topologyMetrics);
        if (present_topologyMetrics)
          list.add(topologyMetrics);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(uploadTopologyMetrics_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_topologyId()).compareTo(other.is_set_topologyId());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyId()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyId, other.topologyId);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_topologyMetrics()).compareTo(other.is_set_topologyMetrics());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyMetrics()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyMetrics, other.topologyMetrics);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("uploadTopologyMetrics_args(");
        boolean first = true;
  
        sb.append("topologyId:");
        if (this.topologyId == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyId);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("topologyMetrics:");
        if (this.topologyMetrics == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyMetrics);
        }
        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 (topologyMetrics != null) {
          topologyMetrics.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 uploadTopologyMetrics_argsStandardSchemeFactory implements SchemeFactory {
        public uploadTopologyMetrics_argsStandardScheme getScheme() {
          return new uploadTopologyMetrics_argsStandardScheme();
        }
      }
  
      private static class uploadTopologyMetrics_argsStandardScheme extends StandardScheme<uploadTopologyMetrics_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, uploadTopologyMetrics_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: // TOPOLOGY_ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.topologyId = iprot.readString();
                  struct.set_topologyId_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // TOPOLOGY_METRICS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.topologyMetrics = new TopologyMetric();
                  struct.topologyMetrics.read(iprot);
                  struct.set_topologyMetrics_isSet(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, uploadTopologyMetrics_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.topologyId != null) {
            oprot.writeFieldBegin(TOPOLOGY_ID_FIELD_DESC);
            oprot.writeString(struct.topologyId);
            oprot.writeFieldEnd();
          }
          if (struct.topologyMetrics != null) {
            oprot.writeFieldBegin(TOPOLOGY_METRICS_FIELD_DESC);
            struct.topologyMetrics.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class uploadTopologyMetrics_argsTupleSchemeFactory implements SchemeFactory {
        public uploadTopologyMetrics_argsTupleScheme getScheme() {
          return new uploadTopologyMetrics_argsTupleScheme();
        }
      }
  
      private static class uploadTopologyMetrics_argsTupleScheme extends TupleScheme<uploadTopologyMetrics_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, uploadTopologyMetrics_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_topologyId()) {
            optionals.set(0);
          }
          if (struct.is_set_topologyMetrics()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_topologyId()) {
            oprot.writeString(struct.topologyId);
          }
          if (struct.is_set_topologyMetrics()) {
            struct.topologyMetrics.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, uploadTopologyMetrics_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.topologyId = iprot.readString();
            struct.set_topologyId_isSet(true);
          }
          if (incoming.get(1)) {
            struct.topologyMetrics = new TopologyMetric();
            struct.topologyMetrics.read(iprot);
            struct.set_topologyMetrics_isSet(true);
          }
        }
      }
  
    }
  
    public static class uploadTopologyMetrics_result implements org.apache.thrift.TBase<uploadTopologyMetrics_result, uploadTopologyMetrics_result._Fields>, java.io.Serializable, Cloneable, Comparable<uploadTopologyMetrics_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("uploadTopologyMetrics_result");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new uploadTopologyMetrics_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new uploadTopologyMetrics_resultTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(uploadTopologyMetrics_result.class, metaDataMap);
      }
  
      public uploadTopologyMetrics_result() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public uploadTopologyMetrics_result(uploadTopologyMetrics_result other) {
      }
  
      public uploadTopologyMetrics_result deepCopy() {
        return new uploadTopologyMetrics_result(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof uploadTopologyMetrics_result)
          return this.equals((uploadTopologyMetrics_result)that);
        return false;
      }
  
      public boolean equals(uploadTopologyMetrics_result that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(uploadTopologyMetrics_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("uploadTopologyMetrics_result(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 uploadTopologyMetrics_resultStandardSchemeFactory implements SchemeFactory {
        public uploadTopologyMetrics_resultStandardScheme getScheme() {
          return new uploadTopologyMetrics_resultStandardScheme();
        }
      }
  
      private static class uploadTopologyMetrics_resultStandardScheme extends StandardScheme<uploadTopologyMetrics_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, uploadTopologyMetrics_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) {
              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, uploadTopologyMetrics_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class uploadTopologyMetrics_resultTupleSchemeFactory implements SchemeFactory {
        public uploadTopologyMetrics_resultTupleScheme getScheme() {
          return new uploadTopologyMetrics_resultTupleScheme();
        }
      }
  
      private static class uploadTopologyMetrics_resultTupleScheme extends TupleScheme<uploadTopologyMetrics_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, uploadTopologyMetrics_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, uploadTopologyMetrics_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class registerMetrics_args implements org.apache.thrift.TBase<registerMetrics_args, registerMetrics_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerMetrics_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerMetrics_args");
  
      private static final org.apache.thrift.protocol.TField TOPOLOGY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyId", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField METRICS_FIELD_DESC = new org.apache.thrift.protocol.TField("metrics", org.apache.thrift.protocol.TType.SET, (short)2);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new registerMetrics_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new registerMetrics_argsTupleSchemeFactory());
      }
  
      private String topologyId; // required
      private Set<String> metrics; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TOPOLOGY_ID((short)1, "topologyId"),
        METRICS((short)2, "metrics");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TOPOLOGY_ID
              return TOPOLOGY_ID;
            case 2: // METRICS
              return METRICS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TOPOLOGY_ID, new org.apache.thrift.meta_data.FieldMetaData("topologyId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.METRICS, new org.apache.thrift.meta_data.FieldMetaData("metrics", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.SetMetaData(org.apache.thrift.protocol.TType.SET, 
                new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(registerMetrics_args.class, metaDataMap);
      }
  
      public registerMetrics_args() {
      }
  
      public registerMetrics_args(
        String topologyId,
        Set<String> metrics)
      {
        this();
        this.topologyId = topologyId;
        this.metrics = metrics;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public registerMetrics_args(registerMetrics_args other) {
        if (other.is_set_topologyId()) {
          this.topologyId = other.topologyId;
        }
        if (other.is_set_metrics()) {
          Set<String> __this__metrics = new HashSet<String>(other.metrics);
          this.metrics = __this__metrics;
        }
      }
  
      public registerMetrics_args deepCopy() {
        return new registerMetrics_args(this);
      }
  
      @Override
      public void clear() {
        this.topologyId = null;
        this.metrics = null;
      }
  
      public String get_topologyId() {
        return this.topologyId;
      }
  
      public void set_topologyId(String topologyId) {
        this.topologyId = topologyId;
      }
  
      public void unset_topologyId() {
        this.topologyId = null;
      }
  
      /** Returns true if field topologyId is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyId() {
        return this.topologyId != null;
      }
  
      public void set_topologyId_isSet(boolean value) {
        if (!value) {
          this.topologyId = null;
        }
      }
  
      public int get_metrics_size() {
        return (this.metrics == null) ? 0 : this.metrics.size();
      }
  
      public java.util.Iterator<String> get_metrics_iterator() {
        return (this.metrics == null) ? null : this.metrics.iterator();
      }
  
      public void add_to_metrics(String elem) {
        if (this.metrics == null) {
          this.metrics = new HashSet<String>();
        }
        this.metrics.add(elem);
      }
  
      public Set<String> get_metrics() {
        return this.metrics;
      }
  
      public void set_metrics(Set<String> metrics) {
        this.metrics = metrics;
      }
  
      public void unset_metrics() {
        this.metrics = null;
      }
  
      /** Returns true if field metrics is set (has been assigned a value) and false otherwise */
      public boolean is_set_metrics() {
        return this.metrics != null;
      }
  
      public void set_metrics_isSet(boolean value) {
        if (!value) {
          this.metrics = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TOPOLOGY_ID:
          if (value == null) {
            unset_topologyId();
          } else {
            set_topologyId((String)value);
          }
          break;
  
        case METRICS:
          if (value == null) {
            unset_metrics();
          } else {
            set_metrics((Set<String>)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TOPOLOGY_ID:
          return get_topologyId();
  
        case METRICS:
          return get_metrics();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TOPOLOGY_ID:
          return is_set_topologyId();
        case METRICS:
          return is_set_metrics();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof registerMetrics_args)
          return this.equals((registerMetrics_args)that);
        return false;
      }
  
      public boolean equals(registerMetrics_args that) {
        if (that == null)
          return false;
  
        boolean this_present_topologyId = true && this.is_set_topologyId();
        boolean that_present_topologyId = true && that.is_set_topologyId();
        if (this_present_topologyId || that_present_topologyId) {
          if (!(this_present_topologyId && that_present_topologyId))
            return false;
          if (!this.topologyId.equals(that.topologyId))
            return false;
        }
  
        boolean this_present_metrics = true && this.is_set_metrics();
        boolean that_present_metrics = true && that.is_set_metrics();
        if (this_present_metrics || that_present_metrics) {
          if (!(this_present_metrics && that_present_metrics))
            return false;
          if (!this.metrics.equals(that.metrics))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_topologyId = true && (is_set_topologyId());
        list.add(present_topologyId);
        if (present_topologyId)
          list.add(topologyId);
  
        boolean present_metrics = true && (is_set_metrics());
        list.add(present_metrics);
        if (present_metrics)
          list.add(metrics);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(registerMetrics_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_topologyId()).compareTo(other.is_set_topologyId());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyId()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyId, other.topologyId);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_metrics()).compareTo(other.is_set_metrics());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_metrics()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.metrics, other.metrics);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("registerMetrics_args(");
        boolean first = true;
  
        sb.append("topologyId:");
        if (this.topologyId == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyId);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("metrics:");
        if (this.metrics == null) {
          sb.append("null");
        } else {
          sb.append(this.metrics);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 registerMetrics_argsStandardSchemeFactory implements SchemeFactory {
        public registerMetrics_argsStandardScheme getScheme() {
          return new registerMetrics_argsStandardScheme();
        }
      }
  
      private static class registerMetrics_argsStandardScheme extends StandardScheme<registerMetrics_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, registerMetrics_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: // TOPOLOGY_ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.topologyId = iprot.readString();
                  struct.set_topologyId_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // METRICS
                if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
                  {
                    org.apache.thrift.protocol.TSet _set262 = iprot.readSetBegin();
                    struct.metrics = new HashSet<String>(2*_set262.size);
                    String _elem263;
                    for (int _i264 = 0; _i264 < _set262.size; ++_i264)
                    {
                      _elem263 = iprot.readString();
                      struct.metrics.add(_elem263);
                    }
                    iprot.readSetEnd();
                  }
                  struct.set_metrics_isSet(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, registerMetrics_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.topologyId != null) {
            oprot.writeFieldBegin(TOPOLOGY_ID_FIELD_DESC);
            oprot.writeString(struct.topologyId);
            oprot.writeFieldEnd();
          }
          if (struct.metrics != null) {
            oprot.writeFieldBegin(METRICS_FIELD_DESC);
            {
              oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, struct.metrics.size()));
              for (String _iter265 : struct.metrics)
              {
                oprot.writeString(_iter265);
              }
              oprot.writeSetEnd();
            }
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class registerMetrics_argsTupleSchemeFactory implements SchemeFactory {
        public registerMetrics_argsTupleScheme getScheme() {
          return new registerMetrics_argsTupleScheme();
        }
      }
  
      private static class registerMetrics_argsTupleScheme extends TupleScheme<registerMetrics_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, registerMetrics_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_topologyId()) {
            optionals.set(0);
          }
          if (struct.is_set_metrics()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_topologyId()) {
            oprot.writeString(struct.topologyId);
          }
          if (struct.is_set_metrics()) {
            {
              oprot.writeI32(struct.metrics.size());
              for (String _iter266 : struct.metrics)
              {
                oprot.writeString(_iter266);
              }
            }
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, registerMetrics_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.topologyId = iprot.readString();
            struct.set_topologyId_isSet(true);
          }
          if (incoming.get(1)) {
            {
              org.apache.thrift.protocol.TSet _set267 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
              struct.metrics = new HashSet<String>(2*_set267.size);
              String _elem268;
              for (int _i269 = 0; _i269 < _set267.size; ++_i269)
              {
                _elem268 = iprot.readString();
                struct.metrics.add(_elem268);
              }
            }
            struct.set_metrics_isSet(true);
          }
        }
      }
  
    }
  
    public static class registerMetrics_result implements org.apache.thrift.TBase<registerMetrics_result, registerMetrics_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerMetrics_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerMetrics_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new registerMetrics_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new registerMetrics_resultTupleSchemeFactory());
      }
  
      private Map<String,Long> success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
                new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
                new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(registerMetrics_result.class, metaDataMap);
      }
  
      public registerMetrics_result() {
      }
  
      public registerMetrics_result(
        Map<String,Long> success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public registerMetrics_result(registerMetrics_result other) {
        if (other.is_set_success()) {
          Map<String,Long> __this__success = new HashMap<String,Long>(other.success);
          this.success = __this__success;
        }
      }
  
      public registerMetrics_result deepCopy() {
        return new registerMetrics_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public int get_success_size() {
        return (this.success == null) ? 0 : this.success.size();
      }
  
      public void put_to_success(String key, long val) {
        if (this.success == null) {
          this.success = new HashMap<String,Long>();
        }
        this.success.put(key, val);
      }
  
      public Map<String,Long> get_success() {
        return this.success;
      }
  
      public void set_success(Map<String,Long> success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((Map<String,Long>)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof registerMetrics_result)
          return this.equals((registerMetrics_result)that);
        return false;
      }
  
      public boolean equals(registerMetrics_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        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() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(registerMetrics_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.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("registerMetrics_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
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 registerMetrics_resultStandardSchemeFactory implements SchemeFactory {
        public registerMetrics_resultStandardScheme getScheme() {
          return new registerMetrics_resultStandardScheme();
        }
      }
  
      private static class registerMetrics_resultStandardScheme extends StandardScheme<registerMetrics_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, registerMetrics_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.MAP) {
                  {
                    org.apache.thrift.protocol.TMap _map270 = iprot.readMapBegin();
                    struct.success = new HashMap<String,Long>(2*_map270.size);
                    String _key271;
                    long _val272;
                    for (int _i273 = 0; _i273 < _map270.size; ++_i273)
                    {
                      _key271 = iprot.readString();
                      _val272 = iprot.readI64();
                      struct.success.put(_key271, _val272);
                    }
                    iprot.readMapEnd();
                  }
                  struct.set_success_isSet(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, registerMetrics_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            {
              oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I64, struct.success.size()));
              for (Map.Entry<String, Long> _iter274 : struct.success.entrySet())
              {
                oprot.writeString(_iter274.getKey());
                oprot.writeI64(_iter274.getValue());
              }
              oprot.writeMapEnd();
            }
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class registerMetrics_resultTupleSchemeFactory implements SchemeFactory {
        public registerMetrics_resultTupleScheme getScheme() {
          return new registerMetrics_resultTupleScheme();
        }
      }
  
      private static class registerMetrics_resultTupleScheme extends TupleScheme<registerMetrics_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, registerMetrics_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_success()) {
            {
              oprot.writeI32(struct.success.size());
              for (Map.Entry<String, Long> _iter275 : struct.success.entrySet())
              {
                oprot.writeString(_iter275.getKey());
                oprot.writeI64(_iter275.getValue());
              }
            }
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, registerMetrics_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            {
              org.apache.thrift.protocol.TMap _map276 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I64, iprot.readI32());
              struct.success = new HashMap<String,Long>(2*_map276.size);
              String _key277;
              long _val278;
              for (int _i279 = 0; _i279 < _map276.size; ++_i279)
              {
                _key277 = iprot.readString();
                _val278 = iprot.readI64();
                struct.success.put(_key277, _val278);
              }
            }
            struct.set_success_isSet(true);
          }
        }
      }
  
    }
  
    public static class getTopologyMetrics_args implements org.apache.thrift.TBase<getTopologyMetrics_args, getTopologyMetrics_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyMetrics_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTopologyMetrics_args");
  
      private static final org.apache.thrift.protocol.TField TOPOLOGY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyId", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getTopologyMetrics_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getTopologyMetrics_argsTupleSchemeFactory());
      }
  
      private String topologyId; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TOPOLOGY_ID((short)1, "topologyId");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TOPOLOGY_ID
              return TOPOLOGY_ID;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TOPOLOGY_ID, new org.apache.thrift.meta_data.FieldMetaData("topologyId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyMetrics_args.class, metaDataMap);
      }
  
      public getTopologyMetrics_args() {
      }
  
      public getTopologyMetrics_args(
        String topologyId)
      {
        this();
        this.topologyId = topologyId;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getTopologyMetrics_args(getTopologyMetrics_args other) {
        if (other.is_set_topologyId()) {
          this.topologyId = other.topologyId;
        }
      }
  
      public getTopologyMetrics_args deepCopy() {
        return new getTopologyMetrics_args(this);
      }
  
      @Override
      public void clear() {
        this.topologyId = null;
      }
  
      public String get_topologyId() {
        return this.topologyId;
      }
  
      public void set_topologyId(String topologyId) {
        this.topologyId = topologyId;
      }
  
      public void unset_topologyId() {
        this.topologyId = null;
      }
  
      /** Returns true if field topologyId is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyId() {
        return this.topologyId != null;
      }
  
      public void set_topologyId_isSet(boolean value) {
        if (!value) {
          this.topologyId = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TOPOLOGY_ID:
          if (value == null) {
            unset_topologyId();
          } else {
            set_topologyId((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TOPOLOGY_ID:
          return get_topologyId();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TOPOLOGY_ID:
          return is_set_topologyId();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getTopologyMetrics_args)
          return this.equals((getTopologyMetrics_args)that);
        return false;
      }
  
      public boolean equals(getTopologyMetrics_args that) {
        if (that == null)
          return false;
  
        boolean this_present_topologyId = true && this.is_set_topologyId();
        boolean that_present_topologyId = true && that.is_set_topologyId();
        if (this_present_topologyId || that_present_topologyId) {
          if (!(this_present_topologyId && that_present_topologyId))
            return false;
          if (!this.topologyId.equals(that.topologyId))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_topologyId = true && (is_set_topologyId());
        list.add(present_topologyId);
        if (present_topologyId)
          list.add(topologyId);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getTopologyMetrics_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_topologyId()).compareTo(other.is_set_topologyId());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyId()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyId, other.topologyId);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getTopologyMetrics_args(");
        boolean first = true;
  
        sb.append("topologyId:");
        if (this.topologyId == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyId);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getTopologyMetrics_argsStandardSchemeFactory implements SchemeFactory {
        public getTopologyMetrics_argsStandardScheme getScheme() {
          return new getTopologyMetrics_argsStandardScheme();
        }
      }
  
      private static class getTopologyMetrics_argsStandardScheme extends StandardScheme<getTopologyMetrics_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getTopologyMetrics_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: // TOPOLOGY_ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.topologyId = iprot.readString();
                  struct.set_topologyId_isSet(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, getTopologyMetrics_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.topologyId != null) {
            oprot.writeFieldBegin(TOPOLOGY_ID_FIELD_DESC);
            oprot.writeString(struct.topologyId);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getTopologyMetrics_argsTupleSchemeFactory implements SchemeFactory {
        public getTopologyMetrics_argsTupleScheme getScheme() {
          return new getTopologyMetrics_argsTupleScheme();
        }
      }
  
      private static class getTopologyMetrics_argsTupleScheme extends TupleScheme<getTopologyMetrics_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getTopologyMetrics_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_topologyId()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_topologyId()) {
            oprot.writeString(struct.topologyId);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getTopologyMetrics_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.topologyId = iprot.readString();
            struct.set_topologyId_isSet(true);
          }
        }
      }
  
    }
  
    public static class getTopologyMetrics_result implements org.apache.thrift.TBase<getTopologyMetrics_result, getTopologyMetrics_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyMetrics_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTopologyMetrics_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 getTopologyMetrics_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getTopologyMetrics_resultTupleSchemeFactory());
      }
  
      private TopologyMetric 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, TopologyMetric.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyMetrics_result.class, metaDataMap);
      }
  
      public getTopologyMetrics_result() {
      }
  
      public getTopologyMetrics_result(
        TopologyMetric success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getTopologyMetrics_result(getTopologyMetrics_result other) {
        if (other.is_set_success()) {
          this.success = new TopologyMetric(other.success);
        }
      }
  
      public getTopologyMetrics_result deepCopy() {
        return new getTopologyMetrics_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public TopologyMetric get_success() {
        return this.success;
      }
  
      public void set_success(TopologyMetric success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((TopologyMetric)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getTopologyMetrics_result)
          return this.equals((getTopologyMetrics_result)that);
        return false;
      }
  
      public boolean equals(getTopologyMetrics_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        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() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getTopologyMetrics_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.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("getTopologyMetrics_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 getTopologyMetrics_resultStandardSchemeFactory implements SchemeFactory {
        public getTopologyMetrics_resultStandardScheme getScheme() {
          return new getTopologyMetrics_resultStandardScheme();
        }
      }
  
      private static class getTopologyMetrics_resultStandardScheme extends StandardScheme<getTopologyMetrics_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getTopologyMetrics_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 TopologyMetric();
                  struct.success.read(iprot);
                  struct.set_success_isSet(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, getTopologyMetrics_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 getTopologyMetrics_resultTupleSchemeFactory implements SchemeFactory {
        public getTopologyMetrics_resultTupleScheme getScheme() {
          return new getTopologyMetrics_resultTupleScheme();
        }
      }
  
      private static class getTopologyMetrics_resultTupleScheme extends TupleScheme<getTopologyMetrics_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getTopologyMetrics_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_success()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getTopologyMetrics_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new TopologyMetric();
            struct.success.read(iprot);
            struct.set_success_isSet(true);
          }
        }
      }
  
    }
  
    public static class getMetrics_args implements org.apache.thrift.TBase<getMetrics_args, getMetrics_args._Fields>, java.io.Serializable, Cloneable, Comparable<getMetrics_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getMetrics_args");
  
      private static final org.apache.thrift.protocol.TField TOPOLOGY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyId", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("type", org.apache.thrift.protocol.TType.I32, (short)2);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getMetrics_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getMetrics_argsTupleSchemeFactory());
      }
  
      private String topologyId; // required
      private int type; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TOPOLOGY_ID((short)1, "topologyId"),
        TYPE((short)2, "type");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TOPOLOGY_ID
              return TOPOLOGY_ID;
            case 2: // TYPE
              return TYPE;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      private static final int __TYPE_ISSET_ID = 0;
      private byte __isset_bitfield = 0;
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TOPOLOGY_ID, new org.apache.thrift.meta_data.FieldMetaData("topologyId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.TYPE, new org.apache.thrift.meta_data.FieldMetaData("type", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getMetrics_args.class, metaDataMap);
      }
  
      public getMetrics_args() {
      }
  
      public getMetrics_args(
        String topologyId,
        int type)
      {
        this();
        this.topologyId = topologyId;
        this.type = type;
        set_type_isSet(true);
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getMetrics_args(getMetrics_args other) {
        __isset_bitfield = other.__isset_bitfield;
        if (other.is_set_topologyId()) {
          this.topologyId = other.topologyId;
        }
        this.type = other.type;
      }
  
      public getMetrics_args deepCopy() {
        return new getMetrics_args(this);
      }
  
      @Override
      public void clear() {
        this.topologyId = null;
        set_type_isSet(false);
        this.type = 0;
      }
  
      public String get_topologyId() {
        return this.topologyId;
      }
  
      public void set_topologyId(String topologyId) {
        this.topologyId = topologyId;
      }
  
      public void unset_topologyId() {
        this.topologyId = null;
      }
  
      /** Returns true if field topologyId is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyId() {
        return this.topologyId != null;
      }
  
      public void set_topologyId_isSet(boolean value) {
        if (!value) {
          this.topologyId = null;
        }
      }
  
      public int get_type() {
        return this.type;
      }
  
      public void set_type(int type) {
        this.type = type;
        set_type_isSet(true);
      }
  
      public void unset_type() {
        __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TYPE_ISSET_ID);
      }
  
      /** Returns true if field type is set (has been assigned a value) and false otherwise */
      public boolean is_set_type() {
        return EncodingUtils.testBit(__isset_bitfield, __TYPE_ISSET_ID);
      }
  
      public void set_type_isSet(boolean value) {
        __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TYPE_ISSET_ID, value);
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TOPOLOGY_ID:
          if (value == null) {
            unset_topologyId();
          } else {
            set_topologyId((String)value);
          }
          break;
  
        case TYPE:
          if (value == null) {
            unset_type();
          } else {
            set_type((Integer)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TOPOLOGY_ID:
          return get_topologyId();
  
        case TYPE:
          return Integer.valueOf(get_type());
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TOPOLOGY_ID:
          return is_set_topologyId();
        case TYPE:
          return is_set_type();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getMetrics_args)
          return this.equals((getMetrics_args)that);
        return false;
      }
  
      public boolean equals(getMetrics_args that) {
        if (that == null)
          return false;
  
        boolean this_present_topologyId = true && this.is_set_topologyId();
        boolean that_present_topologyId = true && that.is_set_topologyId();
        if (this_present_topologyId || that_present_topologyId) {
          if (!(this_present_topologyId && that_present_topologyId))
            return false;
          if (!this.topologyId.equals(that.topologyId))
            return false;
        }
  
        boolean this_present_type = true;
        boolean that_present_type = true;
        if (this_present_type || that_present_type) {
          if (!(this_present_type && that_present_type))
            return false;
          if (this.type != that.type)
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_topologyId = true && (is_set_topologyId());
        list.add(present_topologyId);
        if (present_topologyId)
          list.add(topologyId);
  
        boolean present_type = true;
        list.add(present_type);
        if (present_type)
          list.add(type);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getMetrics_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_topologyId()).compareTo(other.is_set_topologyId());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyId()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyId, other.topologyId);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_type()).compareTo(other.is_set_type());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_type()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.type, other.type);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getMetrics_args(");
        boolean first = true;
  
        sb.append("topologyId:");
        if (this.topologyId == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyId);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("type:");
        sb.append(this.type);
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
          __isset_bitfield = 0;
          read(new 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 getMetrics_argsStandardSchemeFactory implements SchemeFactory {
        public getMetrics_argsStandardScheme getScheme() {
          return new getMetrics_argsStandardScheme();
        }
      }
  
      private static class getMetrics_argsStandardScheme extends StandardScheme<getMetrics_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getMetrics_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: // TOPOLOGY_ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.topologyId = iprot.readString();
                  struct.set_topologyId_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // TYPE
                if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                  struct.type = iprot.readI32();
                  struct.set_type_isSet(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, getMetrics_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.topologyId != null) {
            oprot.writeFieldBegin(TOPOLOGY_ID_FIELD_DESC);
            oprot.writeString(struct.topologyId);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldBegin(TYPE_FIELD_DESC);
          oprot.writeI32(struct.type);
          oprot.writeFieldEnd();
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getMetrics_argsTupleSchemeFactory implements SchemeFactory {
        public getMetrics_argsTupleScheme getScheme() {
          return new getMetrics_argsTupleScheme();
        }
      }
  
      private static class getMetrics_argsTupleScheme extends TupleScheme<getMetrics_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getMetrics_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_topologyId()) {
            optionals.set(0);
          }
          if (struct.is_set_type()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_topologyId()) {
            oprot.writeString(struct.topologyId);
          }
          if (struct.is_set_type()) {
            oprot.writeI32(struct.type);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getMetrics_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.topologyId = iprot.readString();
            struct.set_topologyId_isSet(true);
          }
          if (incoming.get(1)) {
            struct.type = iprot.readI32();
            struct.set_type_isSet(true);
          }
        }
      }
  
    }
  
    public static class getMetrics_result implements org.apache.thrift.TBase<getMetrics_result, getMetrics_result._Fields>, java.io.Serializable, Cloneable, Comparable<getMetrics_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getMetrics_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getMetrics_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getMetrics_resultTupleSchemeFactory());
      }
  
      private List<MetricInfo> success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
                new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, MetricInfo.class))));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getMetrics_result.class, metaDataMap);
      }
  
      public getMetrics_result() {
      }
  
      public getMetrics_result(
        List<MetricInfo> success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getMetrics_result(getMetrics_result other) {
        if (other.is_set_success()) {
          List<MetricInfo> __this__success = new ArrayList<MetricInfo>(other.success.size());
          for (MetricInfo other_element : other.success) {
            __this__success.add(new MetricInfo(other_element));
          }
          this.success = __this__success;
        }
      }
  
      public getMetrics_result deepCopy() {
        return new getMetrics_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public int get_success_size() {
        return (this.success == null) ? 0 : this.success.size();
      }
  
      public java.util.Iterator<MetricInfo> get_success_iterator() {
        return (this.success == null) ? null : this.success.iterator();
      }
  
      public void add_to_success(MetricInfo elem) {
        if (this.success == null) {
          this.success = new ArrayList<MetricInfo>();
        }
        this.success.add(elem);
      }
  
      public List<MetricInfo> get_success() {
        return this.success;
      }
  
      public void set_success(List<MetricInfo> success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((List<MetricInfo>)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getMetrics_result)
          return this.equals((getMetrics_result)that);
        return false;
      }
  
      public boolean equals(getMetrics_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        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() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getMetrics_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.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("getMetrics_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
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getMetrics_resultStandardSchemeFactory implements SchemeFactory {
        public getMetrics_resultStandardScheme getScheme() {
          return new getMetrics_resultStandardScheme();
        }
      }
  
      private static class getMetrics_resultStandardScheme extends StandardScheme<getMetrics_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getMetrics_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.LIST) {
                  {
                    org.apache.thrift.protocol.TList _list280 = iprot.readListBegin();
                    struct.success = new ArrayList<MetricInfo>(_list280.size);
                    MetricInfo _elem281;
                    for (int _i282 = 0; _i282 < _list280.size; ++_i282)
                    {
                      _elem281 = new MetricInfo();
                      _elem281.read(iprot);
                      struct.success.add(_elem281);
                    }
                    iprot.readListEnd();
                  }
                  struct.set_success_isSet(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, getMetrics_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            {
              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
              for (MetricInfo _iter283 : struct.success)
              {
                _iter283.write(oprot);
              }
              oprot.writeListEnd();
            }
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getMetrics_resultTupleSchemeFactory implements SchemeFactory {
        public getMetrics_resultTupleScheme getScheme() {
          return new getMetrics_resultTupleScheme();
        }
      }
  
      private static class getMetrics_resultTupleScheme extends TupleScheme<getMetrics_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getMetrics_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_success()) {
            {
              oprot.writeI32(struct.success.size());
              for (MetricInfo _iter284 : struct.success)
              {
                _iter284.write(oprot);
              }
            }
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getMetrics_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            {
              org.apache.thrift.protocol.TList _list285 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
              struct.success = new ArrayList<MetricInfo>(_list285.size);
              MetricInfo _elem286;
              for (int _i287 = 0; _i287 < _list285.size; ++_i287)
              {
                _elem286 = new MetricInfo();
                _elem286.read(iprot);
                struct.success.add(_elem286);
              }
            }
            struct.set_success_isSet(true);
          }
        }
      }
  
    }
  
    public static class getNettyMetrics_args implements org.apache.thrift.TBase<getNettyMetrics_args, getNettyMetrics_args._Fields>, java.io.Serializable, Cloneable, Comparable<getNettyMetrics_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getNettyMetrics_args");
  
      private static final org.apache.thrift.protocol.TField TOPOLOGY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyId", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getNettyMetrics_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getNettyMetrics_argsTupleSchemeFactory());
      }
  
      private String topologyId; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TOPOLOGY_ID((short)1, "topologyId");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TOPOLOGY_ID
              return TOPOLOGY_ID;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TOPOLOGY_ID, new org.apache.thrift.meta_data.FieldMetaData("topologyId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getNettyMetrics_args.class, metaDataMap);
      }
  
      public getNettyMetrics_args() {
      }
  
      public getNettyMetrics_args(
        String topologyId)
      {
        this();
        this.topologyId = topologyId;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getNettyMetrics_args(getNettyMetrics_args other) {
        if (other.is_set_topologyId()) {
          this.topologyId = other.topologyId;
        }
      }
  
      public getNettyMetrics_args deepCopy() {
        return new getNettyMetrics_args(this);
      }
  
      @Override
      public void clear() {
        this.topologyId = null;
      }
  
      public String get_topologyId() {
        return this.topologyId;
      }
  
      public void set_topologyId(String topologyId) {
        this.topologyId = topologyId;
      }
  
      public void unset_topologyId() {
        this.topologyId = null;
      }
  
      /** Returns true if field topologyId is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyId() {
        return this.topologyId != null;
      }
  
      public void set_topologyId_isSet(boolean value) {
        if (!value) {
          this.topologyId = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TOPOLOGY_ID:
          if (value == null) {
            unset_topologyId();
          } else {
            set_topologyId((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TOPOLOGY_ID:
          return get_topologyId();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TOPOLOGY_ID:
          return is_set_topologyId();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getNettyMetrics_args)
          return this.equals((getNettyMetrics_args)that);
        return false;
      }
  
      public boolean equals(getNettyMetrics_args that) {
        if (that == null)
          return false;
  
        boolean this_present_topologyId = true && this.is_set_topologyId();
        boolean that_present_topologyId = true && that.is_set_topologyId();
        if (this_present_topologyId || that_present_topologyId) {
          if (!(this_present_topologyId && that_present_topologyId))
            return false;
          if (!this.topologyId.equals(that.topologyId))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_topologyId = true && (is_set_topologyId());
        list.add(present_topologyId);
        if (present_topologyId)
          list.add(topologyId);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getNettyMetrics_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_topologyId()).compareTo(other.is_set_topologyId());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyId()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyId, other.topologyId);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getNettyMetrics_args(");
        boolean first = true;
  
        sb.append("topologyId:");
        if (this.topologyId == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyId);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getNettyMetrics_argsStandardSchemeFactory implements SchemeFactory {
        public getNettyMetrics_argsStandardScheme getScheme() {
          return new getNettyMetrics_argsStandardScheme();
        }
      }
  
      private static class getNettyMetrics_argsStandardScheme extends StandardScheme<getNettyMetrics_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getNettyMetrics_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: // TOPOLOGY_ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.topologyId = iprot.readString();
                  struct.set_topologyId_isSet(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, getNettyMetrics_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.topologyId != null) {
            oprot.writeFieldBegin(TOPOLOGY_ID_FIELD_DESC);
            oprot.writeString(struct.topologyId);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getNettyMetrics_argsTupleSchemeFactory implements SchemeFactory {
        public getNettyMetrics_argsTupleScheme getScheme() {
          return new getNettyMetrics_argsTupleScheme();
        }
      }
  
      private static class getNettyMetrics_argsTupleScheme extends TupleScheme<getNettyMetrics_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getNettyMetrics_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_topologyId()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_topologyId()) {
            oprot.writeString(struct.topologyId);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getNettyMetrics_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.topologyId = iprot.readString();
            struct.set_topologyId_isSet(true);
          }
        }
      }
  
    }
  
    public static class getNettyMetrics_result implements org.apache.thrift.TBase<getNettyMetrics_result, getNettyMetrics_result._Fields>, java.io.Serializable, Cloneable, Comparable<getNettyMetrics_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getNettyMetrics_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 getNettyMetrics_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getNettyMetrics_resultTupleSchemeFactory());
      }
  
      private MetricInfo 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, MetricInfo.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getNettyMetrics_result.class, metaDataMap);
      }
  
      public getNettyMetrics_result() {
      }
  
      public getNettyMetrics_result(
        MetricInfo success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getNettyMetrics_result(getNettyMetrics_result other) {
        if (other.is_set_success()) {
          this.success = new MetricInfo(other.success);
        }
      }
  
      public getNettyMetrics_result deepCopy() {
        return new getNettyMetrics_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public MetricInfo get_success() {
        return this.success;
      }
  
      public void set_success(MetricInfo success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((MetricInfo)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getNettyMetrics_result)
          return this.equals((getNettyMetrics_result)that);
        return false;
      }
  
      public boolean equals(getNettyMetrics_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        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() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getNettyMetrics_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.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("getNettyMetrics_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 getNettyMetrics_resultStandardSchemeFactory implements SchemeFactory {
        public getNettyMetrics_resultStandardScheme getScheme() {
          return new getNettyMetrics_resultStandardScheme();
        }
      }
  
      private static class getNettyMetrics_resultStandardScheme extends StandardScheme<getNettyMetrics_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getNettyMetrics_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 MetricInfo();
                  struct.success.read(iprot);
                  struct.set_success_isSet(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, getNettyMetrics_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 getNettyMetrics_resultTupleSchemeFactory implements SchemeFactory {
        public getNettyMetrics_resultTupleScheme getScheme() {
          return new getNettyMetrics_resultTupleScheme();
        }
      }
  
      private static class getNettyMetrics_resultTupleScheme extends TupleScheme<getNettyMetrics_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getNettyMetrics_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_success()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getNettyMetrics_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new MetricInfo();
            struct.success.read(iprot);
            struct.set_success_isSet(true);
          }
        }
      }
  
    }
  
    public static class getNettyMetricsByHost_args implements org.apache.thrift.TBase<getNettyMetricsByHost_args, getNettyMetricsByHost_args._Fields>, java.io.Serializable, Cloneable, Comparable<getNettyMetricsByHost_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getNettyMetricsByHost_args");
  
      private static final org.apache.thrift.protocol.TField TOPOLOGY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyId", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField HOST_FIELD_DESC = new org.apache.thrift.protocol.TField("host", org.apache.thrift.protocol.TType.STRING, (short)2);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getNettyMetricsByHost_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getNettyMetricsByHost_argsTupleSchemeFactory());
      }
  
      private String topologyId; // required
      private String host; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TOPOLOGY_ID((short)1, "topologyId"),
        HOST((short)2, "host");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TOPOLOGY_ID
              return TOPOLOGY_ID;
            case 2: // HOST
              return HOST;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TOPOLOGY_ID, new org.apache.thrift.meta_data.FieldMetaData("topologyId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.HOST, new org.apache.thrift.meta_data.FieldMetaData("host", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getNettyMetricsByHost_args.class, metaDataMap);
      }
  
      public getNettyMetricsByHost_args() {
      }
  
      public getNettyMetricsByHost_args(
        String topologyId,
        String host)
      {
        this();
        this.topologyId = topologyId;
        this.host = host;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getNettyMetricsByHost_args(getNettyMetricsByHost_args other) {
        if (other.is_set_topologyId()) {
          this.topologyId = other.topologyId;
        }
        if (other.is_set_host()) {
          this.host = other.host;
        }
      }
  
      public getNettyMetricsByHost_args deepCopy() {
        return new getNettyMetricsByHost_args(this);
      }
  
      @Override
      public void clear() {
        this.topologyId = null;
        this.host = null;
      }
  
      public String get_topologyId() {
        return this.topologyId;
      }
  
      public void set_topologyId(String topologyId) {
        this.topologyId = topologyId;
      }
  
      public void unset_topologyId() {
        this.topologyId = null;
      }
  
      /** Returns true if field topologyId is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyId() {
        return this.topologyId != null;
      }
  
      public void set_topologyId_isSet(boolean value) {
        if (!value) {
          this.topologyId = null;
        }
      }
  
      public String get_host() {
        return this.host;
      }
  
      public void set_host(String host) {
        this.host = host;
      }
  
      public void unset_host() {
        this.host = null;
      }
  
      /** Returns true if field host is set (has been assigned a value) and false otherwise */
      public boolean is_set_host() {
        return this.host != null;
      }
  
      public void set_host_isSet(boolean value) {
        if (!value) {
          this.host = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TOPOLOGY_ID:
          if (value == null) {
            unset_topologyId();
          } else {
            set_topologyId((String)value);
          }
          break;
  
        case HOST:
          if (value == null) {
            unset_host();
          } else {
            set_host((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TOPOLOGY_ID:
          return get_topologyId();
  
        case HOST:
          return get_host();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TOPOLOGY_ID:
          return is_set_topologyId();
        case HOST:
          return is_set_host();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getNettyMetricsByHost_args)
          return this.equals((getNettyMetricsByHost_args)that);
        return false;
      }
  
      public boolean equals(getNettyMetricsByHost_args that) {
        if (that == null)
          return false;
  
        boolean this_present_topologyId = true && this.is_set_topologyId();
        boolean that_present_topologyId = true && that.is_set_topologyId();
        if (this_present_topologyId || that_present_topologyId) {
          if (!(this_present_topologyId && that_present_topologyId))
            return false;
          if (!this.topologyId.equals(that.topologyId))
            return false;
        }
  
        boolean this_present_host = true && this.is_set_host();
        boolean that_present_host = true && that.is_set_host();
        if (this_present_host || that_present_host) {
          if (!(this_present_host && that_present_host))
            return false;
          if (!this.host.equals(that.host))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_topologyId = true && (is_set_topologyId());
        list.add(present_topologyId);
        if (present_topologyId)
          list.add(topologyId);
  
        boolean present_host = true && (is_set_host());
        list.add(present_host);
        if (present_host)
          list.add(host);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getNettyMetricsByHost_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_topologyId()).compareTo(other.is_set_topologyId());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyId()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyId, other.topologyId);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_host()).compareTo(other.is_set_host());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_host()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.host, other.host);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getNettyMetricsByHost_args(");
        boolean first = true;
  
        sb.append("topologyId:");
        if (this.topologyId == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyId);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("host:");
        if (this.host == null) {
          sb.append("null");
        } else {
          sb.append(this.host);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getNettyMetricsByHost_argsStandardSchemeFactory implements SchemeFactory {
        public getNettyMetricsByHost_argsStandardScheme getScheme() {
          return new getNettyMetricsByHost_argsStandardScheme();
        }
      }
  
      private static class getNettyMetricsByHost_argsStandardScheme extends StandardScheme<getNettyMetricsByHost_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getNettyMetricsByHost_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: // TOPOLOGY_ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.topologyId = iprot.readString();
                  struct.set_topologyId_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // HOST
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.host = iprot.readString();
                  struct.set_host_isSet(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, getNettyMetricsByHost_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.topologyId != null) {
            oprot.writeFieldBegin(TOPOLOGY_ID_FIELD_DESC);
            oprot.writeString(struct.topologyId);
            oprot.writeFieldEnd();
          }
          if (struct.host != null) {
            oprot.writeFieldBegin(HOST_FIELD_DESC);
            oprot.writeString(struct.host);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getNettyMetricsByHost_argsTupleSchemeFactory implements SchemeFactory {
        public getNettyMetricsByHost_argsTupleScheme getScheme() {
          return new getNettyMetricsByHost_argsTupleScheme();
        }
      }
  
      private static class getNettyMetricsByHost_argsTupleScheme extends TupleScheme<getNettyMetricsByHost_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getNettyMetricsByHost_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_topologyId()) {
            optionals.set(0);
          }
          if (struct.is_set_host()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_topologyId()) {
            oprot.writeString(struct.topologyId);
          }
          if (struct.is_set_host()) {
            oprot.writeString(struct.host);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getNettyMetricsByHost_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.topologyId = iprot.readString();
            struct.set_topologyId_isSet(true);
          }
          if (incoming.get(1)) {
            struct.host = iprot.readString();
            struct.set_host_isSet(true);
          }
        }
      }
  
    }
  
    public static class getNettyMetricsByHost_result implements org.apache.thrift.TBase<getNettyMetricsByHost_result, getNettyMetricsByHost_result._Fields>, java.io.Serializable, Cloneable, Comparable<getNettyMetricsByHost_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getNettyMetricsByHost_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 getNettyMetricsByHost_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getNettyMetricsByHost_resultTupleSchemeFactory());
      }
  
      private MetricInfo 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, MetricInfo.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getNettyMetricsByHost_result.class, metaDataMap);
      }
  
      public getNettyMetricsByHost_result() {
      }
  
      public getNettyMetricsByHost_result(
        MetricInfo success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getNettyMetricsByHost_result(getNettyMetricsByHost_result other) {
        if (other.is_set_success()) {
          this.success = new MetricInfo(other.success);
        }
      }
  
      public getNettyMetricsByHost_result deepCopy() {
        return new getNettyMetricsByHost_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public MetricInfo get_success() {
        return this.success;
      }
  
      public void set_success(MetricInfo success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((MetricInfo)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getNettyMetricsByHost_result)
          return this.equals((getNettyMetricsByHost_result)that);
        return false;
      }
  
      public boolean equals(getNettyMetricsByHost_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        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() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getNettyMetricsByHost_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.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("getNettyMetricsByHost_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 getNettyMetricsByHost_resultStandardSchemeFactory implements SchemeFactory {
        public getNettyMetricsByHost_resultStandardScheme getScheme() {
          return new getNettyMetricsByHost_resultStandardScheme();
        }
      }
  
      private static class getNettyMetricsByHost_resultStandardScheme extends StandardScheme<getNettyMetricsByHost_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getNettyMetricsByHost_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 MetricInfo();
                  struct.success.read(iprot);
                  struct.set_success_isSet(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, getNettyMetricsByHost_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 getNettyMetricsByHost_resultTupleSchemeFactory implements SchemeFactory {
        public getNettyMetricsByHost_resultTupleScheme getScheme() {
          return new getNettyMetricsByHost_resultTupleScheme();
        }
      }
  
      private static class getNettyMetricsByHost_resultTupleScheme extends TupleScheme<getNettyMetricsByHost_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getNettyMetricsByHost_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_success()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getNettyMetricsByHost_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new MetricInfo();
            struct.success.read(iprot);
            struct.set_success_isSet(true);
          }
        }
      }
  
    }
  
    public static class getPagingNettyMetrics_args implements org.apache.thrift.TBase<getPagingNettyMetrics_args, getPagingNettyMetrics_args._Fields>, java.io.Serializable, Cloneable, Comparable<getPagingNettyMetrics_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPagingNettyMetrics_args");
  
      private static final org.apache.thrift.protocol.TField TOPOLOGY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyId", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField HOST_FIELD_DESC = new org.apache.thrift.protocol.TField("host", org.apache.thrift.protocol.TType.STRING, (short)2);
      private static final org.apache.thrift.protocol.TField PAGE_FIELD_DESC = new org.apache.thrift.protocol.TField("page", org.apache.thrift.protocol.TType.I32, (short)3);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getPagingNettyMetrics_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getPagingNettyMetrics_argsTupleSchemeFactory());
      }
  
      private String topologyId; // required
      private String host; // required
      private int page; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TOPOLOGY_ID((short)1, "topologyId"),
        HOST((short)2, "host"),
        PAGE((short)3, "page");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TOPOLOGY_ID
              return TOPOLOGY_ID;
            case 2: // HOST
              return HOST;
            case 3: // PAGE
              return PAGE;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      private static final int __PAGE_ISSET_ID = 0;
      private byte __isset_bitfield = 0;
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TOPOLOGY_ID, new org.apache.thrift.meta_data.FieldMetaData("topologyId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.HOST, new org.apache.thrift.meta_data.FieldMetaData("host", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.PAGE, new org.apache.thrift.meta_data.FieldMetaData("page", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getPagingNettyMetrics_args.class, metaDataMap);
      }
  
      public getPagingNettyMetrics_args() {
      }
  
      public getPagingNettyMetrics_args(
        String topologyId,
        String host,
        int page)
      {
        this();
        this.topologyId = topologyId;
        this.host = host;
        this.page = page;
        set_page_isSet(true);
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getPagingNettyMetrics_args(getPagingNettyMetrics_args other) {
        __isset_bitfield = other.__isset_bitfield;
        if (other.is_set_topologyId()) {
          this.topologyId = other.topologyId;
        }
        if (other.is_set_host()) {
          this.host = other.host;
        }
        this.page = other.page;
      }
  
      public getPagingNettyMetrics_args deepCopy() {
        return new getPagingNettyMetrics_args(this);
      }
  
      @Override
      public void clear() {
        this.topologyId = null;
        this.host = null;
        set_page_isSet(false);
        this.page = 0;
      }
  
      public String get_topologyId() {
        return this.topologyId;
      }
  
      public void set_topologyId(String topologyId) {
        this.topologyId = topologyId;
      }
  
      public void unset_topologyId() {
        this.topologyId = null;
      }
  
      /** Returns true if field topologyId is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyId() {
        return this.topologyId != null;
      }
  
      public void set_topologyId_isSet(boolean value) {
        if (!value) {
          this.topologyId = null;
        }
      }
  
      public String get_host() {
        return this.host;
      }
  
      public void set_host(String host) {
        this.host = host;
      }
  
      public void unset_host() {
        this.host = null;
      }
  
      /** Returns true if field host is set (has been assigned a value) and false otherwise */
      public boolean is_set_host() {
        return this.host != null;
      }
  
      public void set_host_isSet(boolean value) {
        if (!value) {
          this.host = null;
        }
      }
  
      public int get_page() {
        return this.page;
      }
  
      public void set_page(int page) {
        this.page = page;
        set_page_isSet(true);
      }
  
      public void unset_page() {
        __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __PAGE_ISSET_ID);
      }
  
      /** Returns true if field page is set (has been assigned a value) and false otherwise */
      public boolean is_set_page() {
        return EncodingUtils.testBit(__isset_bitfield, __PAGE_ISSET_ID);
      }
  
      public void set_page_isSet(boolean value) {
        __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __PAGE_ISSET_ID, value);
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TOPOLOGY_ID:
          if (value == null) {
            unset_topologyId();
          } else {
            set_topologyId((String)value);
          }
          break;
  
        case HOST:
          if (value == null) {
            unset_host();
          } else {
            set_host((String)value);
          }
          break;
  
        case PAGE:
          if (value == null) {
            unset_page();
          } else {
            set_page((Integer)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TOPOLOGY_ID:
          return get_topologyId();
  
        case HOST:
          return get_host();
  
        case PAGE:
          return Integer.valueOf(get_page());
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TOPOLOGY_ID:
          return is_set_topologyId();
        case HOST:
          return is_set_host();
        case PAGE:
          return is_set_page();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getPagingNettyMetrics_args)
          return this.equals((getPagingNettyMetrics_args)that);
        return false;
      }
  
      public boolean equals(getPagingNettyMetrics_args that) {
        if (that == null)
          return false;
  
        boolean this_present_topologyId = true && this.is_set_topologyId();
        boolean that_present_topologyId = true && that.is_set_topologyId();
        if (this_present_topologyId || that_present_topologyId) {
          if (!(this_present_topologyId && that_present_topologyId))
            return false;
          if (!this.topologyId.equals(that.topologyId))
            return false;
        }
  
        boolean this_present_host = true && this.is_set_host();
        boolean that_present_host = true && that.is_set_host();
        if (this_present_host || that_present_host) {
          if (!(this_present_host && that_present_host))
            return false;
          if (!this.host.equals(that.host))
            return false;
        }
  
        boolean this_present_page = true;
        boolean that_present_page = true;
        if (this_present_page || that_present_page) {
          if (!(this_present_page && that_present_page))
            return false;
          if (this.page != that.page)
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_topologyId = true && (is_set_topologyId());
        list.add(present_topologyId);
        if (present_topologyId)
          list.add(topologyId);
  
        boolean present_host = true && (is_set_host());
        list.add(present_host);
        if (present_host)
          list.add(host);
  
        boolean present_page = true;
        list.add(present_page);
        if (present_page)
          list.add(page);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getPagingNettyMetrics_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_topologyId()).compareTo(other.is_set_topologyId());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyId()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyId, other.topologyId);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_host()).compareTo(other.is_set_host());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_host()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.host, other.host);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_page()).compareTo(other.is_set_page());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_page()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.page, other.page);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getPagingNettyMetrics_args(");
        boolean first = true;
  
        sb.append("topologyId:");
        if (this.topologyId == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyId);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("host:");
        if (this.host == null) {
          sb.append("null");
        } else {
          sb.append(this.host);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("page:");
        sb.append(this.page);
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
          __isset_bitfield = 0;
          read(new 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 getPagingNettyMetrics_argsStandardSchemeFactory implements SchemeFactory {
        public getPagingNettyMetrics_argsStandardScheme getScheme() {
          return new getPagingNettyMetrics_argsStandardScheme();
        }
      }
  
      private static class getPagingNettyMetrics_argsStandardScheme extends StandardScheme<getPagingNettyMetrics_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getPagingNettyMetrics_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: // TOPOLOGY_ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.topologyId = iprot.readString();
                  struct.set_topologyId_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // HOST
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.host = iprot.readString();
                  struct.set_host_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 3: // PAGE
                if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                  struct.page = iprot.readI32();
                  struct.set_page_isSet(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, getPagingNettyMetrics_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.topologyId != null) {
            oprot.writeFieldBegin(TOPOLOGY_ID_FIELD_DESC);
            oprot.writeString(struct.topologyId);
            oprot.writeFieldEnd();
          }
          if (struct.host != null) {
            oprot.writeFieldBegin(HOST_FIELD_DESC);
            oprot.writeString(struct.host);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldBegin(PAGE_FIELD_DESC);
          oprot.writeI32(struct.page);
          oprot.writeFieldEnd();
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getPagingNettyMetrics_argsTupleSchemeFactory implements SchemeFactory {
        public getPagingNettyMetrics_argsTupleScheme getScheme() {
          return new getPagingNettyMetrics_argsTupleScheme();
        }
      }
  
      private static class getPagingNettyMetrics_argsTupleScheme extends TupleScheme<getPagingNettyMetrics_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getPagingNettyMetrics_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_topologyId()) {
            optionals.set(0);
          }
          if (struct.is_set_host()) {
            optionals.set(1);
          }
          if (struct.is_set_page()) {
            optionals.set(2);
          }
          oprot.writeBitSet(optionals, 3);
          if (struct.is_set_topologyId()) {
            oprot.writeString(struct.topologyId);
          }
          if (struct.is_set_host()) {
            oprot.writeString(struct.host);
          }
          if (struct.is_set_page()) {
            oprot.writeI32(struct.page);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getPagingNettyMetrics_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(3);
          if (incoming.get(0)) {
            struct.topologyId = iprot.readString();
            struct.set_topologyId_isSet(true);
          }
          if (incoming.get(1)) {
            struct.host = iprot.readString();
            struct.set_host_isSet(true);
          }
          if (incoming.get(2)) {
            struct.page = iprot.readI32();
            struct.set_page_isSet(true);
          }
        }
      }
  
    }
  
    public static class getPagingNettyMetrics_result implements org.apache.thrift.TBase<getPagingNettyMetrics_result, getPagingNettyMetrics_result._Fields>, java.io.Serializable, Cloneable, Comparable<getPagingNettyMetrics_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPagingNettyMetrics_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 getPagingNettyMetrics_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getPagingNettyMetrics_resultTupleSchemeFactory());
      }
  
      private MetricInfo 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, MetricInfo.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getPagingNettyMetrics_result.class, metaDataMap);
      }
  
      public getPagingNettyMetrics_result() {
      }
  
      public getPagingNettyMetrics_result(
        MetricInfo success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getPagingNettyMetrics_result(getPagingNettyMetrics_result other) {
        if (other.is_set_success()) {
          this.success = new MetricInfo(other.success);
        }
      }
  
      public getPagingNettyMetrics_result deepCopy() {
        return new getPagingNettyMetrics_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public MetricInfo get_success() {
        return this.success;
      }
  
      public void set_success(MetricInfo success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((MetricInfo)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getPagingNettyMetrics_result)
          return this.equals((getPagingNettyMetrics_result)that);
        return false;
      }
  
      public boolean equals(getPagingNettyMetrics_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        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() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getPagingNettyMetrics_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.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("getPagingNettyMetrics_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 getPagingNettyMetrics_resultStandardSchemeFactory implements SchemeFactory {
        public getPagingNettyMetrics_resultStandardScheme getScheme() {
          return new getPagingNettyMetrics_resultStandardScheme();
        }
      }
  
      private static class getPagingNettyMetrics_resultStandardScheme extends StandardScheme<getPagingNettyMetrics_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getPagingNettyMetrics_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 MetricInfo();
                  struct.success.read(iprot);
                  struct.set_success_isSet(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, getPagingNettyMetrics_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 getPagingNettyMetrics_resultTupleSchemeFactory implements SchemeFactory {
        public getPagingNettyMetrics_resultTupleScheme getScheme() {
          return new getPagingNettyMetrics_resultTupleScheme();
        }
      }
  
      private static class getPagingNettyMetrics_resultTupleScheme extends TupleScheme<getPagingNettyMetrics_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getPagingNettyMetrics_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_success()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getPagingNettyMetrics_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new MetricInfo();
            struct.success.read(iprot);
            struct.set_success_isSet(true);
          }
        }
      }
  
    }
  
    public static class getNettyMetricSizeByHost_args implements org.apache.thrift.TBase<getNettyMetricSizeByHost_args, getNettyMetricSizeByHost_args._Fields>, java.io.Serializable, Cloneable, Comparable<getNettyMetricSizeByHost_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getNettyMetricSizeByHost_args");
  
      private static final org.apache.thrift.protocol.TField TOPOLOGY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyId", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField HOST_FIELD_DESC = new org.apache.thrift.protocol.TField("host", org.apache.thrift.protocol.TType.STRING, (short)2);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getNettyMetricSizeByHost_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getNettyMetricSizeByHost_argsTupleSchemeFactory());
      }
  
      private String topologyId; // required
      private String host; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TOPOLOGY_ID((short)1, "topologyId"),
        HOST((short)2, "host");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TOPOLOGY_ID
              return TOPOLOGY_ID;
            case 2: // HOST
              return HOST;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TOPOLOGY_ID, new org.apache.thrift.meta_data.FieldMetaData("topologyId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.HOST, new org.apache.thrift.meta_data.FieldMetaData("host", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getNettyMetricSizeByHost_args.class, metaDataMap);
      }
  
      public getNettyMetricSizeByHost_args() {
      }
  
      public getNettyMetricSizeByHost_args(
        String topologyId,
        String host)
      {
        this();
        this.topologyId = topologyId;
        this.host = host;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getNettyMetricSizeByHost_args(getNettyMetricSizeByHost_args other) {
        if (other.is_set_topologyId()) {
          this.topologyId = other.topologyId;
        }
        if (other.is_set_host()) {
          this.host = other.host;
        }
      }
  
      public getNettyMetricSizeByHost_args deepCopy() {
        return new getNettyMetricSizeByHost_args(this);
      }
  
      @Override
      public void clear() {
        this.topologyId = null;
        this.host = null;
      }
  
      public String get_topologyId() {
        return this.topologyId;
      }
  
      public void set_topologyId(String topologyId) {
        this.topologyId = topologyId;
      }
  
      public void unset_topologyId() {
        this.topologyId = null;
      }
  
      /** Returns true if field topologyId is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyId() {
        return this.topologyId != null;
      }
  
      public void set_topologyId_isSet(boolean value) {
        if (!value) {
          this.topologyId = null;
        }
      }
  
      public String get_host() {
        return this.host;
      }
  
      public void set_host(String host) {
        this.host = host;
      }
  
      public void unset_host() {
        this.host = null;
      }
  
      /** Returns true if field host is set (has been assigned a value) and false otherwise */
      public boolean is_set_host() {
        return this.host != null;
      }
  
      public void set_host_isSet(boolean value) {
        if (!value) {
          this.host = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TOPOLOGY_ID:
          if (value == null) {
            unset_topologyId();
          } else {
            set_topologyId((String)value);
          }
          break;
  
        case HOST:
          if (value == null) {
            unset_host();
          } else {
            set_host((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TOPOLOGY_ID:
          return get_topologyId();
  
        case HOST:
          return get_host();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TOPOLOGY_ID:
          return is_set_topologyId();
        case HOST:
          return is_set_host();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getNettyMetricSizeByHost_args)
          return this.equals((getNettyMetricSizeByHost_args)that);
        return false;
      }
  
      public boolean equals(getNettyMetricSizeByHost_args that) {
        if (that == null)
          return false;
  
        boolean this_present_topologyId = true && this.is_set_topologyId();
        boolean that_present_topologyId = true && that.is_set_topologyId();
        if (this_present_topologyId || that_present_topologyId) {
          if (!(this_present_topologyId && that_present_topologyId))
            return false;
          if (!this.topologyId.equals(that.topologyId))
            return false;
        }
  
        boolean this_present_host = true && this.is_set_host();
        boolean that_present_host = true && that.is_set_host();
        if (this_present_host || that_present_host) {
          if (!(this_present_host && that_present_host))
            return false;
          if (!this.host.equals(that.host))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_topologyId = true && (is_set_topologyId());
        list.add(present_topologyId);
        if (present_topologyId)
          list.add(topologyId);
  
        boolean present_host = true && (is_set_host());
        list.add(present_host);
        if (present_host)
          list.add(host);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getNettyMetricSizeByHost_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_topologyId()).compareTo(other.is_set_topologyId());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyId()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyId, other.topologyId);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_host()).compareTo(other.is_set_host());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_host()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.host, other.host);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getNettyMetricSizeByHost_args(");
        boolean first = true;
  
        sb.append("topologyId:");
        if (this.topologyId == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyId);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("host:");
        if (this.host == null) {
          sb.append("null");
        } else {
          sb.append(this.host);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getNettyMetricSizeByHost_argsStandardSchemeFactory implements SchemeFactory {
        public getNettyMetricSizeByHost_argsStandardScheme getScheme() {
          return new getNettyMetricSizeByHost_argsStandardScheme();
        }
      }
  
      private static class getNettyMetricSizeByHost_argsStandardScheme extends StandardScheme<getNettyMetricSizeByHost_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getNettyMetricSizeByHost_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: // TOPOLOGY_ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.topologyId = iprot.readString();
                  struct.set_topologyId_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // HOST
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.host = iprot.readString();
                  struct.set_host_isSet(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, getNettyMetricSizeByHost_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.topologyId != null) {
            oprot.writeFieldBegin(TOPOLOGY_ID_FIELD_DESC);
            oprot.writeString(struct.topologyId);
            oprot.writeFieldEnd();
          }
          if (struct.host != null) {
            oprot.writeFieldBegin(HOST_FIELD_DESC);
            oprot.writeString(struct.host);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getNettyMetricSizeByHost_argsTupleSchemeFactory implements SchemeFactory {
        public getNettyMetricSizeByHost_argsTupleScheme getScheme() {
          return new getNettyMetricSizeByHost_argsTupleScheme();
        }
      }
  
      private static class getNettyMetricSizeByHost_argsTupleScheme extends TupleScheme<getNettyMetricSizeByHost_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getNettyMetricSizeByHost_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_topologyId()) {
            optionals.set(0);
          }
          if (struct.is_set_host()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_topologyId()) {
            oprot.writeString(struct.topologyId);
          }
          if (struct.is_set_host()) {
            oprot.writeString(struct.host);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getNettyMetricSizeByHost_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.topologyId = iprot.readString();
            struct.set_topologyId_isSet(true);
          }
          if (incoming.get(1)) {
            struct.host = iprot.readString();
            struct.set_host_isSet(true);
          }
        }
      }
  
    }
  
    public static class getNettyMetricSizeByHost_result implements org.apache.thrift.TBase<getNettyMetricSizeByHost_result, getNettyMetricSizeByHost_result._Fields>, java.io.Serializable, Cloneable, Comparable<getNettyMetricSizeByHost_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getNettyMetricSizeByHost_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I32, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getNettyMetricSizeByHost_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getNettyMetricSizeByHost_resultTupleSchemeFactory());
      }
  
      private int success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      private static final int __SUCCESS_ISSET_ID = 0;
      private byte __isset_bitfield = 0;
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getNettyMetricSizeByHost_result.class, metaDataMap);
      }
  
      public getNettyMetricSizeByHost_result() {
      }
  
      public getNettyMetricSizeByHost_result(
        int success)
      {
        this();
        this.success = success;
        set_success_isSet(true);
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getNettyMetricSizeByHost_result(getNettyMetricSizeByHost_result other) {
        __isset_bitfield = other.__isset_bitfield;
        this.success = other.success;
      }
  
      public getNettyMetricSizeByHost_result deepCopy() {
        return new getNettyMetricSizeByHost_result(this);
      }
  
      @Override
      public void clear() {
        set_success_isSet(false);
        this.success = 0;
      }
  
      public int get_success() {
        return this.success;
      }
  
      public void set_success(int success) {
        this.success = success;
        set_success_isSet(true);
      }
  
      public void unset_success() {
        __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
      }
  
      public void set_success_isSet(boolean value) {
        __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((Integer)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return Integer.valueOf(get_success());
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getNettyMetricSizeByHost_result)
          return this.equals((getNettyMetricSizeByHost_result)that);
        return false;
      }
  
      public boolean equals(getNettyMetricSizeByHost_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true;
        boolean that_present_success = true;
        if (this_present_success || that_present_success) {
          if (!(this_present_success && that_present_success))
            return false;
          if (this.success != that.success)
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true;
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getNettyMetricSizeByHost_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.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("getNettyMetricSizeByHost_result(");
        boolean first = true;
  
        sb.append("success:");
        sb.append(this.success);
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
          __isset_bitfield = 0;
          read(new 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 getNettyMetricSizeByHost_resultStandardSchemeFactory implements SchemeFactory {
        public getNettyMetricSizeByHost_resultStandardScheme getScheme() {
          return new getNettyMetricSizeByHost_resultStandardScheme();
        }
      }
  
      private static class getNettyMetricSizeByHost_resultStandardScheme extends StandardScheme<getNettyMetricSizeByHost_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getNettyMetricSizeByHost_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.I32) {
                  struct.success = iprot.readI32();
                  struct.set_success_isSet(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, getNettyMetricSizeByHost_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.is_set_success()) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            oprot.writeI32(struct.success);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getNettyMetricSizeByHost_resultTupleSchemeFactory implements SchemeFactory {
        public getNettyMetricSizeByHost_resultTupleScheme getScheme() {
          return new getNettyMetricSizeByHost_resultTupleScheme();
        }
      }
  
      private static class getNettyMetricSizeByHost_resultTupleScheme extends TupleScheme<getNettyMetricSizeByHost_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getNettyMetricSizeByHost_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_success()) {
            oprot.writeI32(struct.success);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getNettyMetricSizeByHost_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = iprot.readI32();
            struct.set_success_isSet(true);
          }
        }
      }
  
    }
  
    public static class getTaskMetrics_args implements org.apache.thrift.TBase<getTaskMetrics_args, getTaskMetrics_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTaskMetrics_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTaskMetrics_args");
  
      private static final org.apache.thrift.protocol.TField TOPOLOGY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyId", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField COMPONENT_FIELD_DESC = new org.apache.thrift.protocol.TField("component", org.apache.thrift.protocol.TType.STRING, (short)2);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getTaskMetrics_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getTaskMetrics_argsTupleSchemeFactory());
      }
  
      private String topologyId; // required
      private String component; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TOPOLOGY_ID((short)1, "topologyId"),
        COMPONENT((short)2, "component");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TOPOLOGY_ID
              return TOPOLOGY_ID;
            case 2: // COMPONENT
              return COMPONENT;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TOPOLOGY_ID, new org.apache.thrift.meta_data.FieldMetaData("topologyId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.COMPONENT, new org.apache.thrift.meta_data.FieldMetaData("component", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTaskMetrics_args.class, metaDataMap);
      }
  
      public getTaskMetrics_args() {
      }
  
      public getTaskMetrics_args(
        String topologyId,
        String component)
      {
        this();
        this.topologyId = topologyId;
        this.component = component;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getTaskMetrics_args(getTaskMetrics_args other) {
        if (other.is_set_topologyId()) {
          this.topologyId = other.topologyId;
        }
        if (other.is_set_component()) {
          this.component = other.component;
        }
      }
  
      public getTaskMetrics_args deepCopy() {
        return new getTaskMetrics_args(this);
      }
  
      @Override
      public void clear() {
        this.topologyId = null;
        this.component = null;
      }
  
      public String get_topologyId() {
        return this.topologyId;
      }
  
      public void set_topologyId(String topologyId) {
        this.topologyId = topologyId;
      }
  
      public void unset_topologyId() {
        this.topologyId = null;
      }
  
      /** Returns true if field topologyId is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyId() {
        return this.topologyId != null;
      }
  
      public void set_topologyId_isSet(boolean value) {
        if (!value) {
          this.topologyId = null;
        }
      }
  
      public String get_component() {
        return this.component;
      }
  
      public void set_component(String component) {
        this.component = component;
      }
  
      public void unset_component() {
        this.component = null;
      }
  
      /** Returns true if field component is set (has been assigned a value) and false otherwise */
      public boolean is_set_component() {
        return this.component != null;
      }
  
      public void set_component_isSet(boolean value) {
        if (!value) {
          this.component = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TOPOLOGY_ID:
          if (value == null) {
            unset_topologyId();
          } else {
            set_topologyId((String)value);
          }
          break;
  
        case COMPONENT:
          if (value == null) {
            unset_component();
          } else {
            set_component((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TOPOLOGY_ID:
          return get_topologyId();
  
        case COMPONENT:
          return get_component();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TOPOLOGY_ID:
          return is_set_topologyId();
        case COMPONENT:
          return is_set_component();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getTaskMetrics_args)
          return this.equals((getTaskMetrics_args)that);
        return false;
      }
  
      public boolean equals(getTaskMetrics_args that) {
        if (that == null)
          return false;
  
        boolean this_present_topologyId = true && this.is_set_topologyId();
        boolean that_present_topologyId = true && that.is_set_topologyId();
        if (this_present_topologyId || that_present_topologyId) {
          if (!(this_present_topologyId && that_present_topologyId))
            return false;
          if (!this.topologyId.equals(that.topologyId))
            return false;
        }
  
        boolean this_present_component = true && this.is_set_component();
        boolean that_present_component = true && that.is_set_component();
        if (this_present_component || that_present_component) {
          if (!(this_present_component && that_present_component))
            return false;
          if (!this.component.equals(that.component))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_topologyId = true && (is_set_topologyId());
        list.add(present_topologyId);
        if (present_topologyId)
          list.add(topologyId);
  
        boolean present_component = true && (is_set_component());
        list.add(present_component);
        if (present_component)
          list.add(component);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getTaskMetrics_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_topologyId()).compareTo(other.is_set_topologyId());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyId()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyId, other.topologyId);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_component()).compareTo(other.is_set_component());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_component()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.component, other.component);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getTaskMetrics_args(");
        boolean first = true;
  
        sb.append("topologyId:");
        if (this.topologyId == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyId);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("component:");
        if (this.component == null) {
          sb.append("null");
        } else {
          sb.append(this.component);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getTaskMetrics_argsStandardSchemeFactory implements SchemeFactory {
        public getTaskMetrics_argsStandardScheme getScheme() {
          return new getTaskMetrics_argsStandardScheme();
        }
      }
  
      private static class getTaskMetrics_argsStandardScheme extends StandardScheme<getTaskMetrics_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getTaskMetrics_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: // TOPOLOGY_ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.topologyId = iprot.readString();
                  struct.set_topologyId_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // COMPONENT
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.component = iprot.readString();
                  struct.set_component_isSet(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, getTaskMetrics_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.topologyId != null) {
            oprot.writeFieldBegin(TOPOLOGY_ID_FIELD_DESC);
            oprot.writeString(struct.topologyId);
            oprot.writeFieldEnd();
          }
          if (struct.component != null) {
            oprot.writeFieldBegin(COMPONENT_FIELD_DESC);
            oprot.writeString(struct.component);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getTaskMetrics_argsTupleSchemeFactory implements SchemeFactory {
        public getTaskMetrics_argsTupleScheme getScheme() {
          return new getTaskMetrics_argsTupleScheme();
        }
      }
  
      private static class getTaskMetrics_argsTupleScheme extends TupleScheme<getTaskMetrics_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getTaskMetrics_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_topologyId()) {
            optionals.set(0);
          }
          if (struct.is_set_component()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_topologyId()) {
            oprot.writeString(struct.topologyId);
          }
          if (struct.is_set_component()) {
            oprot.writeString(struct.component);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getTaskMetrics_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.topologyId = iprot.readString();
            struct.set_topologyId_isSet(true);
          }
          if (incoming.get(1)) {
            struct.component = iprot.readString();
            struct.set_component_isSet(true);
          }
        }
      }
  
    }
  
    public static class getTaskMetrics_result implements org.apache.thrift.TBase<getTaskMetrics_result, getTaskMetrics_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTaskMetrics_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTaskMetrics_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 getTaskMetrics_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getTaskMetrics_resultTupleSchemeFactory());
      }
  
      private MetricInfo 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, MetricInfo.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTaskMetrics_result.class, metaDataMap);
      }
  
      public getTaskMetrics_result() {
      }
  
      public getTaskMetrics_result(
        MetricInfo success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getTaskMetrics_result(getTaskMetrics_result other) {
        if (other.is_set_success()) {
          this.success = new MetricInfo(other.success);
        }
      }
  
      public getTaskMetrics_result deepCopy() {
        return new getTaskMetrics_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public MetricInfo get_success() {
        return this.success;
      }
  
      public void set_success(MetricInfo success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((MetricInfo)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getTaskMetrics_result)
          return this.equals((getTaskMetrics_result)that);
        return false;
      }
  
      public boolean equals(getTaskMetrics_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        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() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getTaskMetrics_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.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("getTaskMetrics_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 getTaskMetrics_resultStandardSchemeFactory implements SchemeFactory {
        public getTaskMetrics_resultStandardScheme getScheme() {
          return new getTaskMetrics_resultStandardScheme();
        }
      }
  
      private static class getTaskMetrics_resultStandardScheme extends StandardScheme<getTaskMetrics_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getTaskMetrics_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 MetricInfo();
                  struct.success.read(iprot);
                  struct.set_success_isSet(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, getTaskMetrics_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 getTaskMetrics_resultTupleSchemeFactory implements SchemeFactory {
        public getTaskMetrics_resultTupleScheme getScheme() {
          return new getTaskMetrics_resultTupleScheme();
        }
      }
  
      private static class getTaskMetrics_resultTupleScheme extends TupleScheme<getTaskMetrics_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getTaskMetrics_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_success()) {
            struct.success.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getTaskMetrics_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = new MetricInfo();
            struct.success.read(iprot);
            struct.set_success_isSet(true);
          }
        }
      }
  
    }
  
    public static class getTaskAndStreamMetrics_args implements org.apache.thrift.TBase<getTaskAndStreamMetrics_args, getTaskAndStreamMetrics_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTaskAndStreamMetrics_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTaskAndStreamMetrics_args");
  
      private static final org.apache.thrift.protocol.TField TOPOLOGY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyId", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField TASK_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("taskId", org.apache.thrift.protocol.TType.I32, (short)2);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getTaskAndStreamMetrics_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getTaskAndStreamMetrics_argsTupleSchemeFactory());
      }
  
      private String topologyId; // required
      private int taskId; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TOPOLOGY_ID((short)1, "topologyId"),
        TASK_ID((short)2, "taskId");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TOPOLOGY_ID
              return TOPOLOGY_ID;
            case 2: // TASK_ID
              return TASK_ID;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      private static final int __TASKID_ISSET_ID = 0;
      private byte __isset_bitfield = 0;
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TOPOLOGY_ID, new org.apache.thrift.meta_data.FieldMetaData("topologyId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.TASK_ID, new org.apache.thrift.meta_data.FieldMetaData("taskId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTaskAndStreamMetrics_args.class, metaDataMap);
      }
  
      public getTaskAndStreamMetrics_args() {
      }
  
      public getTaskAndStreamMetrics_args(
        String topologyId,
        int taskId)
      {
        this();
        this.topologyId = topologyId;
        this.taskId = taskId;
        set_taskId_isSet(true);
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getTaskAndStreamMetrics_args(getTaskAndStreamMetrics_args other) {
        __isset_bitfield = other.__isset_bitfield;
        if (other.is_set_topologyId()) {
          this.topologyId = other.topologyId;
        }
        this.taskId = other.taskId;
      }
  
      public getTaskAndStreamMetrics_args deepCopy() {
        return new getTaskAndStreamMetrics_args(this);
      }
  
      @Override
      public void clear() {
        this.topologyId = null;
        set_taskId_isSet(false);
        this.taskId = 0;
      }
  
      public String get_topologyId() {
        return this.topologyId;
      }
  
      public void set_topologyId(String topologyId) {
        this.topologyId = topologyId;
      }
  
      public void unset_topologyId() {
        this.topologyId = null;
      }
  
      /** Returns true if field topologyId is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyId() {
        return this.topologyId != null;
      }
  
      public void set_topologyId_isSet(boolean value) {
        if (!value) {
          this.topologyId = null;
        }
      }
  
      public int get_taskId() {
        return this.taskId;
      }
  
      public void set_taskId(int taskId) {
        this.taskId = taskId;
        set_taskId_isSet(true);
      }
  
      public void unset_taskId() {
        __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TASKID_ISSET_ID);
      }
  
      /** Returns true if field taskId is set (has been assigned a value) and false otherwise */
      public boolean is_set_taskId() {
        return EncodingUtils.testBit(__isset_bitfield, __TASKID_ISSET_ID);
      }
  
      public void set_taskId_isSet(boolean value) {
        __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TASKID_ISSET_ID, value);
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TOPOLOGY_ID:
          if (value == null) {
            unset_topologyId();
          } else {
            set_topologyId((String)value);
          }
          break;
  
        case TASK_ID:
          if (value == null) {
            unset_taskId();
          } else {
            set_taskId((Integer)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TOPOLOGY_ID:
          return get_topologyId();
  
        case TASK_ID:
          return Integer.valueOf(get_taskId());
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TOPOLOGY_ID:
          return is_set_topologyId();
        case TASK_ID:
          return is_set_taskId();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getTaskAndStreamMetrics_args)
          return this.equals((getTaskAndStreamMetrics_args)that);
        return false;
      }
  
      public boolean equals(getTaskAndStreamMetrics_args that) {
        if (that == null)
          return false;
  
        boolean this_present_topologyId = true && this.is_set_topologyId();
        boolean that_present_topologyId = true && that.is_set_topologyId();
        if (this_present_topologyId || that_present_topologyId) {
          if (!(this_present_topologyId && that_present_topologyId))
            return false;
          if (!this.topologyId.equals(that.topologyId))
            return false;
        }
  
        boolean this_present_taskId = true;
        boolean that_present_taskId = true;
        if (this_present_taskId || that_present_taskId) {
          if (!(this_present_taskId && that_present_taskId))
            return false;
          if (this.taskId != that.taskId)
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_topologyId = true && (is_set_topologyId());
        list.add(present_topologyId);
        if (present_topologyId)
          list.add(topologyId);
  
        boolean present_taskId = true;
        list.add(present_taskId);
        if (present_taskId)
          list.add(taskId);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getTaskAndStreamMetrics_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_topologyId()).compareTo(other.is_set_topologyId());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyId()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyId, other.topologyId);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_taskId()).compareTo(other.is_set_taskId());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_taskId()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.taskId, other.taskId);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getTaskAndStreamMetrics_args(");
        boolean first = true;
  
        sb.append("topologyId:");
        if (this.topologyId == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyId);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("taskId:");
        sb.append(this.taskId);
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
          __isset_bitfield = 0;
          read(new 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 getTaskAndStreamMetrics_argsStandardSchemeFactory implements SchemeFactory {
        public getTaskAndStreamMetrics_argsStandardScheme getScheme() {
          return new getTaskAndStreamMetrics_argsStandardScheme();
        }
      }
  
      private static class getTaskAndStreamMetrics_argsStandardScheme extends StandardScheme<getTaskAndStreamMetrics_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getTaskAndStreamMetrics_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: // TOPOLOGY_ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.topologyId = iprot.readString();
                  struct.set_topologyId_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // TASK_ID
                if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                  struct.taskId = iprot.readI32();
                  struct.set_taskId_isSet(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, getTaskAndStreamMetrics_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.topologyId != null) {
            oprot.writeFieldBegin(TOPOLOGY_ID_FIELD_DESC);
            oprot.writeString(struct.topologyId);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldBegin(TASK_ID_FIELD_DESC);
          oprot.writeI32(struct.taskId);
          oprot.writeFieldEnd();
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getTaskAndStreamMetrics_argsTupleSchemeFactory implements SchemeFactory {
        public getTaskAndStreamMetrics_argsTupleScheme getScheme() {
          return new getTaskAndStreamMetrics_argsTupleScheme();
        }
      }
  
      private static class getTaskAndStreamMetrics_argsTupleScheme extends TupleScheme<getTaskAndStreamMetrics_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getTaskAndStreamMetrics_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_topologyId()) {
            optionals.set(0);
          }
          if (struct.is_set_taskId()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_topologyId()) {
            oprot.writeString(struct.topologyId);
          }
          if (struct.is_set_taskId()) {
            oprot.writeI32(struct.taskId);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getTaskAndStreamMetrics_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.topologyId = iprot.readString();
            struct.set_topologyId_isSet(true);
          }
          if (incoming.get(1)) {
            struct.taskId = iprot.readI32();
            struct.set_taskId_isSet(true);
          }
        }
      }
  
    }
  
    public static class getTaskAndStreamMetrics_result implements org.apache.thrift.TBase<getTaskAndStreamMetrics_result, getTaskAndStreamMetrics_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTaskAndStreamMetrics_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTaskAndStreamMetrics_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getTaskAndStreamMetrics_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getTaskAndStreamMetrics_resultTupleSchemeFactory());
      }
  
      private List<MetricInfo> success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
                new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, MetricInfo.class))));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTaskAndStreamMetrics_result.class, metaDataMap);
      }
  
      public getTaskAndStreamMetrics_result() {
      }
  
      public getTaskAndStreamMetrics_result(
        List<MetricInfo> success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getTaskAndStreamMetrics_result(getTaskAndStreamMetrics_result other) {
        if (other.is_set_success()) {
          List<MetricInfo> __this__success = new ArrayList<MetricInfo>(other.success.size());
          for (MetricInfo other_element : other.success) {
            __this__success.add(new MetricInfo(other_element));
          }
          this.success = __this__success;
        }
      }
  
      public getTaskAndStreamMetrics_result deepCopy() {
        return new getTaskAndStreamMetrics_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public int get_success_size() {
        return (this.success == null) ? 0 : this.success.size();
      }
  
      public java.util.Iterator<MetricInfo> get_success_iterator() {
        return (this.success == null) ? null : this.success.iterator();
      }
  
      public void add_to_success(MetricInfo elem) {
        if (this.success == null) {
          this.success = new ArrayList<MetricInfo>();
        }
        this.success.add(elem);
      }
  
      public List<MetricInfo> get_success() {
        return this.success;
      }
  
      public void set_success(List<MetricInfo> success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((List<MetricInfo>)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getTaskAndStreamMetrics_result)
          return this.equals((getTaskAndStreamMetrics_result)that);
        return false;
      }
  
      public boolean equals(getTaskAndStreamMetrics_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        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() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getTaskAndStreamMetrics_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.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("getTaskAndStreamMetrics_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
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getTaskAndStreamMetrics_resultStandardSchemeFactory implements SchemeFactory {
        public getTaskAndStreamMetrics_resultStandardScheme getScheme() {
          return new getTaskAndStreamMetrics_resultStandardScheme();
        }
      }
  
      private static class getTaskAndStreamMetrics_resultStandardScheme extends StandardScheme<getTaskAndStreamMetrics_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getTaskAndStreamMetrics_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.LIST) {
                  {
                    org.apache.thrift.protocol.TList _list288 = iprot.readListBegin();
                    struct.success = new ArrayList<MetricInfo>(_list288.size);
                    MetricInfo _elem289;
                    for (int _i290 = 0; _i290 < _list288.size; ++_i290)
                    {
                      _elem289 = new MetricInfo();
                      _elem289.read(iprot);
                      struct.success.add(_elem289);
                    }
                    iprot.readListEnd();
                  }
                  struct.set_success_isSet(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, getTaskAndStreamMetrics_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            {
              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
              for (MetricInfo _iter291 : struct.success)
              {
                _iter291.write(oprot);
              }
              oprot.writeListEnd();
            }
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getTaskAndStreamMetrics_resultTupleSchemeFactory implements SchemeFactory {
        public getTaskAndStreamMetrics_resultTupleScheme getScheme() {
          return new getTaskAndStreamMetrics_resultTupleScheme();
        }
      }
  
      private static class getTaskAndStreamMetrics_resultTupleScheme extends TupleScheme<getTaskAndStreamMetrics_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getTaskAndStreamMetrics_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_success()) {
            {
              oprot.writeI32(struct.success.size());
              for (MetricInfo _iter292 : struct.success)
              {
                _iter292.write(oprot);
              }
            }
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getTaskAndStreamMetrics_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            {
              org.apache.thrift.protocol.TList _list293 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
              struct.success = new ArrayList<MetricInfo>(_list293.size);
              MetricInfo _elem294;
              for (int _i295 = 0; _i295 < _list293.size; ++_i295)
              {
                _elem294 = new MetricInfo();
                _elem294.read(iprot);
                struct.success.add(_elem294);
              }
            }
            struct.set_success_isSet(true);
          }
        }
      }
  
    }
  
    public static class getSummarizedTopologyMetrics_args implements org.apache.thrift.TBase<getSummarizedTopologyMetrics_args, getSummarizedTopologyMetrics_args._Fields>, java.io.Serializable, Cloneable, Comparable<getSummarizedTopologyMetrics_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSummarizedTopologyMetrics_args");
  
      private static final org.apache.thrift.protocol.TField TOPOLOGY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyId", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getSummarizedTopologyMetrics_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getSummarizedTopologyMetrics_argsTupleSchemeFactory());
      }
  
      private String topologyId; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TOPOLOGY_ID((short)1, "topologyId");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TOPOLOGY_ID
              return TOPOLOGY_ID;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TOPOLOGY_ID, new org.apache.thrift.meta_data.FieldMetaData("topologyId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSummarizedTopologyMetrics_args.class, metaDataMap);
      }
  
      public getSummarizedTopologyMetrics_args() {
      }
  
      public getSummarizedTopologyMetrics_args(
        String topologyId)
      {
        this();
        this.topologyId = topologyId;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getSummarizedTopologyMetrics_args(getSummarizedTopologyMetrics_args other) {
        if (other.is_set_topologyId()) {
          this.topologyId = other.topologyId;
        }
      }
  
      public getSummarizedTopologyMetrics_args deepCopy() {
        return new getSummarizedTopologyMetrics_args(this);
      }
  
      @Override
      public void clear() {
        this.topologyId = null;
      }
  
      public String get_topologyId() {
        return this.topologyId;
      }
  
      public void set_topologyId(String topologyId) {
        this.topologyId = topologyId;
      }
  
      public void unset_topologyId() {
        this.topologyId = null;
      }
  
      /** Returns true if field topologyId is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyId() {
        return this.topologyId != null;
      }
  
      public void set_topologyId_isSet(boolean value) {
        if (!value) {
          this.topologyId = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TOPOLOGY_ID:
          if (value == null) {
            unset_topologyId();
          } else {
            set_topologyId((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TOPOLOGY_ID:
          return get_topologyId();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TOPOLOGY_ID:
          return is_set_topologyId();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getSummarizedTopologyMetrics_args)
          return this.equals((getSummarizedTopologyMetrics_args)that);
        return false;
      }
  
      public boolean equals(getSummarizedTopologyMetrics_args that) {
        if (that == null)
          return false;
  
        boolean this_present_topologyId = true && this.is_set_topologyId();
        boolean that_present_topologyId = true && that.is_set_topologyId();
        if (this_present_topologyId || that_present_topologyId) {
          if (!(this_present_topologyId && that_present_topologyId))
            return false;
          if (!this.topologyId.equals(that.topologyId))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_topologyId = true && (is_set_topologyId());
        list.add(present_topologyId);
        if (present_topologyId)
          list.add(topologyId);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getSummarizedTopologyMetrics_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_topologyId()).compareTo(other.is_set_topologyId());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyId()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyId, other.topologyId);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("getSummarizedTopologyMetrics_args(");
        boolean first = true;
  
        sb.append("topologyId:");
        if (this.topologyId == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyId);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getSummarizedTopologyMetrics_argsStandardSchemeFactory implements SchemeFactory {
        public getSummarizedTopologyMetrics_argsStandardScheme getScheme() {
          return new getSummarizedTopologyMetrics_argsStandardScheme();
        }
      }
  
      private static class getSummarizedTopologyMetrics_argsStandardScheme extends StandardScheme<getSummarizedTopologyMetrics_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getSummarizedTopologyMetrics_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: // TOPOLOGY_ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.topologyId = iprot.readString();
                  struct.set_topologyId_isSet(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, getSummarizedTopologyMetrics_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.topologyId != null) {
            oprot.writeFieldBegin(TOPOLOGY_ID_FIELD_DESC);
            oprot.writeString(struct.topologyId);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getSummarizedTopologyMetrics_argsTupleSchemeFactory implements SchemeFactory {
        public getSummarizedTopologyMetrics_argsTupleScheme getScheme() {
          return new getSummarizedTopologyMetrics_argsTupleScheme();
        }
      }
  
      private static class getSummarizedTopologyMetrics_argsTupleScheme extends TupleScheme<getSummarizedTopologyMetrics_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getSummarizedTopologyMetrics_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_topologyId()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_topologyId()) {
            oprot.writeString(struct.topologyId);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getSummarizedTopologyMetrics_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.topologyId = iprot.readString();
            struct.set_topologyId_isSet(true);
          }
        }
      }
  
    }
  
    public static class getSummarizedTopologyMetrics_result implements org.apache.thrift.TBase<getSummarizedTopologyMetrics_result, getSummarizedTopologyMetrics_result._Fields>, java.io.Serializable, Cloneable, Comparable<getSummarizedTopologyMetrics_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSummarizedTopologyMetrics_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getSummarizedTopologyMetrics_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getSummarizedTopologyMetrics_resultTupleSchemeFactory());
      }
  
      private List<MetricInfo> success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
                new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, MetricInfo.class))));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSummarizedTopologyMetrics_result.class, metaDataMap);
      }
  
      public getSummarizedTopologyMetrics_result() {
      }
  
      public getSummarizedTopologyMetrics_result(
        List<MetricInfo> success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getSummarizedTopologyMetrics_result(getSummarizedTopologyMetrics_result other) {
        if (other.is_set_success()) {
          List<MetricInfo> __this__success = new ArrayList<MetricInfo>(other.success.size());
          for (MetricInfo other_element : other.success) {
            __this__success.add(new MetricInfo(other_element));
          }
          this.success = __this__success;
        }
      }
  
      public getSummarizedTopologyMetrics_result deepCopy() {
        return new getSummarizedTopologyMetrics_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public int get_success_size() {
        return (this.success == null) ? 0 : this.success.size();
      }
  
      public java.util.Iterator<MetricInfo> get_success_iterator() {
        return (this.success == null) ? null : this.success.iterator();
      }
  
      public void add_to_success(MetricInfo elem) {
        if (this.success == null) {
          this.success = new ArrayList<MetricInfo>();
        }
        this.success.add(elem);
      }
  
      public List<MetricInfo> get_success() {
        return this.success;
      }
  
      public void set_success(List<MetricInfo> success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((List<MetricInfo>)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getSummarizedTopologyMetrics_result)
          return this.equals((getSummarizedTopologyMetrics_result)that);
        return false;
      }
  
      public boolean equals(getSummarizedTopologyMetrics_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        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() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getSummarizedTopologyMetrics_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.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("getSummarizedTopologyMetrics_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
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getSummarizedTopologyMetrics_resultStandardSchemeFactory implements SchemeFactory {
        public getSummarizedTopologyMetrics_resultStandardScheme getScheme() {
          return new getSummarizedTopologyMetrics_resultStandardScheme();
        }
      }
  
      private static class getSummarizedTopologyMetrics_resultStandardScheme extends StandardScheme<getSummarizedTopologyMetrics_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getSummarizedTopologyMetrics_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.LIST) {
                  {
                    org.apache.thrift.protocol.TList _list296 = iprot.readListBegin();
                    struct.success = new ArrayList<MetricInfo>(_list296.size);
                    MetricInfo _elem297;
                    for (int _i298 = 0; _i298 < _list296.size; ++_i298)
                    {
                      _elem297 = new MetricInfo();
                      _elem297.read(iprot);
                      struct.success.add(_elem297);
                    }
                    iprot.readListEnd();
                  }
                  struct.set_success_isSet(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, getSummarizedTopologyMetrics_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            {
              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
              for (MetricInfo _iter299 : struct.success)
              {
                _iter299.write(oprot);
              }
              oprot.writeListEnd();
            }
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getSummarizedTopologyMetrics_resultTupleSchemeFactory implements SchemeFactory {
        public getSummarizedTopologyMetrics_resultTupleScheme getScheme() {
          return new getSummarizedTopologyMetrics_resultTupleScheme();
        }
      }
  
      private static class getSummarizedTopologyMetrics_resultTupleScheme extends TupleScheme<getSummarizedTopologyMetrics_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getSummarizedTopologyMetrics_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_success()) {
            {
              oprot.writeI32(struct.success.size());
              for (MetricInfo _iter300 : struct.success)
              {
                _iter300.write(oprot);
              }
            }
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getSummarizedTopologyMetrics_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            {
              org.apache.thrift.protocol.TList _list301 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
              struct.success = new ArrayList<MetricInfo>(_list301.size);
              MetricInfo _elem302;
              for (int _i303 = 0; _i303 < _list301.size; ++_i303)
              {
                _elem302 = new MetricInfo();
                _elem302.read(iprot);
                struct.success.add(_elem302);
              }
            }
            struct.set_success_isSet(true);
          }
        }
      }
  
    }
  
    public static class getVersion_args implements org.apache.thrift.TBase<getVersion_args, getVersion_args._Fields>, java.io.Serializable, Cloneable, Comparable<getVersion_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getVersion_args");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getVersion_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getVersion_argsTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getVersion_args.class, metaDataMap);
      }
  
      public getVersion_args() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getVersion_args(getVersion_args other) {
      }
  
      public getVersion_args deepCopy() {
        return new getVersion_args(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getVersion_args)
          return this.equals((getVersion_args)that);
        return false;
      }
  
      public boolean equals(getVersion_args that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getVersion_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("getVersion_args(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getVersion_argsStandardSchemeFactory implements SchemeFactory {
        public getVersion_argsStandardScheme getScheme() {
          return new getVersion_argsStandardScheme();
        }
      }
  
      private static class getVersion_argsStandardScheme extends StandardScheme<getVersion_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getVersion_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) {
              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, getVersion_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getVersion_argsTupleSchemeFactory implements SchemeFactory {
        public getVersion_argsTupleScheme getScheme() {
          return new getVersion_argsTupleScheme();
        }
      }
  
      private static class getVersion_argsTupleScheme extends TupleScheme<getVersion_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getVersion_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getVersion_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class getVersion_result implements org.apache.thrift.TBase<getVersion_result, getVersion_result._Fields>, java.io.Serializable, Cloneable, Comparable<getVersion_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getVersion_result");
  
      private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new getVersion_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new getVersion_resultTupleSchemeFactory());
      }
  
      private String success; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        SUCCESS((short)0, "success");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 0: // SUCCESS
              return SUCCESS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getVersion_result.class, metaDataMap);
      }
  
      public getVersion_result() {
      }
  
      public getVersion_result(
        String success)
      {
        this();
        this.success = success;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public getVersion_result(getVersion_result other) {
        if (other.is_set_success()) {
          this.success = other.success;
        }
      }
  
      public getVersion_result deepCopy() {
        return new getVersion_result(this);
      }
  
      @Override
      public void clear() {
        this.success = null;
      }
  
      public String get_success() {
        return this.success;
      }
  
      public void set_success(String success) {
        this.success = success;
      }
  
      public void unset_success() {
        this.success = null;
      }
  
      /** Returns true if field success is set (has been assigned a value) and false otherwise */
      public boolean is_set_success() {
        return this.success != null;
      }
  
      public void set_success_isSet(boolean value) {
        if (!value) {
          this.success = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case SUCCESS:
          if (value == null) {
            unset_success();
          } else {
            set_success((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case SUCCESS:
          return get_success();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case SUCCESS:
          return is_set_success();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof getVersion_result)
          return this.equals((getVersion_result)that);
        return false;
      }
  
      public boolean equals(getVersion_result that) {
        if (that == null)
          return false;
  
        boolean this_present_success = true && this.is_set_success();
        boolean that_present_success = true && that.is_set_success();
        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() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_success = true && (is_set_success());
        list.add(present_success);
        if (present_success)
          list.add(success);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(getVersion_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_success()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.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("getVersion_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
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 getVersion_resultStandardSchemeFactory implements SchemeFactory {
        public getVersion_resultStandardScheme getScheme() {
          return new getVersion_resultStandardScheme();
        }
      }
  
      private static class getVersion_resultStandardScheme extends StandardScheme<getVersion_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, getVersion_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.STRING) {
                  struct.success = iprot.readString();
                  struct.set_success_isSet(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, getVersion_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.success != null) {
            oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
            oprot.writeString(struct.success);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class getVersion_resultTupleSchemeFactory implements SchemeFactory {
        public getVersion_resultTupleScheme getScheme() {
          return new getVersion_resultTupleScheme();
        }
      }
  
      private static class getVersion_resultTupleScheme extends TupleScheme<getVersion_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, getVersion_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_success()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_success()) {
            oprot.writeString(struct.success);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, getVersion_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.success = iprot.readString();
            struct.set_success_isSet(true);
          }
        }
      }
  
    }
  
    public static class updateTopology_args implements org.apache.thrift.TBase<updateTopology_args, updateTopology_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateTopology_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateTopology_args");
  
      private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField UPLOADED_LOCATION_FIELD_DESC = new org.apache.thrift.protocol.TField("uploadedLocation", org.apache.thrift.protocol.TType.STRING, (short)2);
      private static final org.apache.thrift.protocol.TField UPDATE_CONF_FIELD_DESC = new org.apache.thrift.protocol.TField("updateConf", org.apache.thrift.protocol.TType.STRING, (short)3);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new updateTopology_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new updateTopology_argsTupleSchemeFactory());
      }
  
      private String name; // required
      private String uploadedLocation; // required
      private String updateConf; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        NAME((short)1, "name"),
        UPLOADED_LOCATION((short)2, "uploadedLocation"),
        UPDATE_CONF((short)3, "updateConf");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // NAME
              return NAME;
            case 2: // UPLOADED_LOCATION
              return UPLOADED_LOCATION;
            case 3: // UPDATE_CONF
              return UPDATE_CONF;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.UPLOADED_LOCATION, new org.apache.thrift.meta_data.FieldMetaData("uploadedLocation", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.UPDATE_CONF, new org.apache.thrift.meta_data.FieldMetaData("updateConf", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateTopology_args.class, metaDataMap);
      }
  
      public updateTopology_args() {
      }
  
      public updateTopology_args(
        String name,
        String uploadedLocation,
        String updateConf)
      {
        this();
        this.name = name;
        this.uploadedLocation = uploadedLocation;
        this.updateConf = updateConf;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public updateTopology_args(updateTopology_args other) {
        if (other.is_set_name()) {
          this.name = other.name;
        }
        if (other.is_set_uploadedLocation()) {
          this.uploadedLocation = other.uploadedLocation;
        }
        if (other.is_set_updateConf()) {
          this.updateConf = other.updateConf;
        }
      }
  
      public updateTopology_args deepCopy() {
        return new updateTopology_args(this);
      }
  
      @Override
      public void clear() {
        this.name = null;
        this.uploadedLocation = null;
        this.updateConf = null;
      }
  
      public String get_name() {
        return this.name;
      }
  
      public void set_name(String name) {
        this.name = name;
      }
  
      public void unset_name() {
        this.name = null;
      }
  
      /** Returns true if field name is set (has been assigned a value) and false otherwise */
      public boolean is_set_name() {
        return this.name != null;
      }
  
      public void set_name_isSet(boolean value) {
        if (!value) {
          this.name = null;
        }
      }
  
      public String get_uploadedLocation() {
        return this.uploadedLocation;
      }
  
      public void set_uploadedLocation(String uploadedLocation) {
        this.uploadedLocation = uploadedLocation;
      }
  
      public void unset_uploadedLocation() {
        this.uploadedLocation = null;
      }
  
      /** Returns true if field uploadedLocation is set (has been assigned a value) and false otherwise */
      public boolean is_set_uploadedLocation() {
        return this.uploadedLocation != null;
      }
  
      public void set_uploadedLocation_isSet(boolean value) {
        if (!value) {
          this.uploadedLocation = null;
        }
      }
  
      public String get_updateConf() {
        return this.updateConf;
      }
  
      public void set_updateConf(String updateConf) {
        this.updateConf = updateConf;
      }
  
      public void unset_updateConf() {
        this.updateConf = null;
      }
  
      /** Returns true if field updateConf is set (has been assigned a value) and false otherwise */
      public boolean is_set_updateConf() {
        return this.updateConf != null;
      }
  
      public void set_updateConf_isSet(boolean value) {
        if (!value) {
          this.updateConf = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case NAME:
          if (value == null) {
            unset_name();
          } else {
            set_name((String)value);
          }
          break;
  
        case UPLOADED_LOCATION:
          if (value == null) {
            unset_uploadedLocation();
          } else {
            set_uploadedLocation((String)value);
          }
          break;
  
        case UPDATE_CONF:
          if (value == null) {
            unset_updateConf();
          } else {
            set_updateConf((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case NAME:
          return get_name();
  
        case UPLOADED_LOCATION:
          return get_uploadedLocation();
  
        case UPDATE_CONF:
          return get_updateConf();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case NAME:
          return is_set_name();
        case UPLOADED_LOCATION:
          return is_set_uploadedLocation();
        case UPDATE_CONF:
          return is_set_updateConf();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof updateTopology_args)
          return this.equals((updateTopology_args)that);
        return false;
      }
  
      public boolean equals(updateTopology_args that) {
        if (that == null)
          return false;
  
        boolean this_present_name = true && this.is_set_name();
        boolean that_present_name = true && that.is_set_name();
        if (this_present_name || that_present_name) {
          if (!(this_present_name && that_present_name))
            return false;
          if (!this.name.equals(that.name))
            return false;
        }
  
        boolean this_present_uploadedLocation = true && this.is_set_uploadedLocation();
        boolean that_present_uploadedLocation = true && that.is_set_uploadedLocation();
        if (this_present_uploadedLocation || that_present_uploadedLocation) {
          if (!(this_present_uploadedLocation && that_present_uploadedLocation))
            return false;
          if (!this.uploadedLocation.equals(that.uploadedLocation))
            return false;
        }
  
        boolean this_present_updateConf = true && this.is_set_updateConf();
        boolean that_present_updateConf = true && that.is_set_updateConf();
        if (this_present_updateConf || that_present_updateConf) {
          if (!(this_present_updateConf && that_present_updateConf))
            return false;
          if (!this.updateConf.equals(that.updateConf))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_name = true && (is_set_name());
        list.add(present_name);
        if (present_name)
          list.add(name);
  
        boolean present_uploadedLocation = true && (is_set_uploadedLocation());
        list.add(present_uploadedLocation);
        if (present_uploadedLocation)
          list.add(uploadedLocation);
  
        boolean present_updateConf = true && (is_set_updateConf());
        list.add(present_updateConf);
        if (present_updateConf)
          list.add(updateConf);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(updateTopology_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_name()).compareTo(other.is_set_name());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_name()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_uploadedLocation()).compareTo(other.is_set_uploadedLocation());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_uploadedLocation()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.uploadedLocation, other.uploadedLocation);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_updateConf()).compareTo(other.is_set_updateConf());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_updateConf()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.updateConf, other.updateConf);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("updateTopology_args(");
        boolean first = true;
  
        sb.append("name:");
        if (this.name == null) {
          sb.append("null");
        } else {
          sb.append(this.name);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("uploadedLocation:");
        if (this.uploadedLocation == null) {
          sb.append("null");
        } else {
          sb.append(this.uploadedLocation);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("updateConf:");
        if (this.updateConf == null) {
          sb.append("null");
        } else {
          sb.append(this.updateConf);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 updateTopology_argsStandardSchemeFactory implements SchemeFactory {
        public updateTopology_argsStandardScheme getScheme() {
          return new updateTopology_argsStandardScheme();
        }
      }
  
      private static class updateTopology_argsStandardScheme extends StandardScheme<updateTopology_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, updateTopology_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: // NAME
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.name = iprot.readString();
                  struct.set_name_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // UPLOADED_LOCATION
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.uploadedLocation = iprot.readString();
                  struct.set_uploadedLocation_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 3: // UPDATE_CONF
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.updateConf = iprot.readString();
                  struct.set_updateConf_isSet(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, updateTopology_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.name != null) {
            oprot.writeFieldBegin(NAME_FIELD_DESC);
            oprot.writeString(struct.name);
            oprot.writeFieldEnd();
          }
          if (struct.uploadedLocation != null) {
            oprot.writeFieldBegin(UPLOADED_LOCATION_FIELD_DESC);
            oprot.writeString(struct.uploadedLocation);
            oprot.writeFieldEnd();
          }
          if (struct.updateConf != null) {
            oprot.writeFieldBegin(UPDATE_CONF_FIELD_DESC);
            oprot.writeString(struct.updateConf);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class updateTopology_argsTupleSchemeFactory implements SchemeFactory {
        public updateTopology_argsTupleScheme getScheme() {
          return new updateTopology_argsTupleScheme();
        }
      }
  
      private static class updateTopology_argsTupleScheme extends TupleScheme<updateTopology_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, updateTopology_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_name()) {
            optionals.set(0);
          }
          if (struct.is_set_uploadedLocation()) {
            optionals.set(1);
          }
          if (struct.is_set_updateConf()) {
            optionals.set(2);
          }
          oprot.writeBitSet(optionals, 3);
          if (struct.is_set_name()) {
            oprot.writeString(struct.name);
          }
          if (struct.is_set_uploadedLocation()) {
            oprot.writeString(struct.uploadedLocation);
          }
          if (struct.is_set_updateConf()) {
            oprot.writeString(struct.updateConf);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, updateTopology_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(3);
          if (incoming.get(0)) {
            struct.name = iprot.readString();
            struct.set_name_isSet(true);
          }
          if (incoming.get(1)) {
            struct.uploadedLocation = iprot.readString();
            struct.set_uploadedLocation_isSet(true);
          }
          if (incoming.get(2)) {
            struct.updateConf = iprot.readString();
            struct.set_updateConf_isSet(true);
          }
        }
      }
  
    }
  
    public static class updateTopology_result implements org.apache.thrift.TBase<updateTopology_result, updateTopology_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateTopology_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateTopology_result");
  
      private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", org.apache.thrift.protocol.TType.STRUCT, (short)1);
      private static final org.apache.thrift.protocol.TField ITE_FIELD_DESC = new org.apache.thrift.protocol.TField("ite", org.apache.thrift.protocol.TType.STRUCT, (short)2);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new updateTopology_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new updateTopology_resultTupleSchemeFactory());
      }
  
      private NotAliveException e; // required
      private InvalidTopologyException ite; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        E((short)1, "e"),
        ITE((short)2, "ite");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // E
              return E;
            case 2: // ITE
              return ITE;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        tmpMap.put(_Fields.ITE, new org.apache.thrift.meta_data.FieldMetaData("ite", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateTopology_result.class, metaDataMap);
      }
  
      public updateTopology_result() {
      }
  
      public updateTopology_result(
        NotAliveException e,
        InvalidTopologyException ite)
      {
        this();
        this.e = e;
        this.ite = ite;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public updateTopology_result(updateTopology_result other) {
        if (other.is_set_e()) {
          this.e = new NotAliveException(other.e);
        }
        if (other.is_set_ite()) {
          this.ite = new InvalidTopologyException(other.ite);
        }
      }
  
      public updateTopology_result deepCopy() {
        return new updateTopology_result(this);
      }
  
      @Override
      public void clear() {
        this.e = null;
        this.ite = null;
      }
  
      public NotAliveException get_e() {
        return this.e;
      }
  
      public void set_e(NotAliveException e) {
        this.e = e;
      }
  
      public void unset_e() {
        this.e = null;
      }
  
      /** Returns true if field e is set (has been assigned a value) and false otherwise */
      public boolean is_set_e() {
        return this.e != null;
      }
  
      public void set_e_isSet(boolean value) {
        if (!value) {
          this.e = null;
        }
      }
  
      public InvalidTopologyException get_ite() {
        return this.ite;
      }
  
      public void set_ite(InvalidTopologyException ite) {
        this.ite = ite;
      }
  
      public void unset_ite() {
        this.ite = null;
      }
  
      /** Returns true if field ite is set (has been assigned a value) and false otherwise */
      public boolean is_set_ite() {
        return this.ite != null;
      }
  
      public void set_ite_isSet(boolean value) {
        if (!value) {
          this.ite = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case E:
          if (value == null) {
            unset_e();
          } else {
            set_e((NotAliveException)value);
          }
          break;
  
        case ITE:
          if (value == null) {
            unset_ite();
          } else {
            set_ite((InvalidTopologyException)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case E:
          return get_e();
  
        case ITE:
          return get_ite();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case E:
          return is_set_e();
        case ITE:
          return is_set_ite();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof updateTopology_result)
          return this.equals((updateTopology_result)that);
        return false;
      }
  
      public boolean equals(updateTopology_result that) {
        if (that == null)
          return false;
  
        boolean this_present_e = true && this.is_set_e();
        boolean that_present_e = true && that.is_set_e();
        if (this_present_e || that_present_e) {
          if (!(this_present_e && that_present_e))
            return false;
          if (!this.e.equals(that.e))
            return false;
        }
  
        boolean this_present_ite = true && this.is_set_ite();
        boolean that_present_ite = true && that.is_set_ite();
        if (this_present_ite || that_present_ite) {
          if (!(this_present_ite && that_present_ite))
            return false;
          if (!this.ite.equals(that.ite))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_e = true && (is_set_e());
        list.add(present_e);
        if (present_e)
          list.add(e);
  
        boolean present_ite = true && (is_set_ite());
        list.add(present_ite);
        if (present_ite)
          list.add(ite);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(updateTopology_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_e()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_ite()).compareTo(other.is_set_ite());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_ite()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ite, other.ite);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("updateTopology_result(");
        boolean first = true;
  
        sb.append("e:");
        if (this.e == null) {
          sb.append("null");
        } else {
          sb.append(this.e);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("ite:");
        if (this.ite == null) {
          sb.append("null");
        } else {
          sb.append(this.ite);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 updateTopology_resultStandardSchemeFactory implements SchemeFactory {
        public updateTopology_resultStandardScheme getScheme() {
          return new updateTopology_resultStandardScheme();
        }
      }
  
      private static class updateTopology_resultStandardScheme extends StandardScheme<updateTopology_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, updateTopology_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 1: // E
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.e = new NotAliveException();
                  struct.e.read(iprot);
                  struct.set_e_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // ITE
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.ite = new InvalidTopologyException();
                  struct.ite.read(iprot);
                  struct.set_ite_isSet(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, updateTopology_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.e != null) {
            oprot.writeFieldBegin(E_FIELD_DESC);
            struct.e.write(oprot);
            oprot.writeFieldEnd();
          }
          if (struct.ite != null) {
            oprot.writeFieldBegin(ITE_FIELD_DESC);
            struct.ite.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class updateTopology_resultTupleSchemeFactory implements SchemeFactory {
        public updateTopology_resultTupleScheme getScheme() {
          return new updateTopology_resultTupleScheme();
        }
      }
  
      private static class updateTopology_resultTupleScheme extends TupleScheme<updateTopology_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, updateTopology_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_e()) {
            optionals.set(0);
          }
          if (struct.is_set_ite()) {
            optionals.set(1);
          }
          oprot.writeBitSet(optionals, 2);
          if (struct.is_set_e()) {
            struct.e.write(oprot);
          }
          if (struct.is_set_ite()) {
            struct.ite.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, updateTopology_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(2);
          if (incoming.get(0)) {
            struct.e = new NotAliveException();
            struct.e.read(iprot);
            struct.set_e_isSet(true);
          }
          if (incoming.get(1)) {
            struct.ite = new InvalidTopologyException();
            struct.ite.read(iprot);
            struct.set_ite_isSet(true);
          }
        }
      }
  
    }
  
    public static class updateTaskHeartbeat_args implements org.apache.thrift.TBase<updateTaskHeartbeat_args, updateTaskHeartbeat_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateTaskHeartbeat_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateTaskHeartbeat_args");
  
      private static final org.apache.thrift.protocol.TField TASK_HBS_FIELD_DESC = new org.apache.thrift.protocol.TField("taskHbs", 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 updateTaskHeartbeat_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new updateTaskHeartbeat_argsTupleSchemeFactory());
      }
  
      private TopologyTaskHbInfo taskHbs; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TASK_HBS((short)1, "taskHbs");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TASK_HBS
              return TASK_HBS;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TASK_HBS, new org.apache.thrift.meta_data.FieldMetaData("taskHbs", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TopologyTaskHbInfo.class)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateTaskHeartbeat_args.class, metaDataMap);
      }
  
      public updateTaskHeartbeat_args() {
      }
  
      public updateTaskHeartbeat_args(
        TopologyTaskHbInfo taskHbs)
      {
        this();
        this.taskHbs = taskHbs;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public updateTaskHeartbeat_args(updateTaskHeartbeat_args other) {
        if (other.is_set_taskHbs()) {
          this.taskHbs = new TopologyTaskHbInfo(other.taskHbs);
        }
      }
  
      public updateTaskHeartbeat_args deepCopy() {
        return new updateTaskHeartbeat_args(this);
      }
  
      @Override
      public void clear() {
        this.taskHbs = null;
      }
  
      public TopologyTaskHbInfo get_taskHbs() {
        return this.taskHbs;
      }
  
      public void set_taskHbs(TopologyTaskHbInfo taskHbs) {
        this.taskHbs = taskHbs;
      }
  
      public void unset_taskHbs() {
        this.taskHbs = null;
      }
  
      /** Returns true if field taskHbs is set (has been assigned a value) and false otherwise */
      public boolean is_set_taskHbs() {
        return this.taskHbs != null;
      }
  
      public void set_taskHbs_isSet(boolean value) {
        if (!value) {
          this.taskHbs = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TASK_HBS:
          if (value == null) {
            unset_taskHbs();
          } else {
            set_taskHbs((TopologyTaskHbInfo)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TASK_HBS:
          return get_taskHbs();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TASK_HBS:
          return is_set_taskHbs();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof updateTaskHeartbeat_args)
          return this.equals((updateTaskHeartbeat_args)that);
        return false;
      }
  
      public boolean equals(updateTaskHeartbeat_args that) {
        if (that == null)
          return false;
  
        boolean this_present_taskHbs = true && this.is_set_taskHbs();
        boolean that_present_taskHbs = true && that.is_set_taskHbs();
        if (this_present_taskHbs || that_present_taskHbs) {
          if (!(this_present_taskHbs && that_present_taskHbs))
            return false;
          if (!this.taskHbs.equals(that.taskHbs))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_taskHbs = true && (is_set_taskHbs());
        list.add(present_taskHbs);
        if (present_taskHbs)
          list.add(taskHbs);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(updateTaskHeartbeat_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_taskHbs()).compareTo(other.is_set_taskHbs());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_taskHbs()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.taskHbs, other.taskHbs);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("updateTaskHeartbeat_args(");
        boolean first = true;
  
        sb.append("taskHbs:");
        if (this.taskHbs == null) {
          sb.append("null");
        } else {
          sb.append(this.taskHbs);
        }
        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 (taskHbs != null) {
          taskHbs.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 updateTaskHeartbeat_argsStandardSchemeFactory implements SchemeFactory {
        public updateTaskHeartbeat_argsStandardScheme getScheme() {
          return new updateTaskHeartbeat_argsStandardScheme();
        }
      }
  
      private static class updateTaskHeartbeat_argsStandardScheme extends StandardScheme<updateTaskHeartbeat_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, updateTaskHeartbeat_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: // TASK_HBS
                if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                  struct.taskHbs = new TopologyTaskHbInfo();
                  struct.taskHbs.read(iprot);
                  struct.set_taskHbs_isSet(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, updateTaskHeartbeat_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.taskHbs != null) {
            oprot.writeFieldBegin(TASK_HBS_FIELD_DESC);
            struct.taskHbs.write(oprot);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class updateTaskHeartbeat_argsTupleSchemeFactory implements SchemeFactory {
        public updateTaskHeartbeat_argsTupleScheme getScheme() {
          return new updateTaskHeartbeat_argsTupleScheme();
        }
      }
  
      private static class updateTaskHeartbeat_argsTupleScheme extends TupleScheme<updateTaskHeartbeat_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, updateTaskHeartbeat_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_taskHbs()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_taskHbs()) {
            struct.taskHbs.write(oprot);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, updateTaskHeartbeat_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.taskHbs = new TopologyTaskHbInfo();
            struct.taskHbs.read(iprot);
            struct.set_taskHbs_isSet(true);
          }
        }
      }
  
    }
  
    public static class updateTaskHeartbeat_result implements org.apache.thrift.TBase<updateTaskHeartbeat_result, updateTaskHeartbeat_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateTaskHeartbeat_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateTaskHeartbeat_result");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new updateTaskHeartbeat_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new updateTaskHeartbeat_resultTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateTaskHeartbeat_result.class, metaDataMap);
      }
  
      public updateTaskHeartbeat_result() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public updateTaskHeartbeat_result(updateTaskHeartbeat_result other) {
      }
  
      public updateTaskHeartbeat_result deepCopy() {
        return new updateTaskHeartbeat_result(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof updateTaskHeartbeat_result)
          return this.equals((updateTaskHeartbeat_result)that);
        return false;
      }
  
      public boolean equals(updateTaskHeartbeat_result that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(updateTaskHeartbeat_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("updateTaskHeartbeat_result(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 updateTaskHeartbeat_resultStandardSchemeFactory implements SchemeFactory {
        public updateTaskHeartbeat_resultStandardScheme getScheme() {
          return new updateTaskHeartbeat_resultStandardScheme();
        }
      }
  
      private static class updateTaskHeartbeat_resultStandardScheme extends StandardScheme<updateTaskHeartbeat_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, updateTaskHeartbeat_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) {
              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, updateTaskHeartbeat_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class updateTaskHeartbeat_resultTupleSchemeFactory implements SchemeFactory {
        public updateTaskHeartbeat_resultTupleScheme getScheme() {
          return new updateTaskHeartbeat_resultTupleScheme();
        }
      }
  
      private static class updateTaskHeartbeat_resultTupleScheme extends TupleScheme<updateTaskHeartbeat_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, updateTaskHeartbeat_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, updateTaskHeartbeat_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class setHostInBlackList_args implements org.apache.thrift.TBase<setHostInBlackList_args, setHostInBlackList_args._Fields>, java.io.Serializable, Cloneable, Comparable<setHostInBlackList_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("setHostInBlackList_args");
  
      private static final org.apache.thrift.protocol.TField HOST_FIELD_DESC = new org.apache.thrift.protocol.TField("host", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new setHostInBlackList_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new setHostInBlackList_argsTupleSchemeFactory());
      }
  
      private String host; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        HOST((short)1, "host");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // HOST
              return HOST;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.HOST, new org.apache.thrift.meta_data.FieldMetaData("host", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(setHostInBlackList_args.class, metaDataMap);
      }
  
      public setHostInBlackList_args() {
      }
  
      public setHostInBlackList_args(
        String host)
      {
        this();
        this.host = host;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public setHostInBlackList_args(setHostInBlackList_args other) {
        if (other.is_set_host()) {
          this.host = other.host;
        }
      }
  
      public setHostInBlackList_args deepCopy() {
        return new setHostInBlackList_args(this);
      }
  
      @Override
      public void clear() {
        this.host = null;
      }
  
      public String get_host() {
        return this.host;
      }
  
      public void set_host(String host) {
        this.host = host;
      }
  
      public void unset_host() {
        this.host = null;
      }
  
      /** Returns true if field host is set (has been assigned a value) and false otherwise */
      public boolean is_set_host() {
        return this.host != null;
      }
  
      public void set_host_isSet(boolean value) {
        if (!value) {
          this.host = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case HOST:
          if (value == null) {
            unset_host();
          } else {
            set_host((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case HOST:
          return get_host();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case HOST:
          return is_set_host();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof setHostInBlackList_args)
          return this.equals((setHostInBlackList_args)that);
        return false;
      }
  
      public boolean equals(setHostInBlackList_args that) {
        if (that == null)
          return false;
  
        boolean this_present_host = true && this.is_set_host();
        boolean that_present_host = true && that.is_set_host();
        if (this_present_host || that_present_host) {
          if (!(this_present_host && that_present_host))
            return false;
          if (!this.host.equals(that.host))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_host = true && (is_set_host());
        list.add(present_host);
        if (present_host)
          list.add(host);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(setHostInBlackList_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_host()).compareTo(other.is_set_host());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_host()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.host, other.host);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("setHostInBlackList_args(");
        boolean first = true;
  
        sb.append("host:");
        if (this.host == null) {
          sb.append("null");
        } else {
          sb.append(this.host);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 setHostInBlackList_argsStandardSchemeFactory implements SchemeFactory {
        public setHostInBlackList_argsStandardScheme getScheme() {
          return new setHostInBlackList_argsStandardScheme();
        }
      }
  
      private static class setHostInBlackList_argsStandardScheme extends StandardScheme<setHostInBlackList_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, setHostInBlackList_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: // HOST
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.host = iprot.readString();
                  struct.set_host_isSet(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, setHostInBlackList_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.host != null) {
            oprot.writeFieldBegin(HOST_FIELD_DESC);
            oprot.writeString(struct.host);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class setHostInBlackList_argsTupleSchemeFactory implements SchemeFactory {
        public setHostInBlackList_argsTupleScheme getScheme() {
          return new setHostInBlackList_argsTupleScheme();
        }
      }
  
      private static class setHostInBlackList_argsTupleScheme extends TupleScheme<setHostInBlackList_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, setHostInBlackList_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_host()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_host()) {
            oprot.writeString(struct.host);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, setHostInBlackList_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.host = iprot.readString();
            struct.set_host_isSet(true);
          }
        }
      }
  
    }
  
    public static class setHostInBlackList_result implements org.apache.thrift.TBase<setHostInBlackList_result, setHostInBlackList_result._Fields>, java.io.Serializable, Cloneable, Comparable<setHostInBlackList_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("setHostInBlackList_result");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new setHostInBlackList_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new setHostInBlackList_resultTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(setHostInBlackList_result.class, metaDataMap);
      }
  
      public setHostInBlackList_result() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public setHostInBlackList_result(setHostInBlackList_result other) {
      }
  
      public setHostInBlackList_result deepCopy() {
        return new setHostInBlackList_result(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof setHostInBlackList_result)
          return this.equals((setHostInBlackList_result)that);
        return false;
      }
  
      public boolean equals(setHostInBlackList_result that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(setHostInBlackList_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("setHostInBlackList_result(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 setHostInBlackList_resultStandardSchemeFactory implements SchemeFactory {
        public setHostInBlackList_resultStandardScheme getScheme() {
          return new setHostInBlackList_resultStandardScheme();
        }
      }
  
      private static class setHostInBlackList_resultStandardScheme extends StandardScheme<setHostInBlackList_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, setHostInBlackList_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) {
              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, setHostInBlackList_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class setHostInBlackList_resultTupleSchemeFactory implements SchemeFactory {
        public setHostInBlackList_resultTupleScheme getScheme() {
          return new setHostInBlackList_resultTupleScheme();
        }
      }
  
      private static class setHostInBlackList_resultTupleScheme extends TupleScheme<setHostInBlackList_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, setHostInBlackList_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, setHostInBlackList_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class removeHostOutBlackList_args implements org.apache.thrift.TBase<removeHostOutBlackList_args, removeHostOutBlackList_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeHostOutBlackList_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeHostOutBlackList_args");
  
      private static final org.apache.thrift.protocol.TField HOST_FIELD_DESC = new org.apache.thrift.protocol.TField("host", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new removeHostOutBlackList_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new removeHostOutBlackList_argsTupleSchemeFactory());
      }
  
      private String host; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        HOST((short)1, "host");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // HOST
              return HOST;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.HOST, new org.apache.thrift.meta_data.FieldMetaData("host", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeHostOutBlackList_args.class, metaDataMap);
      }
  
      public removeHostOutBlackList_args() {
      }
  
      public removeHostOutBlackList_args(
        String host)
      {
        this();
        this.host = host;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public removeHostOutBlackList_args(removeHostOutBlackList_args other) {
        if (other.is_set_host()) {
          this.host = other.host;
        }
      }
  
      public removeHostOutBlackList_args deepCopy() {
        return new removeHostOutBlackList_args(this);
      }
  
      @Override
      public void clear() {
        this.host = null;
      }
  
      public String get_host() {
        return this.host;
      }
  
      public void set_host(String host) {
        this.host = host;
      }
  
      public void unset_host() {
        this.host = null;
      }
  
      /** Returns true if field host is set (has been assigned a value) and false otherwise */
      public boolean is_set_host() {
        return this.host != null;
      }
  
      public void set_host_isSet(boolean value) {
        if (!value) {
          this.host = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case HOST:
          if (value == null) {
            unset_host();
          } else {
            set_host((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case HOST:
          return get_host();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case HOST:
          return is_set_host();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof removeHostOutBlackList_args)
          return this.equals((removeHostOutBlackList_args)that);
        return false;
      }
  
      public boolean equals(removeHostOutBlackList_args that) {
        if (that == null)
          return false;
  
        boolean this_present_host = true && this.is_set_host();
        boolean that_present_host = true && that.is_set_host();
        if (this_present_host || that_present_host) {
          if (!(this_present_host && that_present_host))
            return false;
          if (!this.host.equals(that.host))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_host = true && (is_set_host());
        list.add(present_host);
        if (present_host)
          list.add(host);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(removeHostOutBlackList_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_host()).compareTo(other.is_set_host());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_host()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.host, other.host);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("removeHostOutBlackList_args(");
        boolean first = true;
  
        sb.append("host:");
        if (this.host == null) {
          sb.append("null");
        } else {
          sb.append(this.host);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 removeHostOutBlackList_argsStandardSchemeFactory implements SchemeFactory {
        public removeHostOutBlackList_argsStandardScheme getScheme() {
          return new removeHostOutBlackList_argsStandardScheme();
        }
      }
  
      private static class removeHostOutBlackList_argsStandardScheme extends StandardScheme<removeHostOutBlackList_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, removeHostOutBlackList_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: // HOST
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.host = iprot.readString();
                  struct.set_host_isSet(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, removeHostOutBlackList_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.host != null) {
            oprot.writeFieldBegin(HOST_FIELD_DESC);
            oprot.writeString(struct.host);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class removeHostOutBlackList_argsTupleSchemeFactory implements SchemeFactory {
        public removeHostOutBlackList_argsTupleScheme getScheme() {
          return new removeHostOutBlackList_argsTupleScheme();
        }
      }
  
      private static class removeHostOutBlackList_argsTupleScheme extends TupleScheme<removeHostOutBlackList_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, removeHostOutBlackList_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_host()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_host()) {
            oprot.writeString(struct.host);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, removeHostOutBlackList_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.host = iprot.readString();
            struct.set_host_isSet(true);
          }
        }
      }
  
    }
  
    public static class removeHostOutBlackList_result implements org.apache.thrift.TBase<removeHostOutBlackList_result, removeHostOutBlackList_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeHostOutBlackList_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeHostOutBlackList_result");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new removeHostOutBlackList_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new removeHostOutBlackList_resultTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(removeHostOutBlackList_result.class, metaDataMap);
      }
  
      public removeHostOutBlackList_result() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public removeHostOutBlackList_result(removeHostOutBlackList_result other) {
      }
  
      public removeHostOutBlackList_result deepCopy() {
        return new removeHostOutBlackList_result(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof removeHostOutBlackList_result)
          return this.equals((removeHostOutBlackList_result)that);
        return false;
      }
  
      public boolean equals(removeHostOutBlackList_result that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(removeHostOutBlackList_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("removeHostOutBlackList_result(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 removeHostOutBlackList_resultStandardSchemeFactory implements SchemeFactory {
        public removeHostOutBlackList_resultStandardScheme getScheme() {
          return new removeHostOutBlackList_resultStandardScheme();
        }
      }
  
      private static class removeHostOutBlackList_resultStandardScheme extends StandardScheme<removeHostOutBlackList_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, removeHostOutBlackList_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) {
              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, removeHostOutBlackList_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class removeHostOutBlackList_resultTupleSchemeFactory implements SchemeFactory {
        public removeHostOutBlackList_resultTupleScheme getScheme() {
          return new removeHostOutBlackList_resultTupleScheme();
        }
      }
  
      private static class removeHostOutBlackList_resultTupleScheme extends TupleScheme<removeHostOutBlackList_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, removeHostOutBlackList_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, removeHostOutBlackList_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class deleteMetricMeta_args implements org.apache.thrift.TBase<deleteMetricMeta_args, deleteMetricMeta_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteMetricMeta_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteMetricMeta_args");
  
      private static final org.apache.thrift.protocol.TField TOPOLOGY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyId", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField META_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("metaType", org.apache.thrift.protocol.TType.I32, (short)2);
      private static final org.apache.thrift.protocol.TField ID_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("idList", org.apache.thrift.protocol.TType.LIST, (short)3);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new deleteMetricMeta_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new deleteMetricMeta_argsTupleSchemeFactory());
      }
  
      private String topologyId; // required
      private int metaType; // required
      private List<String> idList; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TOPOLOGY_ID((short)1, "topologyId"),
        META_TYPE((short)2, "metaType"),
        ID_LIST((short)3, "idList");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TOPOLOGY_ID
              return TOPOLOGY_ID;
            case 2: // META_TYPE
              return META_TYPE;
            case 3: // ID_LIST
              return ID_LIST;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      private static final int __METATYPE_ISSET_ID = 0;
      private byte __isset_bitfield = 0;
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TOPOLOGY_ID, new org.apache.thrift.meta_data.FieldMetaData("topologyId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.META_TYPE, new org.apache.thrift.meta_data.FieldMetaData("metaType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
        tmpMap.put(_Fields.ID_LIST, new org.apache.thrift.meta_data.FieldMetaData("idList", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
                new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteMetricMeta_args.class, metaDataMap);
      }
  
      public deleteMetricMeta_args() {
      }
  
      public deleteMetricMeta_args(
        String topologyId,
        int metaType,
        List<String> idList)
      {
        this();
        this.topologyId = topologyId;
        this.metaType = metaType;
        set_metaType_isSet(true);
        this.idList = idList;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public deleteMetricMeta_args(deleteMetricMeta_args other) {
        __isset_bitfield = other.__isset_bitfield;
        if (other.is_set_topologyId()) {
          this.topologyId = other.topologyId;
        }
        this.metaType = other.metaType;
        if (other.is_set_idList()) {
          List<String> __this__idList = new ArrayList<String>(other.idList);
          this.idList = __this__idList;
        }
      }
  
      public deleteMetricMeta_args deepCopy() {
        return new deleteMetricMeta_args(this);
      }
  
      @Override
      public void clear() {
        this.topologyId = null;
        set_metaType_isSet(false);
        this.metaType = 0;
        this.idList = null;
      }
  
      public String get_topologyId() {
        return this.topologyId;
      }
  
      public void set_topologyId(String topologyId) {
        this.topologyId = topologyId;
      }
  
      public void unset_topologyId() {
        this.topologyId = null;
      }
  
      /** Returns true if field topologyId is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyId() {
        return this.topologyId != null;
      }
  
      public void set_topologyId_isSet(boolean value) {
        if (!value) {
          this.topologyId = null;
        }
      }
  
      public int get_metaType() {
        return this.metaType;
      }
  
      public void set_metaType(int metaType) {
        this.metaType = metaType;
        set_metaType_isSet(true);
      }
  
      public void unset_metaType() {
        __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __METATYPE_ISSET_ID);
      }
  
      /** Returns true if field metaType is set (has been assigned a value) and false otherwise */
      public boolean is_set_metaType() {
        return EncodingUtils.testBit(__isset_bitfield, __METATYPE_ISSET_ID);
      }
  
      public void set_metaType_isSet(boolean value) {
        __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __METATYPE_ISSET_ID, value);
      }
  
      public int get_idList_size() {
        return (this.idList == null) ? 0 : this.idList.size();
      }
  
      public java.util.Iterator<String> get_idList_iterator() {
        return (this.idList == null) ? null : this.idList.iterator();
      }
  
      public void add_to_idList(String elem) {
        if (this.idList == null) {
          this.idList = new ArrayList<String>();
        }
        this.idList.add(elem);
      }
  
      public List<String> get_idList() {
        return this.idList;
      }
  
      public void set_idList(List<String> idList) {
        this.idList = idList;
      }
  
      public void unset_idList() {
        this.idList = null;
      }
  
      /** Returns true if field idList is set (has been assigned a value) and false otherwise */
      public boolean is_set_idList() {
        return this.idList != null;
      }
  
      public void set_idList_isSet(boolean value) {
        if (!value) {
          this.idList = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TOPOLOGY_ID:
          if (value == null) {
            unset_topologyId();
          } else {
            set_topologyId((String)value);
          }
          break;
  
        case META_TYPE:
          if (value == null) {
            unset_metaType();
          } else {
            set_metaType((Integer)value);
          }
          break;
  
        case ID_LIST:
          if (value == null) {
            unset_idList();
          } else {
            set_idList((List<String>)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TOPOLOGY_ID:
          return get_topologyId();
  
        case META_TYPE:
          return Integer.valueOf(get_metaType());
  
        case ID_LIST:
          return get_idList();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TOPOLOGY_ID:
          return is_set_topologyId();
        case META_TYPE:
          return is_set_metaType();
        case ID_LIST:
          return is_set_idList();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof deleteMetricMeta_args)
          return this.equals((deleteMetricMeta_args)that);
        return false;
      }
  
      public boolean equals(deleteMetricMeta_args that) {
        if (that == null)
          return false;
  
        boolean this_present_topologyId = true && this.is_set_topologyId();
        boolean that_present_topologyId = true && that.is_set_topologyId();
        if (this_present_topologyId || that_present_topologyId) {
          if (!(this_present_topologyId && that_present_topologyId))
            return false;
          if (!this.topologyId.equals(that.topologyId))
            return false;
        }
  
        boolean this_present_metaType = true;
        boolean that_present_metaType = true;
        if (this_present_metaType || that_present_metaType) {
          if (!(this_present_metaType && that_present_metaType))
            return false;
          if (this.metaType != that.metaType)
            return false;
        }
  
        boolean this_present_idList = true && this.is_set_idList();
        boolean that_present_idList = true && that.is_set_idList();
        if (this_present_idList || that_present_idList) {
          if (!(this_present_idList && that_present_idList))
            return false;
          if (!this.idList.equals(that.idList))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_topologyId = true && (is_set_topologyId());
        list.add(present_topologyId);
        if (present_topologyId)
          list.add(topologyId);
  
        boolean present_metaType = true;
        list.add(present_metaType);
        if (present_metaType)
          list.add(metaType);
  
        boolean present_idList = true && (is_set_idList());
        list.add(present_idList);
        if (present_idList)
          list.add(idList);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(deleteMetricMeta_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_topologyId()).compareTo(other.is_set_topologyId());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyId()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyId, other.topologyId);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_metaType()).compareTo(other.is_set_metaType());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_metaType()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.metaType, other.metaType);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_idList()).compareTo(other.is_set_idList());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_idList()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.idList, other.idList);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("deleteMetricMeta_args(");
        boolean first = true;
  
        sb.append("topologyId:");
        if (this.topologyId == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyId);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("metaType:");
        sb.append(this.metaType);
        first = false;
        if (!first) sb.append(", ");
        sb.append("idList:");
        if (this.idList == null) {
          sb.append("null");
        } else {
          sb.append(this.idList);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
          __isset_bitfield = 0;
          read(new 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 deleteMetricMeta_argsStandardSchemeFactory implements SchemeFactory {
        public deleteMetricMeta_argsStandardScheme getScheme() {
          return new deleteMetricMeta_argsStandardScheme();
        }
      }
  
      private static class deleteMetricMeta_argsStandardScheme extends StandardScheme<deleteMetricMeta_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, deleteMetricMeta_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: // TOPOLOGY_ID
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.topologyId = iprot.readString();
                  struct.set_topologyId_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // META_TYPE
                if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                  struct.metaType = iprot.readI32();
                  struct.set_metaType_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 3: // ID_LIST
                if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                  {
                    org.apache.thrift.protocol.TList _list304 = iprot.readListBegin();
                    struct.idList = new ArrayList<String>(_list304.size);
                    String _elem305;
                    for (int _i306 = 0; _i306 < _list304.size; ++_i306)
                    {
                      _elem305 = iprot.readString();
                      struct.idList.add(_elem305);
                    }
                    iprot.readListEnd();
                  }
                  struct.set_idList_isSet(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, deleteMetricMeta_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.topologyId != null) {
            oprot.writeFieldBegin(TOPOLOGY_ID_FIELD_DESC);
            oprot.writeString(struct.topologyId);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldBegin(META_TYPE_FIELD_DESC);
          oprot.writeI32(struct.metaType);
          oprot.writeFieldEnd();
          if (struct.idList != null) {
            oprot.writeFieldBegin(ID_LIST_FIELD_DESC);
            {
              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.idList.size()));
              for (String _iter307 : struct.idList)
              {
                oprot.writeString(_iter307);
              }
              oprot.writeListEnd();
            }
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class deleteMetricMeta_argsTupleSchemeFactory implements SchemeFactory {
        public deleteMetricMeta_argsTupleScheme getScheme() {
          return new deleteMetricMeta_argsTupleScheme();
        }
      }
  
      private static class deleteMetricMeta_argsTupleScheme extends TupleScheme<deleteMetricMeta_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, deleteMetricMeta_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_topologyId()) {
            optionals.set(0);
          }
          if (struct.is_set_metaType()) {
            optionals.set(1);
          }
          if (struct.is_set_idList()) {
            optionals.set(2);
          }
          oprot.writeBitSet(optionals, 3);
          if (struct.is_set_topologyId()) {
            oprot.writeString(struct.topologyId);
          }
          if (struct.is_set_metaType()) {
            oprot.writeI32(struct.metaType);
          }
          if (struct.is_set_idList()) {
            {
              oprot.writeI32(struct.idList.size());
              for (String _iter308 : struct.idList)
              {
                oprot.writeString(_iter308);
              }
            }
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, deleteMetricMeta_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(3);
          if (incoming.get(0)) {
            struct.topologyId = iprot.readString();
            struct.set_topologyId_isSet(true);
          }
          if (incoming.get(1)) {
            struct.metaType = iprot.readI32();
            struct.set_metaType_isSet(true);
          }
          if (incoming.get(2)) {
            {
              org.apache.thrift.protocol.TList _list309 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
              struct.idList = new ArrayList<String>(_list309.size);
              String _elem310;
              for (int _i311 = 0; _i311 < _list309.size; ++_i311)
              {
                _elem310 = iprot.readString();
                struct.idList.add(_elem310);
              }
            }
            struct.set_idList_isSet(true);
          }
        }
      }
  
    }
  
    public static class deleteMetricMeta_result implements org.apache.thrift.TBase<deleteMetricMeta_result, deleteMetricMeta_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteMetricMeta_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteMetricMeta_result");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new deleteMetricMeta_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new deleteMetricMeta_resultTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteMetricMeta_result.class, metaDataMap);
      }
  
      public deleteMetricMeta_result() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public deleteMetricMeta_result(deleteMetricMeta_result other) {
      }
  
      public deleteMetricMeta_result deepCopy() {
        return new deleteMetricMeta_result(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof deleteMetricMeta_result)
          return this.equals((deleteMetricMeta_result)that);
        return false;
      }
  
      public boolean equals(deleteMetricMeta_result that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(deleteMetricMeta_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("deleteMetricMeta_result(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 deleteMetricMeta_resultStandardSchemeFactory implements SchemeFactory {
        public deleteMetricMeta_resultStandardScheme getScheme() {
          return new deleteMetricMeta_resultStandardScheme();
        }
      }
  
      private static class deleteMetricMeta_resultStandardScheme extends StandardScheme<deleteMetricMeta_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, deleteMetricMeta_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) {
              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, deleteMetricMeta_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class deleteMetricMeta_resultTupleSchemeFactory implements SchemeFactory {
        public deleteMetricMeta_resultTupleScheme getScheme() {
          return new deleteMetricMeta_resultTupleScheme();
        }
      }
  
      private static class deleteMetricMeta_resultTupleScheme extends TupleScheme<deleteMetricMeta_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, deleteMetricMeta_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, deleteMetricMeta_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class grayUpgrade_args implements org.apache.thrift.TBase<grayUpgrade_args, grayUpgrade_args._Fields>, java.io.Serializable, Cloneable, Comparable<grayUpgrade_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("grayUpgrade_args");
  
      private static final org.apache.thrift.protocol.TField TOPOLOGY_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyName", org.apache.thrift.protocol.TType.STRING, (short)1);
      private static final org.apache.thrift.protocol.TField COMPONENT_FIELD_DESC = new org.apache.thrift.protocol.TField("component", org.apache.thrift.protocol.TType.STRING, (short)2);
      private static final org.apache.thrift.protocol.TField WORKERS_FIELD_DESC = new org.apache.thrift.protocol.TField("workers", org.apache.thrift.protocol.TType.LIST, (short)3);
      private static final org.apache.thrift.protocol.TField WORKER_NUM_FIELD_DESC = new org.apache.thrift.protocol.TField("workerNum", org.apache.thrift.protocol.TType.I32, (short)4);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new grayUpgrade_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new grayUpgrade_argsTupleSchemeFactory());
      }
  
      private String topologyName; // required
      private String component; // required
      private List<String> workers; // required
      private int workerNum; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TOPOLOGY_NAME((short)1, "topologyName"),
        COMPONENT((short)2, "component"),
        WORKERS((short)3, "workers"),
        WORKER_NUM((short)4, "workerNum");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TOPOLOGY_NAME
              return TOPOLOGY_NAME;
            case 2: // COMPONENT
              return COMPONENT;
            case 3: // WORKERS
              return WORKERS;
            case 4: // WORKER_NUM
              return WORKER_NUM;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      private static final int __WORKERNUM_ISSET_ID = 0;
      private byte __isset_bitfield = 0;
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TOPOLOGY_NAME, new org.apache.thrift.meta_data.FieldMetaData("topologyName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.COMPONENT, new org.apache.thrift.meta_data.FieldMetaData("component", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        tmpMap.put(_Fields.WORKERS, new org.apache.thrift.meta_data.FieldMetaData("workers", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
                new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
        tmpMap.put(_Fields.WORKER_NUM, new org.apache.thrift.meta_data.FieldMetaData("workerNum", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(grayUpgrade_args.class, metaDataMap);
      }
  
      public grayUpgrade_args() {
      }
  
      public grayUpgrade_args(
        String topologyName,
        String component,
        List<String> workers,
        int workerNum)
      {
        this();
        this.topologyName = topologyName;
        this.component = component;
        this.workers = workers;
        this.workerNum = workerNum;
        set_workerNum_isSet(true);
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public grayUpgrade_args(grayUpgrade_args other) {
        __isset_bitfield = other.__isset_bitfield;
        if (other.is_set_topologyName()) {
          this.topologyName = other.topologyName;
        }
        if (other.is_set_component()) {
          this.component = other.component;
        }
        if (other.is_set_workers()) {
          List<String> __this__workers = new ArrayList<String>(other.workers);
          this.workers = __this__workers;
        }
        this.workerNum = other.workerNum;
      }
  
      public grayUpgrade_args deepCopy() {
        return new grayUpgrade_args(this);
      }
  
      @Override
      public void clear() {
        this.topologyName = null;
        this.component = null;
        this.workers = null;
        set_workerNum_isSet(false);
        this.workerNum = 0;
      }
  
      public String get_topologyName() {
        return this.topologyName;
      }
  
      public void set_topologyName(String topologyName) {
        this.topologyName = topologyName;
      }
  
      public void unset_topologyName() {
        this.topologyName = null;
      }
  
      /** Returns true if field topologyName is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyName() {
        return this.topologyName != null;
      }
  
      public void set_topologyName_isSet(boolean value) {
        if (!value) {
          this.topologyName = null;
        }
      }
  
      public String get_component() {
        return this.component;
      }
  
      public void set_component(String component) {
        this.component = component;
      }
  
      public void unset_component() {
        this.component = null;
      }
  
      /** Returns true if field component is set (has been assigned a value) and false otherwise */
      public boolean is_set_component() {
        return this.component != null;
      }
  
      public void set_component_isSet(boolean value) {
        if (!value) {
          this.component = null;
        }
      }
  
      public int get_workers_size() {
        return (this.workers == null) ? 0 : this.workers.size();
      }
  
      public java.util.Iterator<String> get_workers_iterator() {
        return (this.workers == null) ? null : this.workers.iterator();
      }
  
      public void add_to_workers(String elem) {
        if (this.workers == null) {
          this.workers = new ArrayList<String>();
        }
        this.workers.add(elem);
      }
  
      public List<String> get_workers() {
        return this.workers;
      }
  
      public void set_workers(List<String> workers) {
        this.workers = workers;
      }
  
      public void unset_workers() {
        this.workers = null;
      }
  
      /** Returns true if field workers is set (has been assigned a value) and false otherwise */
      public boolean is_set_workers() {
        return this.workers != null;
      }
  
      public void set_workers_isSet(boolean value) {
        if (!value) {
          this.workers = null;
        }
      }
  
      public int get_workerNum() {
        return this.workerNum;
      }
  
      public void set_workerNum(int workerNum) {
        this.workerNum = workerNum;
        set_workerNum_isSet(true);
      }
  
      public void unset_workerNum() {
        __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __WORKERNUM_ISSET_ID);
      }
  
      /** Returns true if field workerNum is set (has been assigned a value) and false otherwise */
      public boolean is_set_workerNum() {
        return EncodingUtils.testBit(__isset_bitfield, __WORKERNUM_ISSET_ID);
      }
  
      public void set_workerNum_isSet(boolean value) {
        __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __WORKERNUM_ISSET_ID, value);
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TOPOLOGY_NAME:
          if (value == null) {
            unset_topologyName();
          } else {
            set_topologyName((String)value);
          }
          break;
  
        case COMPONENT:
          if (value == null) {
            unset_component();
          } else {
            set_component((String)value);
          }
          break;
  
        case WORKERS:
          if (value == null) {
            unset_workers();
          } else {
            set_workers((List<String>)value);
          }
          break;
  
        case WORKER_NUM:
          if (value == null) {
            unset_workerNum();
          } else {
            set_workerNum((Integer)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TOPOLOGY_NAME:
          return get_topologyName();
  
        case COMPONENT:
          return get_component();
  
        case WORKERS:
          return get_workers();
  
        case WORKER_NUM:
          return Integer.valueOf(get_workerNum());
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TOPOLOGY_NAME:
          return is_set_topologyName();
        case COMPONENT:
          return is_set_component();
        case WORKERS:
          return is_set_workers();
        case WORKER_NUM:
          return is_set_workerNum();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof grayUpgrade_args)
          return this.equals((grayUpgrade_args)that);
        return false;
      }
  
      public boolean equals(grayUpgrade_args that) {
        if (that == null)
          return false;
  
        boolean this_present_topologyName = true && this.is_set_topologyName();
        boolean that_present_topologyName = true && that.is_set_topologyName();
        if (this_present_topologyName || that_present_topologyName) {
          if (!(this_present_topologyName && that_present_topologyName))
            return false;
          if (!this.topologyName.equals(that.topologyName))
            return false;
        }
  
        boolean this_present_component = true && this.is_set_component();
        boolean that_present_component = true && that.is_set_component();
        if (this_present_component || that_present_component) {
          if (!(this_present_component && that_present_component))
            return false;
          if (!this.component.equals(that.component))
            return false;
        }
  
        boolean this_present_workers = true && this.is_set_workers();
        boolean that_present_workers = true && that.is_set_workers();
        if (this_present_workers || that_present_workers) {
          if (!(this_present_workers && that_present_workers))
            return false;
          if (!this.workers.equals(that.workers))
            return false;
        }
  
        boolean this_present_workerNum = true;
        boolean that_present_workerNum = true;
        if (this_present_workerNum || that_present_workerNum) {
          if (!(this_present_workerNum && that_present_workerNum))
            return false;
          if (this.workerNum != that.workerNum)
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_topologyName = true && (is_set_topologyName());
        list.add(present_topologyName);
        if (present_topologyName)
          list.add(topologyName);
  
        boolean present_component = true && (is_set_component());
        list.add(present_component);
        if (present_component)
          list.add(component);
  
        boolean present_workers = true && (is_set_workers());
        list.add(present_workers);
        if (present_workers)
          list.add(workers);
  
        boolean present_workerNum = true;
        list.add(present_workerNum);
        if (present_workerNum)
          list.add(workerNum);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(grayUpgrade_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_topologyName()).compareTo(other.is_set_topologyName());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyName()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyName, other.topologyName);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_component()).compareTo(other.is_set_component());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_component()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.component, other.component);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_workers()).compareTo(other.is_set_workers());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_workers()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.workers, other.workers);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        lastComparison = Boolean.valueOf(is_set_workerNum()).compareTo(other.is_set_workerNum());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_workerNum()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.workerNum, other.workerNum);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("grayUpgrade_args(");
        boolean first = true;
  
        sb.append("topologyName:");
        if (this.topologyName == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyName);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("component:");
        if (this.component == null) {
          sb.append("null");
        } else {
          sb.append(this.component);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("workers:");
        if (this.workers == null) {
          sb.append("null");
        } else {
          sb.append(this.workers);
        }
        first = false;
        if (!first) sb.append(", ");
        sb.append("workerNum:");
        sb.append(this.workerNum);
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
          __isset_bitfield = 0;
          read(new 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 grayUpgrade_argsStandardSchemeFactory implements SchemeFactory {
        public grayUpgrade_argsStandardScheme getScheme() {
          return new grayUpgrade_argsStandardScheme();
        }
      }
  
      private static class grayUpgrade_argsStandardScheme extends StandardScheme<grayUpgrade_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, grayUpgrade_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: // TOPOLOGY_NAME
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.topologyName = iprot.readString();
                  struct.set_topologyName_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 2: // COMPONENT
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.component = iprot.readString();
                  struct.set_component_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 3: // WORKERS
                if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                  {
                    org.apache.thrift.protocol.TList _list312 = iprot.readListBegin();
                    struct.workers = new ArrayList<String>(_list312.size);
                    String _elem313;
                    for (int _i314 = 0; _i314 < _list312.size; ++_i314)
                    {
                      _elem313 = iprot.readString();
                      struct.workers.add(_elem313);
                    }
                    iprot.readListEnd();
                  }
                  struct.set_workers_isSet(true);
                } else { 
                  org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
                }
                break;
              case 4: // WORKER_NUM
                if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
                  struct.workerNum = iprot.readI32();
                  struct.set_workerNum_isSet(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, grayUpgrade_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.topologyName != null) {
            oprot.writeFieldBegin(TOPOLOGY_NAME_FIELD_DESC);
            oprot.writeString(struct.topologyName);
            oprot.writeFieldEnd();
          }
          if (struct.component != null) {
            oprot.writeFieldBegin(COMPONENT_FIELD_DESC);
            oprot.writeString(struct.component);
            oprot.writeFieldEnd();
          }
          if (struct.workers != null) {
            oprot.writeFieldBegin(WORKERS_FIELD_DESC);
            {
              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.workers.size()));
              for (String _iter315 : struct.workers)
              {
                oprot.writeString(_iter315);
              }
              oprot.writeListEnd();
            }
            oprot.writeFieldEnd();
          }
          oprot.writeFieldBegin(WORKER_NUM_FIELD_DESC);
          oprot.writeI32(struct.workerNum);
          oprot.writeFieldEnd();
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class grayUpgrade_argsTupleSchemeFactory implements SchemeFactory {
        public grayUpgrade_argsTupleScheme getScheme() {
          return new grayUpgrade_argsTupleScheme();
        }
      }
  
      private static class grayUpgrade_argsTupleScheme extends TupleScheme<grayUpgrade_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, grayUpgrade_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_topologyName()) {
            optionals.set(0);
          }
          if (struct.is_set_component()) {
            optionals.set(1);
          }
          if (struct.is_set_workers()) {
            optionals.set(2);
          }
          if (struct.is_set_workerNum()) {
            optionals.set(3);
          }
          oprot.writeBitSet(optionals, 4);
          if (struct.is_set_topologyName()) {
            oprot.writeString(struct.topologyName);
          }
          if (struct.is_set_component()) {
            oprot.writeString(struct.component);
          }
          if (struct.is_set_workers()) {
            {
              oprot.writeI32(struct.workers.size());
              for (String _iter316 : struct.workers)
              {
                oprot.writeString(_iter316);
              }
            }
          }
          if (struct.is_set_workerNum()) {
            oprot.writeI32(struct.workerNum);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, grayUpgrade_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(4);
          if (incoming.get(0)) {
            struct.topologyName = iprot.readString();
            struct.set_topologyName_isSet(true);
          }
          if (incoming.get(1)) {
            struct.component = iprot.readString();
            struct.set_component_isSet(true);
          }
          if (incoming.get(2)) {
            {
              org.apache.thrift.protocol.TList _list317 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
              struct.workers = new ArrayList<String>(_list317.size);
              String _elem318;
              for (int _i319 = 0; _i319 < _list317.size; ++_i319)
              {
                _elem318 = iprot.readString();
                struct.workers.add(_elem318);
              }
            }
            struct.set_workers_isSet(true);
          }
          if (incoming.get(3)) {
            struct.workerNum = iprot.readI32();
            struct.set_workerNum_isSet(true);
          }
        }
      }
  
    }
  
    public static class grayUpgrade_result implements org.apache.thrift.TBase<grayUpgrade_result, grayUpgrade_result._Fields>, java.io.Serializable, Cloneable, Comparable<grayUpgrade_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("grayUpgrade_result");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new grayUpgrade_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new grayUpgrade_resultTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(grayUpgrade_result.class, metaDataMap);
      }
  
      public grayUpgrade_result() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public grayUpgrade_result(grayUpgrade_result other) {
      }
  
      public grayUpgrade_result deepCopy() {
        return new grayUpgrade_result(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof grayUpgrade_result)
          return this.equals((grayUpgrade_result)that);
        return false;
      }
  
      public boolean equals(grayUpgrade_result that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(grayUpgrade_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("grayUpgrade_result(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 grayUpgrade_resultStandardSchemeFactory implements SchemeFactory {
        public grayUpgrade_resultStandardScheme getScheme() {
          return new grayUpgrade_resultStandardScheme();
        }
      }
  
      private static class grayUpgrade_resultStandardScheme extends StandardScheme<grayUpgrade_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, grayUpgrade_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) {
              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, grayUpgrade_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class grayUpgrade_resultTupleSchemeFactory implements SchemeFactory {
        public grayUpgrade_resultTupleScheme getScheme() {
          return new grayUpgrade_resultTupleScheme();
        }
      }
  
      private static class grayUpgrade_resultTupleScheme extends TupleScheme<grayUpgrade_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, grayUpgrade_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, grayUpgrade_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class rollbackTopology_args implements org.apache.thrift.TBase<rollbackTopology_args, rollbackTopology_args._Fields>, java.io.Serializable, Cloneable, Comparable<rollbackTopology_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("rollbackTopology_args");
  
      private static final org.apache.thrift.protocol.TField TOPOLOGY_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyName", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new rollbackTopology_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new rollbackTopology_argsTupleSchemeFactory());
      }
  
      private String topologyName; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TOPOLOGY_NAME((short)1, "topologyName");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TOPOLOGY_NAME
              return TOPOLOGY_NAME;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TOPOLOGY_NAME, new org.apache.thrift.meta_data.FieldMetaData("topologyName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(rollbackTopology_args.class, metaDataMap);
      }
  
      public rollbackTopology_args() {
      }
  
      public rollbackTopology_args(
        String topologyName)
      {
        this();
        this.topologyName = topologyName;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public rollbackTopology_args(rollbackTopology_args other) {
        if (other.is_set_topologyName()) {
          this.topologyName = other.topologyName;
        }
      }
  
      public rollbackTopology_args deepCopy() {
        return new rollbackTopology_args(this);
      }
  
      @Override
      public void clear() {
        this.topologyName = null;
      }
  
      public String get_topologyName() {
        return this.topologyName;
      }
  
      public void set_topologyName(String topologyName) {
        this.topologyName = topologyName;
      }
  
      public void unset_topologyName() {
        this.topologyName = null;
      }
  
      /** Returns true if field topologyName is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyName() {
        return this.topologyName != null;
      }
  
      public void set_topologyName_isSet(boolean value) {
        if (!value) {
          this.topologyName = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TOPOLOGY_NAME:
          if (value == null) {
            unset_topologyName();
          } else {
            set_topologyName((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TOPOLOGY_NAME:
          return get_topologyName();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TOPOLOGY_NAME:
          return is_set_topologyName();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof rollbackTopology_args)
          return this.equals((rollbackTopology_args)that);
        return false;
      }
  
      public boolean equals(rollbackTopology_args that) {
        if (that == null)
          return false;
  
        boolean this_present_topologyName = true && this.is_set_topologyName();
        boolean that_present_topologyName = true && that.is_set_topologyName();
        if (this_present_topologyName || that_present_topologyName) {
          if (!(this_present_topologyName && that_present_topologyName))
            return false;
          if (!this.topologyName.equals(that.topologyName))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_topologyName = true && (is_set_topologyName());
        list.add(present_topologyName);
        if (present_topologyName)
          list.add(topologyName);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(rollbackTopology_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_topologyName()).compareTo(other.is_set_topologyName());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyName()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyName, other.topologyName);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("rollbackTopology_args(");
        boolean first = true;
  
        sb.append("topologyName:");
        if (this.topologyName == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyName);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 rollbackTopology_argsStandardSchemeFactory implements SchemeFactory {
        public rollbackTopology_argsStandardScheme getScheme() {
          return new rollbackTopology_argsStandardScheme();
        }
      }
  
      private static class rollbackTopology_argsStandardScheme extends StandardScheme<rollbackTopology_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, rollbackTopology_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: // TOPOLOGY_NAME
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.topologyName = iprot.readString();
                  struct.set_topologyName_isSet(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, rollbackTopology_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.topologyName != null) {
            oprot.writeFieldBegin(TOPOLOGY_NAME_FIELD_DESC);
            oprot.writeString(struct.topologyName);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class rollbackTopology_argsTupleSchemeFactory implements SchemeFactory {
        public rollbackTopology_argsTupleScheme getScheme() {
          return new rollbackTopology_argsTupleScheme();
        }
      }
  
      private static class rollbackTopology_argsTupleScheme extends TupleScheme<rollbackTopology_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, rollbackTopology_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_topologyName()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_topologyName()) {
            oprot.writeString(struct.topologyName);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, rollbackTopology_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.topologyName = iprot.readString();
            struct.set_topologyName_isSet(true);
          }
        }
      }
  
    }
  
    public static class rollbackTopology_result implements org.apache.thrift.TBase<rollbackTopology_result, rollbackTopology_result._Fields>, java.io.Serializable, Cloneable, Comparable<rollbackTopology_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("rollbackTopology_result");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new rollbackTopology_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new rollbackTopology_resultTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(rollbackTopology_result.class, metaDataMap);
      }
  
      public rollbackTopology_result() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public rollbackTopology_result(rollbackTopology_result other) {
      }
  
      public rollbackTopology_result deepCopy() {
        return new rollbackTopology_result(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof rollbackTopology_result)
          return this.equals((rollbackTopology_result)that);
        return false;
      }
  
      public boolean equals(rollbackTopology_result that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(rollbackTopology_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("rollbackTopology_result(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 rollbackTopology_resultStandardSchemeFactory implements SchemeFactory {
        public rollbackTopology_resultStandardScheme getScheme() {
          return new rollbackTopology_resultStandardScheme();
        }
      }
  
      private static class rollbackTopology_resultStandardScheme extends StandardScheme<rollbackTopology_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, rollbackTopology_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) {
              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, rollbackTopology_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class rollbackTopology_resultTupleSchemeFactory implements SchemeFactory {
        public rollbackTopology_resultTupleScheme getScheme() {
          return new rollbackTopology_resultTupleScheme();
        }
      }
  
      private static class rollbackTopology_resultTupleScheme extends TupleScheme<rollbackTopology_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, rollbackTopology_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, rollbackTopology_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
    public static class completeUpgrade_args implements org.apache.thrift.TBase<completeUpgrade_args, completeUpgrade_args._Fields>, java.io.Serializable, Cloneable, Comparable<completeUpgrade_args>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("completeUpgrade_args");
  
      private static final org.apache.thrift.protocol.TField TOPOLOGY_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("topologyName", org.apache.thrift.protocol.TType.STRING, (short)1);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new completeUpgrade_argsStandardSchemeFactory());
        schemes.put(TupleScheme.class, new completeUpgrade_argsTupleSchemeFactory());
      }
  
      private String topologyName; // required
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
        TOPOLOGY_NAME((short)1, "topologyName");
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            case 1: // TOPOLOGY_NAME
              return TOPOLOGY_NAME;
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
  
      // isset id assignments
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        tmpMap.put(_Fields.TOPOLOGY_NAME, new org.apache.thrift.meta_data.FieldMetaData("topologyName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(completeUpgrade_args.class, metaDataMap);
      }
  
      public completeUpgrade_args() {
      }
  
      public completeUpgrade_args(
        String topologyName)
      {
        this();
        this.topologyName = topologyName;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public completeUpgrade_args(completeUpgrade_args other) {
        if (other.is_set_topologyName()) {
          this.topologyName = other.topologyName;
        }
      }
  
      public completeUpgrade_args deepCopy() {
        return new completeUpgrade_args(this);
      }
  
      @Override
      public void clear() {
        this.topologyName = null;
      }
  
      public String get_topologyName() {
        return this.topologyName;
      }
  
      public void set_topologyName(String topologyName) {
        this.topologyName = topologyName;
      }
  
      public void unset_topologyName() {
        this.topologyName = null;
      }
  
      /** Returns true if field topologyName is set (has been assigned a value) and false otherwise */
      public boolean is_set_topologyName() {
        return this.topologyName != null;
      }
  
      public void set_topologyName_isSet(boolean value) {
        if (!value) {
          this.topologyName = null;
        }
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        case TOPOLOGY_NAME:
          if (value == null) {
            unset_topologyName();
          } else {
            set_topologyName((String)value);
          }
          break;
  
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        case TOPOLOGY_NAME:
          return get_topologyName();
  
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        case TOPOLOGY_NAME:
          return is_set_topologyName();
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof completeUpgrade_args)
          return this.equals((completeUpgrade_args)that);
        return false;
      }
  
      public boolean equals(completeUpgrade_args that) {
        if (that == null)
          return false;
  
        boolean this_present_topologyName = true && this.is_set_topologyName();
        boolean that_present_topologyName = true && that.is_set_topologyName();
        if (this_present_topologyName || that_present_topologyName) {
          if (!(this_present_topologyName && that_present_topologyName))
            return false;
          if (!this.topologyName.equals(that.topologyName))
            return false;
        }
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        boolean present_topologyName = true && (is_set_topologyName());
        list.add(present_topologyName);
        if (present_topologyName)
          list.add(topologyName);
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(completeUpgrade_args other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        lastComparison = Boolean.valueOf(is_set_topologyName()).compareTo(other.is_set_topologyName());
        if (lastComparison != 0) {
          return lastComparison;
        }
        if (is_set_topologyName()) {
          lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topologyName, other.topologyName);
          if (lastComparison != 0) {
            return lastComparison;
          }
        }
        return 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("completeUpgrade_args(");
        boolean first = true;
  
        sb.append("topologyName:");
        if (this.topologyName == null) {
          sb.append("null");
        } else {
          sb.append(this.topologyName);
        }
        first = false;
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 completeUpgrade_argsStandardSchemeFactory implements SchemeFactory {
        public completeUpgrade_argsStandardScheme getScheme() {
          return new completeUpgrade_argsStandardScheme();
        }
      }
  
      private static class completeUpgrade_argsStandardScheme extends StandardScheme<completeUpgrade_args> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, completeUpgrade_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: // TOPOLOGY_NAME
                if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                  struct.topologyName = iprot.readString();
                  struct.set_topologyName_isSet(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, completeUpgrade_args struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          if (struct.topologyName != null) {
            oprot.writeFieldBegin(TOPOLOGY_NAME_FIELD_DESC);
            oprot.writeString(struct.topologyName);
            oprot.writeFieldEnd();
          }
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class completeUpgrade_argsTupleSchemeFactory implements SchemeFactory {
        public completeUpgrade_argsTupleScheme getScheme() {
          return new completeUpgrade_argsTupleScheme();
        }
      }
  
      private static class completeUpgrade_argsTupleScheme extends TupleScheme<completeUpgrade_args> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, completeUpgrade_args struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
          BitSet optionals = new BitSet();
          if (struct.is_set_topologyName()) {
            optionals.set(0);
          }
          oprot.writeBitSet(optionals, 1);
          if (struct.is_set_topologyName()) {
            oprot.writeString(struct.topologyName);
          }
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, completeUpgrade_args struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
          BitSet incoming = iprot.readBitSet(1);
          if (incoming.get(0)) {
            struct.topologyName = iprot.readString();
            struct.set_topologyName_isSet(true);
          }
        }
      }
  
    }
  
    public static class completeUpgrade_result implements org.apache.thrift.TBase<completeUpgrade_result, completeUpgrade_result._Fields>, java.io.Serializable, Cloneable, Comparable<completeUpgrade_result>   {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("completeUpgrade_result");
  
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
      static {
        schemes.put(StandardScheme.class, new completeUpgrade_resultStandardSchemeFactory());
        schemes.put(TupleScheme.class, new completeUpgrade_resultTupleSchemeFactory());
      }
  
  
      /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
  ;
  
        private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
        static {
          for (_Fields field : EnumSet.allOf(_Fields.class)) {
            byName.put(field.getFieldName(), field);
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, or null if its not found.
         */
        public static _Fields findByThriftId(int fieldId) {
          switch(fieldId) {
            default:
              return null;
          }
        }
  
        /**
         * Find the _Fields constant that matches fieldId, throwing an exception
         * if it is not found.
         */
        public static _Fields findByThriftIdOrThrow(int fieldId) {
          _Fields fields = findByThriftId(fieldId);
          if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
          return fields;
        }
  
        /**
         * Find the _Fields constant that matches name, or null if its not found.
         */
        public static _Fields findByName(String name) {
          return byName.get(name);
        }
  
        private final short _thriftId;
        private final String _fieldName;
  
        _Fields(short thriftId, String fieldName) {
          _thriftId = thriftId;
          _fieldName = fieldName;
        }
  
        public short getThriftFieldId() {
          return _thriftId;
        }
  
        public String getFieldName() {
          return _fieldName;
        }
      }
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
      static {
        Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
        metaDataMap = Collections.unmodifiableMap(tmpMap);
        org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(completeUpgrade_result.class, metaDataMap);
      }
  
      public completeUpgrade_result() {
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public completeUpgrade_result(completeUpgrade_result other) {
      }
  
      public completeUpgrade_result deepCopy() {
        return new completeUpgrade_result(this);
      }
  
      @Override
      public void clear() {
      }
  
      public void setFieldValue(_Fields field, Object value) {
        switch (field) {
        }
      }
  
      public Object getFieldValue(_Fields field) {
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
      public boolean isSet(_Fields field) {
        if (field == null) {
          throw new IllegalArgumentException();
        }
  
        switch (field) {
        }
        throw new IllegalStateException();
      }
  
      @Override
      public boolean equals(Object that) {
        if (that == null)
          return false;
        if (that instanceof completeUpgrade_result)
          return this.equals((completeUpgrade_result)that);
        return false;
      }
  
      public boolean equals(completeUpgrade_result that) {
        if (that == null)
          return false;
  
        return true;
      }
  
      @Override
      public int hashCode() {
        List<Object> list = new ArrayList<Object>();
  
        return list.hashCode();
      }
  
      @Override
      public int compareTo(completeUpgrade_result other) {
        if (!getClass().equals(other.getClass())) {
          return getClass().getName().compareTo(other.getClass().getName());
        }
  
        int lastComparison = 0;
  
        return 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("completeUpgrade_result(");
        boolean first = true;
  
        sb.append(")");
        return sb.toString();
      }
  
      public void validate() throws org.apache.thrift.TException {
        // check for required fields
        // check for sub-struct validity
      }
  
      private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
        try {
          write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
        } catch (org.apache.thrift.TException te) {
          throw new java.io.IOException(te);
        }
      }
  
      private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
        try {
          read(new 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 completeUpgrade_resultStandardSchemeFactory implements SchemeFactory {
        public completeUpgrade_resultStandardScheme getScheme() {
          return new completeUpgrade_resultStandardScheme();
        }
      }
  
      private static class completeUpgrade_resultStandardScheme extends StandardScheme<completeUpgrade_result> {
  
        public void read(org.apache.thrift.protocol.TProtocol iprot, completeUpgrade_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) {
              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, completeUpgrade_result struct) throws org.apache.thrift.TException {
          struct.validate();
  
          oprot.writeStructBegin(STRUCT_DESC);
          oprot.writeFieldStop();
          oprot.writeStructEnd();
        }
  
      }
  
      private static class completeUpgrade_resultTupleSchemeFactory implements SchemeFactory {
        public completeUpgrade_resultTupleScheme getScheme() {
          return new completeUpgrade_resultTupleScheme();
        }
      }
  
      private static class completeUpgrade_resultTupleScheme extends TupleScheme<completeUpgrade_result> {
  
        @Override
        public void write(org.apache.thrift.protocol.TProtocol prot, completeUpgrade_result struct) throws org.apache.thrift.TException {
          TTupleProtocol oprot = (TTupleProtocol) prot;
        }
  
        @Override
        public void read(org.apache.thrift.protocol.TProtocol prot, completeUpgrade_result struct) throws org.apache.thrift.TException {
          TTupleProtocol iprot = (TTupleProtocol) prot;
        }
      }
  
    }
  
  }
  