/**
 * 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.19.0)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
package org.apache.storm.generated;

@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.19.0)")
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
public class Nimbus {

  public interface Iface {

    public void submitTopology(java.lang.String name, java.lang.String uploadedJarLocation, java.lang.String jsonConf, StormTopology topology) throws AlreadyAliveException, InvalidTopologyException, AuthorizationException, org.apache.storm.thrift.TException;

    public void submitTopologyWithOpts(java.lang.String name, java.lang.String uploadedJarLocation, java.lang.String jsonConf, StormTopology topology, SubmitOptions options) throws AlreadyAliveException, InvalidTopologyException, AuthorizationException, org.apache.storm.thrift.TException;

    public void killTopology(java.lang.String name) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException;

    public void killTopologyWithOpts(java.lang.String name, KillOptions options) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException;

    public void activate(java.lang.String name) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException;

    public void deactivate(java.lang.String name) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException;

    public void rebalance(java.lang.String name, RebalanceOptions options) throws NotAliveException, InvalidTopologyException, AuthorizationException, org.apache.storm.thrift.TException;

    public void setLogConfig(java.lang.String name, LogConfig config) throws org.apache.storm.thrift.TException;

    public LogConfig getLogConfig(java.lang.String name) throws org.apache.storm.thrift.TException;

    /**
     * Enable/disable logging the tuples generated in topology via an internal EventLogger bolt. The component name is optional
     * and if null or empty, the debug flag will apply to the entire topology.
     * 
     * The 'samplingPercentage' will limit loggging to a percentage of generated tuples.
     * 
     * 
     * @param name
     * @param component
     * @param enable
     * @param samplingPercentage
     */
    public void debug(java.lang.String name, java.lang.String component, boolean enable, double samplingPercentage) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException;

    public void setWorkerProfiler(java.lang.String id, ProfileRequest profileRequest) throws org.apache.storm.thrift.TException;

    public java.util.List<ProfileRequest> getComponentPendingProfileActions(java.lang.String id, java.lang.String component_id, ProfileAction action) throws org.apache.storm.thrift.TException;

    public void uploadNewCredentials(java.lang.String name, Credentials creds) throws NotAliveException, InvalidTopologyException, AuthorizationException, org.apache.storm.thrift.TException;

    public java.lang.String beginCreateBlob(java.lang.String key, SettableBlobMeta meta) throws AuthorizationException, KeyAlreadyExistsException, org.apache.storm.thrift.TException;

    public java.lang.String beginUpdateBlob(java.lang.String key) throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException;

    public void uploadBlobChunk(java.lang.String session, java.nio.ByteBuffer chunk) throws AuthorizationException, org.apache.storm.thrift.TException;

    public void finishBlobUpload(java.lang.String session) throws AuthorizationException, org.apache.storm.thrift.TException;

    public void cancelBlobUpload(java.lang.String session) throws AuthorizationException, org.apache.storm.thrift.TException;

    public ReadableBlobMeta getBlobMeta(java.lang.String key) throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException;

    public void setBlobMeta(java.lang.String key, SettableBlobMeta meta) throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException;

    public BeginDownloadResult beginBlobDownload(java.lang.String key) throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException;

    public java.nio.ByteBuffer downloadBlobChunk(java.lang.String session) throws AuthorizationException, org.apache.storm.thrift.TException;

    public void deleteBlob(java.lang.String key) throws AuthorizationException, KeyNotFoundException, IllegalStateException, org.apache.storm.thrift.TException;

    public ListBlobsResult listBlobs(java.lang.String session) throws org.apache.storm.thrift.TException;

    public int getBlobReplication(java.lang.String key) throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException;

    public int updateBlobReplication(java.lang.String key, int replication) throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException;

    public void createStateInZookeeper(java.lang.String key) throws org.apache.storm.thrift.TException;

    public java.lang.String beginFileUpload() throws AuthorizationException, org.apache.storm.thrift.TException;

    public void uploadChunk(java.lang.String location, java.nio.ByteBuffer chunk) throws AuthorizationException, org.apache.storm.thrift.TException;

    public void finishFileUpload(java.lang.String location) throws AuthorizationException, org.apache.storm.thrift.TException;

    public java.nio.ByteBuffer downloadChunk(java.lang.String id) throws AuthorizationException, org.apache.storm.thrift.TException;

    public java.lang.String getNimbusConf() throws AuthorizationException, org.apache.storm.thrift.TException;

    public ClusterSummary getClusterInfo() throws AuthorizationException, org.apache.storm.thrift.TException;

    public java.util.List<TopologySummary> getTopologySummaries() throws AuthorizationException, org.apache.storm.thrift.TException;

    public TopologySummary getTopologySummaryByName(java.lang.String name) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException;

    public TopologySummary getTopologySummary(java.lang.String id) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException;

    public NimbusSummary getLeader() throws AuthorizationException, org.apache.storm.thrift.TException;

    public boolean isTopologyNameAllowed(java.lang.String name) throws AuthorizationException, org.apache.storm.thrift.TException;

    public TopologyInfo getTopologyInfoByName(java.lang.String name) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException;

    public TopologyInfo getTopologyInfo(java.lang.String id) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException;

    public TopologyInfo getTopologyInfoByNameWithOpts(java.lang.String name, GetInfoOptions options) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException;

    public TopologyInfo getTopologyInfoWithOpts(java.lang.String id, GetInfoOptions options) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException;

    public TopologyPageInfo getTopologyPageInfo(java.lang.String id, java.lang.String window, boolean is_include_sys) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException;

    public SupervisorPageInfo getSupervisorPageInfo(java.lang.String id, java.lang.String host, boolean is_include_sys) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException;

    public ComponentPageInfo getComponentPageInfo(java.lang.String topology_id, java.lang.String component_id, java.lang.String window, boolean is_include_sys) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException;

    public java.lang.String getTopologyConf(java.lang.String id) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException;

    /**
     * Returns the compiled topology that contains ackers and metrics consumsers. Compare {@link #getUserTopology(String id)}.
     * 
     * @param id
     */
    public StormTopology getTopology(java.lang.String id) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException;

    /**
     * Returns the user specified topology as submitted originally. Compare {@link #getTopology(String id)}.
     * 
     * @param id
     */
    public StormTopology getUserTopology(java.lang.String id) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException;

    public TopologyHistoryInfo getTopologyHistory(java.lang.String user) throws AuthorizationException, org.apache.storm.thrift.TException;

    public java.util.List<OwnerResourceSummary> getOwnerResourceSummaries(java.lang.String owner) throws AuthorizationException, org.apache.storm.thrift.TException;

    /**
     * Get assigned assignments for a specific supervisor
     * 
     * @param node
     */
    public SupervisorAssignments getSupervisorAssignments(java.lang.String node) throws AuthorizationException, org.apache.storm.thrift.TException;

    /**
     * Send supervisor worker heartbeats for a specific supervisor
     * 
     * @param heartbeats
     */
    public void sendSupervisorWorkerHeartbeats(SupervisorWorkerHeartbeats heartbeats) throws AuthorizationException, org.apache.storm.thrift.TException;

    /**
     * Send supervisor local worker heartbeat when a supervisor is unreachable
     * 
     * @param heatbeat
     */
    public void sendSupervisorWorkerHeartbeat(SupervisorWorkerHeartbeat heatbeat) throws AuthorizationException, NotAliveException, org.apache.storm.thrift.TException;

    public void processWorkerMetrics(WorkerMetrics metrics) throws org.apache.storm.thrift.TException;

    /**
     * Decide if the blob is removed from cluster.
     * 
     * @param blobKey
     */
    public boolean isRemoteBlobExists(java.lang.String blobKey) throws AuthorizationException, org.apache.storm.thrift.TException;

  }

  public interface AsyncIface {

    public void submitTopology(java.lang.String name, java.lang.String uploadedJarLocation, java.lang.String jsonConf, StormTopology topology, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void submitTopologyWithOpts(java.lang.String name, java.lang.String uploadedJarLocation, java.lang.String jsonConf, StormTopology topology, SubmitOptions options, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void killTopology(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void killTopologyWithOpts(java.lang.String name, KillOptions options, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void activate(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void deactivate(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void rebalance(java.lang.String name, RebalanceOptions options, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void setLogConfig(java.lang.String name, LogConfig config, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void getLogConfig(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<LogConfig> resultHandler) throws org.apache.storm.thrift.TException;

    public void debug(java.lang.String name, java.lang.String component, boolean enable, double samplingPercentage, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void setWorkerProfiler(java.lang.String id, ProfileRequest profileRequest, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void getComponentPendingProfileActions(java.lang.String id, java.lang.String component_id, ProfileAction action, org.apache.storm.thrift.async.AsyncMethodCallback<java.util.List<ProfileRequest>> resultHandler) throws org.apache.storm.thrift.TException;

    public void uploadNewCredentials(java.lang.String name, Credentials creds, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void beginCreateBlob(java.lang.String key, SettableBlobMeta meta, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.storm.thrift.TException;

    public void beginUpdateBlob(java.lang.String key, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.storm.thrift.TException;

    public void uploadBlobChunk(java.lang.String session, java.nio.ByteBuffer chunk, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void finishBlobUpload(java.lang.String session, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void cancelBlobUpload(java.lang.String session, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void getBlobMeta(java.lang.String key, org.apache.storm.thrift.async.AsyncMethodCallback<ReadableBlobMeta> resultHandler) throws org.apache.storm.thrift.TException;

    public void setBlobMeta(java.lang.String key, SettableBlobMeta meta, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void beginBlobDownload(java.lang.String key, org.apache.storm.thrift.async.AsyncMethodCallback<BeginDownloadResult> resultHandler) throws org.apache.storm.thrift.TException;

    public void downloadBlobChunk(java.lang.String session, org.apache.storm.thrift.async.AsyncMethodCallback<java.nio.ByteBuffer> resultHandler) throws org.apache.storm.thrift.TException;

    public void deleteBlob(java.lang.String key, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void listBlobs(java.lang.String session, org.apache.storm.thrift.async.AsyncMethodCallback<ListBlobsResult> resultHandler) throws org.apache.storm.thrift.TException;

    public void getBlobReplication(java.lang.String key, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.storm.thrift.TException;

    public void updateBlobReplication(java.lang.String key, int replication, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.storm.thrift.TException;

    public void createStateInZookeeper(java.lang.String key, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void beginFileUpload(org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.storm.thrift.TException;

    public void uploadChunk(java.lang.String location, java.nio.ByteBuffer chunk, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void finishFileUpload(java.lang.String location, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void downloadChunk(java.lang.String id, org.apache.storm.thrift.async.AsyncMethodCallback<java.nio.ByteBuffer> resultHandler) throws org.apache.storm.thrift.TException;

    public void getNimbusConf(org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.storm.thrift.TException;

    public void getClusterInfo(org.apache.storm.thrift.async.AsyncMethodCallback<ClusterSummary> resultHandler) throws org.apache.storm.thrift.TException;

    public void getTopologySummaries(org.apache.storm.thrift.async.AsyncMethodCallback<java.util.List<TopologySummary>> resultHandler) throws org.apache.storm.thrift.TException;

    public void getTopologySummaryByName(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<TopologySummary> resultHandler) throws org.apache.storm.thrift.TException;

    public void getTopologySummary(java.lang.String id, org.apache.storm.thrift.async.AsyncMethodCallback<TopologySummary> resultHandler) throws org.apache.storm.thrift.TException;

    public void getLeader(org.apache.storm.thrift.async.AsyncMethodCallback<NimbusSummary> resultHandler) throws org.apache.storm.thrift.TException;

    public void isTopologyNameAllowed(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.storm.thrift.TException;

    public void getTopologyInfoByName(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo> resultHandler) throws org.apache.storm.thrift.TException;

    public void getTopologyInfo(java.lang.String id, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo> resultHandler) throws org.apache.storm.thrift.TException;

    public void getTopologyInfoByNameWithOpts(java.lang.String name, GetInfoOptions options, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo> resultHandler) throws org.apache.storm.thrift.TException;

    public void getTopologyInfoWithOpts(java.lang.String id, GetInfoOptions options, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo> resultHandler) throws org.apache.storm.thrift.TException;

    public void getTopologyPageInfo(java.lang.String id, java.lang.String window, boolean is_include_sys, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyPageInfo> resultHandler) throws org.apache.storm.thrift.TException;

    public void getSupervisorPageInfo(java.lang.String id, java.lang.String host, boolean is_include_sys, org.apache.storm.thrift.async.AsyncMethodCallback<SupervisorPageInfo> resultHandler) throws org.apache.storm.thrift.TException;

    public void getComponentPageInfo(java.lang.String topology_id, java.lang.String component_id, java.lang.String window, boolean is_include_sys, org.apache.storm.thrift.async.AsyncMethodCallback<ComponentPageInfo> resultHandler) throws org.apache.storm.thrift.TException;

    public void getTopologyConf(java.lang.String id, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.storm.thrift.TException;

    public void getTopology(java.lang.String id, org.apache.storm.thrift.async.AsyncMethodCallback<StormTopology> resultHandler) throws org.apache.storm.thrift.TException;

    public void getUserTopology(java.lang.String id, org.apache.storm.thrift.async.AsyncMethodCallback<StormTopology> resultHandler) throws org.apache.storm.thrift.TException;

    public void getTopologyHistory(java.lang.String user, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyHistoryInfo> resultHandler) throws org.apache.storm.thrift.TException;

    public void getOwnerResourceSummaries(java.lang.String owner, org.apache.storm.thrift.async.AsyncMethodCallback<java.util.List<OwnerResourceSummary>> resultHandler) throws org.apache.storm.thrift.TException;

    public void getSupervisorAssignments(java.lang.String node, org.apache.storm.thrift.async.AsyncMethodCallback<SupervisorAssignments> resultHandler) throws org.apache.storm.thrift.TException;

    public void sendSupervisorWorkerHeartbeats(SupervisorWorkerHeartbeats heartbeats, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void sendSupervisorWorkerHeartbeat(SupervisorWorkerHeartbeat heatbeat, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void processWorkerMetrics(WorkerMetrics metrics, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException;

    public void isRemoteBlobExists(java.lang.String blobKey, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.storm.thrift.TException;

  }

  public static class Client extends org.apache.storm.thrift.TServiceClient implements Iface {
    public static class Factory implements org.apache.storm.thrift.TServiceClientFactory<Client> {
      public Factory() {}
      @Override
      public Client getClient(org.apache.storm.thrift.protocol.TProtocol prot) {
        return new Client(prot);
      }
      @Override
      public Client getClient(org.apache.storm.thrift.protocol.TProtocol iprot, org.apache.storm.thrift.protocol.TProtocol oprot) {
        return new Client(iprot, oprot);
      }
    }

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

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

    @Override
    public void submitTopology(java.lang.String name, java.lang.String uploadedJarLocation, java.lang.String jsonConf, StormTopology topology) throws AlreadyAliveException, InvalidTopologyException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_submitTopology(name, uploadedJarLocation, jsonConf, topology);
      recv_submitTopology();
    }

    public void send_submitTopology(java.lang.String name, java.lang.String uploadedJarLocation, java.lang.String jsonConf, StormTopology topology) throws org.apache.storm.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 void recv_submitTopology() throws AlreadyAliveException, InvalidTopologyException, AuthorizationException, org.apache.storm.thrift.TException
    {
      submitTopology_result result = new submitTopology_result();
      receiveBase(result, "submitTopology");
      if (result.e != null) {
        throw result.e;
      }
      if (result.ite != null) {
        throw result.ite;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      return;
    }

    @Override
    public void submitTopologyWithOpts(java.lang.String name, java.lang.String uploadedJarLocation, java.lang.String jsonConf, StormTopology topology, SubmitOptions options) throws AlreadyAliveException, InvalidTopologyException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_submitTopologyWithOpts(name, uploadedJarLocation, jsonConf, topology, options);
      recv_submitTopologyWithOpts();
    }

    public void send_submitTopologyWithOpts(java.lang.String name, java.lang.String uploadedJarLocation, java.lang.String jsonConf, StormTopology topology, SubmitOptions options) throws org.apache.storm.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 void recv_submitTopologyWithOpts() throws AlreadyAliveException, InvalidTopologyException, AuthorizationException, org.apache.storm.thrift.TException
    {
      submitTopologyWithOpts_result result = new submitTopologyWithOpts_result();
      receiveBase(result, "submitTopologyWithOpts");
      if (result.e != null) {
        throw result.e;
      }
      if (result.ite != null) {
        throw result.ite;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      return;
    }

    @Override
    public void killTopology(java.lang.String name) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_killTopology(name);
      recv_killTopology();
    }

    public void send_killTopology(java.lang.String name) throws org.apache.storm.thrift.TException
    {
      killTopology_args args = new killTopology_args();
      args.set_name(name);
      sendBase("killTopology", args);
    }

    public void recv_killTopology() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      killTopology_result result = new killTopology_result();
      receiveBase(result, "killTopology");
      if (result.e != null) {
        throw result.e;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      return;
    }

    @Override
    public void killTopologyWithOpts(java.lang.String name, KillOptions options) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_killTopologyWithOpts(name, options);
      recv_killTopologyWithOpts();
    }

    public void send_killTopologyWithOpts(java.lang.String name, KillOptions options) throws org.apache.storm.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, AuthorizationException, org.apache.storm.thrift.TException
    {
      killTopologyWithOpts_result result = new killTopologyWithOpts_result();
      receiveBase(result, "killTopologyWithOpts");
      if (result.e != null) {
        throw result.e;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      return;
    }

    @Override
    public void activate(java.lang.String name) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_activate(name);
      recv_activate();
    }

    public void send_activate(java.lang.String name) throws org.apache.storm.thrift.TException
    {
      activate_args args = new activate_args();
      args.set_name(name);
      sendBase("activate", args);
    }

    public void recv_activate() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      activate_result result = new activate_result();
      receiveBase(result, "activate");
      if (result.e != null) {
        throw result.e;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      return;
    }

    @Override
    public void deactivate(java.lang.String name) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_deactivate(name);
      recv_deactivate();
    }

    public void send_deactivate(java.lang.String name) throws org.apache.storm.thrift.TException
    {
      deactivate_args args = new deactivate_args();
      args.set_name(name);
      sendBase("deactivate", args);
    }

    public void recv_deactivate() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      deactivate_result result = new deactivate_result();
      receiveBase(result, "deactivate");
      if (result.e != null) {
        throw result.e;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      return;
    }

    @Override
    public void rebalance(java.lang.String name, RebalanceOptions options) throws NotAliveException, InvalidTopologyException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_rebalance(name, options);
      recv_rebalance();
    }

    public void send_rebalance(java.lang.String name, RebalanceOptions options) throws org.apache.storm.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, AuthorizationException, org.apache.storm.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;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      return;
    }

    @Override
    public void setLogConfig(java.lang.String name, LogConfig config) throws org.apache.storm.thrift.TException
    {
      send_setLogConfig(name, config);
      recv_setLogConfig();
    }

    public void send_setLogConfig(java.lang.String name, LogConfig config) throws org.apache.storm.thrift.TException
    {
      setLogConfig_args args = new setLogConfig_args();
      args.set_name(name);
      args.set_config(config);
      sendBase("setLogConfig", args);
    }

    public void recv_setLogConfig() throws org.apache.storm.thrift.TException
    {
      setLogConfig_result result = new setLogConfig_result();
      receiveBase(result, "setLogConfig");
      return;
    }

    @Override
    public LogConfig getLogConfig(java.lang.String name) throws org.apache.storm.thrift.TException
    {
      send_getLogConfig(name);
      return recv_getLogConfig();
    }

    public void send_getLogConfig(java.lang.String name) throws org.apache.storm.thrift.TException
    {
      getLogConfig_args args = new getLogConfig_args();
      args.set_name(name);
      sendBase("getLogConfig", args);
    }

    public LogConfig recv_getLogConfig() throws org.apache.storm.thrift.TException
    {
      getLogConfig_result result = new getLogConfig_result();
      receiveBase(result, "getLogConfig");
      if (result.is_set_success()) {
        return result.success;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getLogConfig failed: unknown result");
    }

    @Override
    public void debug(java.lang.String name, java.lang.String component, boolean enable, double samplingPercentage) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_debug(name, component, enable, samplingPercentage);
      recv_debug();
    }

    public void send_debug(java.lang.String name, java.lang.String component, boolean enable, double samplingPercentage) throws org.apache.storm.thrift.TException
    {
      debug_args args = new debug_args();
      args.set_name(name);
      args.set_component(component);
      args.set_enable(enable);
      args.set_samplingPercentage(samplingPercentage);
      sendBase("debug", args);
    }

    public void recv_debug() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      debug_result result = new debug_result();
      receiveBase(result, "debug");
      if (result.e != null) {
        throw result.e;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      return;
    }

    @Override
    public void setWorkerProfiler(java.lang.String id, ProfileRequest profileRequest) throws org.apache.storm.thrift.TException
    {
      send_setWorkerProfiler(id, profileRequest);
      recv_setWorkerProfiler();
    }

    public void send_setWorkerProfiler(java.lang.String id, ProfileRequest profileRequest) throws org.apache.storm.thrift.TException
    {
      setWorkerProfiler_args args = new setWorkerProfiler_args();
      args.set_id(id);
      args.set_profileRequest(profileRequest);
      sendBase("setWorkerProfiler", args);
    }

    public void recv_setWorkerProfiler() throws org.apache.storm.thrift.TException
    {
      setWorkerProfiler_result result = new setWorkerProfiler_result();
      receiveBase(result, "setWorkerProfiler");
      return;
    }

    @Override
    public java.util.List<ProfileRequest> getComponentPendingProfileActions(java.lang.String id, java.lang.String component_id, ProfileAction action) throws org.apache.storm.thrift.TException
    {
      send_getComponentPendingProfileActions(id, component_id, action);
      return recv_getComponentPendingProfileActions();
    }

    public void send_getComponentPendingProfileActions(java.lang.String id, java.lang.String component_id, ProfileAction action) throws org.apache.storm.thrift.TException
    {
      getComponentPendingProfileActions_args args = new getComponentPendingProfileActions_args();
      args.set_id(id);
      args.set_component_id(component_id);
      args.set_action(action);
      sendBase("getComponentPendingProfileActions", args);
    }

    public java.util.List<ProfileRequest> recv_getComponentPendingProfileActions() throws org.apache.storm.thrift.TException
    {
      getComponentPendingProfileActions_result result = new getComponentPendingProfileActions_result();
      receiveBase(result, "getComponentPendingProfileActions");
      if (result.is_set_success()) {
        return result.success;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getComponentPendingProfileActions failed: unknown result");
    }

    @Override
    public void uploadNewCredentials(java.lang.String name, Credentials creds) throws NotAliveException, InvalidTopologyException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_uploadNewCredentials(name, creds);
      recv_uploadNewCredentials();
    }

    public void send_uploadNewCredentials(java.lang.String name, Credentials creds) throws org.apache.storm.thrift.TException
    {
      uploadNewCredentials_args args = new uploadNewCredentials_args();
      args.set_name(name);
      args.set_creds(creds);
      sendBase("uploadNewCredentials", args);
    }

    public void recv_uploadNewCredentials() throws NotAliveException, InvalidTopologyException, AuthorizationException, org.apache.storm.thrift.TException
    {
      uploadNewCredentials_result result = new uploadNewCredentials_result();
      receiveBase(result, "uploadNewCredentials");
      if (result.e != null) {
        throw result.e;
      }
      if (result.ite != null) {
        throw result.ite;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      return;
    }

    @Override
    public java.lang.String beginCreateBlob(java.lang.String key, SettableBlobMeta meta) throws AuthorizationException, KeyAlreadyExistsException, org.apache.storm.thrift.TException
    {
      send_beginCreateBlob(key, meta);
      return recv_beginCreateBlob();
    }

    public void send_beginCreateBlob(java.lang.String key, SettableBlobMeta meta) throws org.apache.storm.thrift.TException
    {
      beginCreateBlob_args args = new beginCreateBlob_args();
      args.set_key(key);
      args.set_meta(meta);
      sendBase("beginCreateBlob", args);
    }

    public java.lang.String recv_beginCreateBlob() throws AuthorizationException, KeyAlreadyExistsException, org.apache.storm.thrift.TException
    {
      beginCreateBlob_result result = new beginCreateBlob_result();
      receiveBase(result, "beginCreateBlob");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      if (result.kae != null) {
        throw result.kae;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "beginCreateBlob failed: unknown result");
    }

    @Override
    public java.lang.String beginUpdateBlob(java.lang.String key) throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException
    {
      send_beginUpdateBlob(key);
      return recv_beginUpdateBlob();
    }

    public void send_beginUpdateBlob(java.lang.String key) throws org.apache.storm.thrift.TException
    {
      beginUpdateBlob_args args = new beginUpdateBlob_args();
      args.set_key(key);
      sendBase("beginUpdateBlob", args);
    }

    public java.lang.String recv_beginUpdateBlob() throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException
    {
      beginUpdateBlob_result result = new beginUpdateBlob_result();
      receiveBase(result, "beginUpdateBlob");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      if (result.knf != null) {
        throw result.knf;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "beginUpdateBlob failed: unknown result");
    }

    @Override
    public void uploadBlobChunk(java.lang.String session, java.nio.ByteBuffer chunk) throws AuthorizationException, org.apache.storm.thrift.TException
    {
      send_uploadBlobChunk(session, chunk);
      recv_uploadBlobChunk();
    }

    public void send_uploadBlobChunk(java.lang.String session, java.nio.ByteBuffer chunk) throws org.apache.storm.thrift.TException
    {
      uploadBlobChunk_args args = new uploadBlobChunk_args();
      args.set_session(session);
      args.set_chunk(chunk);
      sendBase("uploadBlobChunk", args);
    }

    public void recv_uploadBlobChunk() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      uploadBlobChunk_result result = new uploadBlobChunk_result();
      receiveBase(result, "uploadBlobChunk");
      if (result.aze != null) {
        throw result.aze;
      }
      return;
    }

    @Override
    public void finishBlobUpload(java.lang.String session) throws AuthorizationException, org.apache.storm.thrift.TException
    {
      send_finishBlobUpload(session);
      recv_finishBlobUpload();
    }

    public void send_finishBlobUpload(java.lang.String session) throws org.apache.storm.thrift.TException
    {
      finishBlobUpload_args args = new finishBlobUpload_args();
      args.set_session(session);
      sendBase("finishBlobUpload", args);
    }

    public void recv_finishBlobUpload() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      finishBlobUpload_result result = new finishBlobUpload_result();
      receiveBase(result, "finishBlobUpload");
      if (result.aze != null) {
        throw result.aze;
      }
      return;
    }

    @Override
    public void cancelBlobUpload(java.lang.String session) throws AuthorizationException, org.apache.storm.thrift.TException
    {
      send_cancelBlobUpload(session);
      recv_cancelBlobUpload();
    }

    public void send_cancelBlobUpload(java.lang.String session) throws org.apache.storm.thrift.TException
    {
      cancelBlobUpload_args args = new cancelBlobUpload_args();
      args.set_session(session);
      sendBase("cancelBlobUpload", args);
    }

    public void recv_cancelBlobUpload() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      cancelBlobUpload_result result = new cancelBlobUpload_result();
      receiveBase(result, "cancelBlobUpload");
      if (result.aze != null) {
        throw result.aze;
      }
      return;
    }

    @Override
    public ReadableBlobMeta getBlobMeta(java.lang.String key) throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException
    {
      send_getBlobMeta(key);
      return recv_getBlobMeta();
    }

    public void send_getBlobMeta(java.lang.String key) throws org.apache.storm.thrift.TException
    {
      getBlobMeta_args args = new getBlobMeta_args();
      args.set_key(key);
      sendBase("getBlobMeta", args);
    }

    public ReadableBlobMeta recv_getBlobMeta() throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException
    {
      getBlobMeta_result result = new getBlobMeta_result();
      receiveBase(result, "getBlobMeta");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      if (result.knf != null) {
        throw result.knf;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getBlobMeta failed: unknown result");
    }

    @Override
    public void setBlobMeta(java.lang.String key, SettableBlobMeta meta) throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException
    {
      send_setBlobMeta(key, meta);
      recv_setBlobMeta();
    }

    public void send_setBlobMeta(java.lang.String key, SettableBlobMeta meta) throws org.apache.storm.thrift.TException
    {
      setBlobMeta_args args = new setBlobMeta_args();
      args.set_key(key);
      args.set_meta(meta);
      sendBase("setBlobMeta", args);
    }

    public void recv_setBlobMeta() throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException
    {
      setBlobMeta_result result = new setBlobMeta_result();
      receiveBase(result, "setBlobMeta");
      if (result.aze != null) {
        throw result.aze;
      }
      if (result.knf != null) {
        throw result.knf;
      }
      return;
    }

    @Override
    public BeginDownloadResult beginBlobDownload(java.lang.String key) throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException
    {
      send_beginBlobDownload(key);
      return recv_beginBlobDownload();
    }

    public void send_beginBlobDownload(java.lang.String key) throws org.apache.storm.thrift.TException
    {
      beginBlobDownload_args args = new beginBlobDownload_args();
      args.set_key(key);
      sendBase("beginBlobDownload", args);
    }

    public BeginDownloadResult recv_beginBlobDownload() throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException
    {
      beginBlobDownload_result result = new beginBlobDownload_result();
      receiveBase(result, "beginBlobDownload");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      if (result.knf != null) {
        throw result.knf;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "beginBlobDownload failed: unknown result");
    }

    @Override
    public java.nio.ByteBuffer downloadBlobChunk(java.lang.String session) throws AuthorizationException, org.apache.storm.thrift.TException
    {
      send_downloadBlobChunk(session);
      return recv_downloadBlobChunk();
    }

    public void send_downloadBlobChunk(java.lang.String session) throws org.apache.storm.thrift.TException
    {
      downloadBlobChunk_args args = new downloadBlobChunk_args();
      args.set_session(session);
      sendBase("downloadBlobChunk", args);
    }

    public java.nio.ByteBuffer recv_downloadBlobChunk() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      downloadBlobChunk_result result = new downloadBlobChunk_result();
      receiveBase(result, "downloadBlobChunk");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "downloadBlobChunk failed: unknown result");
    }

    @Override
    public void deleteBlob(java.lang.String key) throws AuthorizationException, KeyNotFoundException, IllegalStateException, org.apache.storm.thrift.TException
    {
      send_deleteBlob(key);
      recv_deleteBlob();
    }

    public void send_deleteBlob(java.lang.String key) throws org.apache.storm.thrift.TException
    {
      deleteBlob_args args = new deleteBlob_args();
      args.set_key(key);
      sendBase("deleteBlob", args);
    }

    public void recv_deleteBlob() throws AuthorizationException, KeyNotFoundException, IllegalStateException, org.apache.storm.thrift.TException
    {
      deleteBlob_result result = new deleteBlob_result();
      receiveBase(result, "deleteBlob");
      if (result.aze != null) {
        throw result.aze;
      }
      if (result.knf != null) {
        throw result.knf;
      }
      if (result.ise != null) {
        throw result.ise;
      }
      return;
    }

    @Override
    public ListBlobsResult listBlobs(java.lang.String session) throws org.apache.storm.thrift.TException
    {
      send_listBlobs(session);
      return recv_listBlobs();
    }

    public void send_listBlobs(java.lang.String session) throws org.apache.storm.thrift.TException
    {
      listBlobs_args args = new listBlobs_args();
      args.set_session(session);
      sendBase("listBlobs", args);
    }

    public ListBlobsResult recv_listBlobs() throws org.apache.storm.thrift.TException
    {
      listBlobs_result result = new listBlobs_result();
      receiveBase(result, "listBlobs");
      if (result.is_set_success()) {
        return result.success;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "listBlobs failed: unknown result");
    }

    @Override
    public int getBlobReplication(java.lang.String key) throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException
    {
      send_getBlobReplication(key);
      return recv_getBlobReplication();
    }

    public void send_getBlobReplication(java.lang.String key) throws org.apache.storm.thrift.TException
    {
      getBlobReplication_args args = new getBlobReplication_args();
      args.set_key(key);
      sendBase("getBlobReplication", args);
    }

    public int recv_getBlobReplication() throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException
    {
      getBlobReplication_result result = new getBlobReplication_result();
      receiveBase(result, "getBlobReplication");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      if (result.knf != null) {
        throw result.knf;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getBlobReplication failed: unknown result");
    }

    @Override
    public int updateBlobReplication(java.lang.String key, int replication) throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException
    {
      send_updateBlobReplication(key, replication);
      return recv_updateBlobReplication();
    }

    public void send_updateBlobReplication(java.lang.String key, int replication) throws org.apache.storm.thrift.TException
    {
      updateBlobReplication_args args = new updateBlobReplication_args();
      args.set_key(key);
      args.set_replication(replication);
      sendBase("updateBlobReplication", args);
    }

    public int recv_updateBlobReplication() throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException
    {
      updateBlobReplication_result result = new updateBlobReplication_result();
      receiveBase(result, "updateBlobReplication");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      if (result.knf != null) {
        throw result.knf;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "updateBlobReplication failed: unknown result");
    }

    @Override
    public void createStateInZookeeper(java.lang.String key) throws org.apache.storm.thrift.TException
    {
      send_createStateInZookeeper(key);
      recv_createStateInZookeeper();
    }

    public void send_createStateInZookeeper(java.lang.String key) throws org.apache.storm.thrift.TException
    {
      createStateInZookeeper_args args = new createStateInZookeeper_args();
      args.set_key(key);
      sendBase("createStateInZookeeper", args);
    }

    public void recv_createStateInZookeeper() throws org.apache.storm.thrift.TException
    {
      createStateInZookeeper_result result = new createStateInZookeeper_result();
      receiveBase(result, "createStateInZookeeper");
      return;
    }

    @Override
    public java.lang.String beginFileUpload() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      send_beginFileUpload();
      return recv_beginFileUpload();
    }

    public void send_beginFileUpload() throws org.apache.storm.thrift.TException
    {
      beginFileUpload_args args = new beginFileUpload_args();
      sendBase("beginFileUpload", args);
    }

    public java.lang.String recv_beginFileUpload() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      beginFileUpload_result result = new beginFileUpload_result();
      receiveBase(result, "beginFileUpload");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "beginFileUpload failed: unknown result");
    }

    @Override
    public void uploadChunk(java.lang.String location, java.nio.ByteBuffer chunk) throws AuthorizationException, org.apache.storm.thrift.TException
    {
      send_uploadChunk(location, chunk);
      recv_uploadChunk();
    }

    public void send_uploadChunk(java.lang.String location, java.nio.ByteBuffer chunk) throws org.apache.storm.thrift.TException
    {
      uploadChunk_args args = new uploadChunk_args();
      args.set_location(location);
      args.set_chunk(chunk);
      sendBase("uploadChunk", args);
    }

    public void recv_uploadChunk() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      uploadChunk_result result = new uploadChunk_result();
      receiveBase(result, "uploadChunk");
      if (result.aze != null) {
        throw result.aze;
      }
      return;
    }

    @Override
    public void finishFileUpload(java.lang.String location) throws AuthorizationException, org.apache.storm.thrift.TException
    {
      send_finishFileUpload(location);
      recv_finishFileUpload();
    }

    public void send_finishFileUpload(java.lang.String location) throws org.apache.storm.thrift.TException
    {
      finishFileUpload_args args = new finishFileUpload_args();
      args.set_location(location);
      sendBase("finishFileUpload", args);
    }

    public void recv_finishFileUpload() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      finishFileUpload_result result = new finishFileUpload_result();
      receiveBase(result, "finishFileUpload");
      if (result.aze != null) {
        throw result.aze;
      }
      return;
    }

    @Override
    public java.nio.ByteBuffer downloadChunk(java.lang.String id) throws AuthorizationException, org.apache.storm.thrift.TException
    {
      send_downloadChunk(id);
      return recv_downloadChunk();
    }

    public void send_downloadChunk(java.lang.String id) throws org.apache.storm.thrift.TException
    {
      downloadChunk_args args = new downloadChunk_args();
      args.set_id(id);
      sendBase("downloadChunk", args);
    }

    public java.nio.ByteBuffer recv_downloadChunk() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      downloadChunk_result result = new downloadChunk_result();
      receiveBase(result, "downloadChunk");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "downloadChunk failed: unknown result");
    }

    @Override
    public java.lang.String getNimbusConf() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      send_getNimbusConf();
      return recv_getNimbusConf();
    }

    public void send_getNimbusConf() throws org.apache.storm.thrift.TException
    {
      getNimbusConf_args args = new getNimbusConf_args();
      sendBase("getNimbusConf", args);
    }

    public java.lang.String recv_getNimbusConf() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      getNimbusConf_result result = new getNimbusConf_result();
      receiveBase(result, "getNimbusConf");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getNimbusConf failed: unknown result");
    }

    @Override
    public ClusterSummary getClusterInfo() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      send_getClusterInfo();
      return recv_getClusterInfo();
    }

    public void send_getClusterInfo() throws org.apache.storm.thrift.TException
    {
      getClusterInfo_args args = new getClusterInfo_args();
      sendBase("getClusterInfo", args);
    }

    public ClusterSummary recv_getClusterInfo() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      getClusterInfo_result result = new getClusterInfo_result();
      receiveBase(result, "getClusterInfo");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getClusterInfo failed: unknown result");
    }

    @Override
    public java.util.List<TopologySummary> getTopologySummaries() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      send_getTopologySummaries();
      return recv_getTopologySummaries();
    }

    public void send_getTopologySummaries() throws org.apache.storm.thrift.TException
    {
      getTopologySummaries_args args = new getTopologySummaries_args();
      sendBase("getTopologySummaries", args);
    }

    public java.util.List<TopologySummary> recv_getTopologySummaries() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      getTopologySummaries_result result = new getTopologySummaries_result();
      receiveBase(result, "getTopologySummaries");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getTopologySummaries failed: unknown result");
    }

    @Override
    public TopologySummary getTopologySummaryByName(java.lang.String name) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_getTopologySummaryByName(name);
      return recv_getTopologySummaryByName();
    }

    public void send_getTopologySummaryByName(java.lang.String name) throws org.apache.storm.thrift.TException
    {
      getTopologySummaryByName_args args = new getTopologySummaryByName_args();
      args.set_name(name);
      sendBase("getTopologySummaryByName", args);
    }

    public TopologySummary recv_getTopologySummaryByName() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      getTopologySummaryByName_result result = new getTopologySummaryByName_result();
      receiveBase(result, "getTopologySummaryByName");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.e != null) {
        throw result.e;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getTopologySummaryByName failed: unknown result");
    }

    @Override
    public TopologySummary getTopologySummary(java.lang.String id) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_getTopologySummary(id);
      return recv_getTopologySummary();
    }

    public void send_getTopologySummary(java.lang.String id) throws org.apache.storm.thrift.TException
    {
      getTopologySummary_args args = new getTopologySummary_args();
      args.set_id(id);
      sendBase("getTopologySummary", args);
    }

    public TopologySummary recv_getTopologySummary() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      getTopologySummary_result result = new getTopologySummary_result();
      receiveBase(result, "getTopologySummary");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.e != null) {
        throw result.e;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getTopologySummary failed: unknown result");
    }

    @Override
    public NimbusSummary getLeader() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      send_getLeader();
      return recv_getLeader();
    }

    public void send_getLeader() throws org.apache.storm.thrift.TException
    {
      getLeader_args args = new getLeader_args();
      sendBase("getLeader", args);
    }

    public NimbusSummary recv_getLeader() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      getLeader_result result = new getLeader_result();
      receiveBase(result, "getLeader");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getLeader failed: unknown result");
    }

    @Override
    public boolean isTopologyNameAllowed(java.lang.String name) throws AuthorizationException, org.apache.storm.thrift.TException
    {
      send_isTopologyNameAllowed(name);
      return recv_isTopologyNameAllowed();
    }

    public void send_isTopologyNameAllowed(java.lang.String name) throws org.apache.storm.thrift.TException
    {
      isTopologyNameAllowed_args args = new isTopologyNameAllowed_args();
      args.set_name(name);
      sendBase("isTopologyNameAllowed", args);
    }

    public boolean recv_isTopologyNameAllowed() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      isTopologyNameAllowed_result result = new isTopologyNameAllowed_result();
      receiveBase(result, "isTopologyNameAllowed");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "isTopologyNameAllowed failed: unknown result");
    }

    @Override
    public TopologyInfo getTopologyInfoByName(java.lang.String name) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_getTopologyInfoByName(name);
      return recv_getTopologyInfoByName();
    }

    public void send_getTopologyInfoByName(java.lang.String name) throws org.apache.storm.thrift.TException
    {
      getTopologyInfoByName_args args = new getTopologyInfoByName_args();
      args.set_name(name);
      sendBase("getTopologyInfoByName", args);
    }

    public TopologyInfo recv_getTopologyInfoByName() throws NotAliveException, AuthorizationException, org.apache.storm.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;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getTopologyInfoByName failed: unknown result");
    }

    @Override
    public TopologyInfo getTopologyInfo(java.lang.String id) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_getTopologyInfo(id);
      return recv_getTopologyInfo();
    }

    public void send_getTopologyInfo(java.lang.String id) throws org.apache.storm.thrift.TException
    {
      getTopologyInfo_args args = new getTopologyInfo_args();
      args.set_id(id);
      sendBase("getTopologyInfo", args);
    }

    public TopologyInfo recv_getTopologyInfo() throws NotAliveException, AuthorizationException, org.apache.storm.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;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getTopologyInfo failed: unknown result");
    }

    @Override
    public TopologyInfo getTopologyInfoByNameWithOpts(java.lang.String name, GetInfoOptions options) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_getTopologyInfoByNameWithOpts(name, options);
      return recv_getTopologyInfoByNameWithOpts();
    }

    public void send_getTopologyInfoByNameWithOpts(java.lang.String name, GetInfoOptions options) throws org.apache.storm.thrift.TException
    {
      getTopologyInfoByNameWithOpts_args args = new getTopologyInfoByNameWithOpts_args();
      args.set_name(name);
      args.set_options(options);
      sendBase("getTopologyInfoByNameWithOpts", args);
    }

    public TopologyInfo recv_getTopologyInfoByNameWithOpts() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      getTopologyInfoByNameWithOpts_result result = new getTopologyInfoByNameWithOpts_result();
      receiveBase(result, "getTopologyInfoByNameWithOpts");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.e != null) {
        throw result.e;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getTopologyInfoByNameWithOpts failed: unknown result");
    }

    @Override
    public TopologyInfo getTopologyInfoWithOpts(java.lang.String id, GetInfoOptions options) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_getTopologyInfoWithOpts(id, options);
      return recv_getTopologyInfoWithOpts();
    }

    public void send_getTopologyInfoWithOpts(java.lang.String id, GetInfoOptions options) throws org.apache.storm.thrift.TException
    {
      getTopologyInfoWithOpts_args args = new getTopologyInfoWithOpts_args();
      args.set_id(id);
      args.set_options(options);
      sendBase("getTopologyInfoWithOpts", args);
    }

    public TopologyInfo recv_getTopologyInfoWithOpts() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      getTopologyInfoWithOpts_result result = new getTopologyInfoWithOpts_result();
      receiveBase(result, "getTopologyInfoWithOpts");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.e != null) {
        throw result.e;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getTopologyInfoWithOpts failed: unknown result");
    }

    @Override
    public TopologyPageInfo getTopologyPageInfo(java.lang.String id, java.lang.String window, boolean is_include_sys) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_getTopologyPageInfo(id, window, is_include_sys);
      return recv_getTopologyPageInfo();
    }

    public void send_getTopologyPageInfo(java.lang.String id, java.lang.String window, boolean is_include_sys) throws org.apache.storm.thrift.TException
    {
      getTopologyPageInfo_args args = new getTopologyPageInfo_args();
      args.set_id(id);
      args.set_window(window);
      args.set_is_include_sys(is_include_sys);
      sendBase("getTopologyPageInfo", args);
    }

    public TopologyPageInfo recv_getTopologyPageInfo() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      getTopologyPageInfo_result result = new getTopologyPageInfo_result();
      receiveBase(result, "getTopologyPageInfo");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.e != null) {
        throw result.e;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getTopologyPageInfo failed: unknown result");
    }

    @Override
    public SupervisorPageInfo getSupervisorPageInfo(java.lang.String id, java.lang.String host, boolean is_include_sys) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_getSupervisorPageInfo(id, host, is_include_sys);
      return recv_getSupervisorPageInfo();
    }

    public void send_getSupervisorPageInfo(java.lang.String id, java.lang.String host, boolean is_include_sys) throws org.apache.storm.thrift.TException
    {
      getSupervisorPageInfo_args args = new getSupervisorPageInfo_args();
      args.set_id(id);
      args.set_host(host);
      args.set_is_include_sys(is_include_sys);
      sendBase("getSupervisorPageInfo", args);
    }

    public SupervisorPageInfo recv_getSupervisorPageInfo() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      getSupervisorPageInfo_result result = new getSupervisorPageInfo_result();
      receiveBase(result, "getSupervisorPageInfo");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.e != null) {
        throw result.e;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getSupervisorPageInfo failed: unknown result");
    }

    @Override
    public ComponentPageInfo getComponentPageInfo(java.lang.String topology_id, java.lang.String component_id, java.lang.String window, boolean is_include_sys) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_getComponentPageInfo(topology_id, component_id, window, is_include_sys);
      return recv_getComponentPageInfo();
    }

    public void send_getComponentPageInfo(java.lang.String topology_id, java.lang.String component_id, java.lang.String window, boolean is_include_sys) throws org.apache.storm.thrift.TException
    {
      getComponentPageInfo_args args = new getComponentPageInfo_args();
      args.set_topology_id(topology_id);
      args.set_component_id(component_id);
      args.set_window(window);
      args.set_is_include_sys(is_include_sys);
      sendBase("getComponentPageInfo", args);
    }

    public ComponentPageInfo recv_getComponentPageInfo() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      getComponentPageInfo_result result = new getComponentPageInfo_result();
      receiveBase(result, "getComponentPageInfo");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.e != null) {
        throw result.e;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getComponentPageInfo failed: unknown result");
    }

    @Override
    public java.lang.String getTopologyConf(java.lang.String id) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_getTopologyConf(id);
      return recv_getTopologyConf();
    }

    public void send_getTopologyConf(java.lang.String id) throws org.apache.storm.thrift.TException
    {
      getTopologyConf_args args = new getTopologyConf_args();
      args.set_id(id);
      sendBase("getTopologyConf", args);
    }

    public java.lang.String recv_getTopologyConf() throws NotAliveException, AuthorizationException, org.apache.storm.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;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getTopologyConf failed: unknown result");
    }

    @Override
    public StormTopology getTopology(java.lang.String id) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_getTopology(id);
      return recv_getTopology();
    }

    public void send_getTopology(java.lang.String id) throws org.apache.storm.thrift.TException
    {
      getTopology_args args = new getTopology_args();
      args.set_id(id);
      sendBase("getTopology", args);
    }

    public StormTopology recv_getTopology() throws NotAliveException, AuthorizationException, org.apache.storm.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;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getTopology failed: unknown result");
    }

    @Override
    public StormTopology getUserTopology(java.lang.String id) throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException
    {
      send_getUserTopology(id);
      return recv_getUserTopology();
    }

    public void send_getUserTopology(java.lang.String id) throws org.apache.storm.thrift.TException
    {
      getUserTopology_args args = new getUserTopology_args();
      args.set_id(id);
      sendBase("getUserTopology", args);
    }

    public StormTopology recv_getUserTopology() throws NotAliveException, AuthorizationException, org.apache.storm.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;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getUserTopology failed: unknown result");
    }

    @Override
    public TopologyHistoryInfo getTopologyHistory(java.lang.String user) throws AuthorizationException, org.apache.storm.thrift.TException
    {
      send_getTopologyHistory(user);
      return recv_getTopologyHistory();
    }

    public void send_getTopologyHistory(java.lang.String user) throws org.apache.storm.thrift.TException
    {
      getTopologyHistory_args args = new getTopologyHistory_args();
      args.set_user(user);
      sendBase("getTopologyHistory", args);
    }

    public TopologyHistoryInfo recv_getTopologyHistory() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      getTopologyHistory_result result = new getTopologyHistory_result();
      receiveBase(result, "getTopologyHistory");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getTopologyHistory failed: unknown result");
    }

    @Override
    public java.util.List<OwnerResourceSummary> getOwnerResourceSummaries(java.lang.String owner) throws AuthorizationException, org.apache.storm.thrift.TException
    {
      send_getOwnerResourceSummaries(owner);
      return recv_getOwnerResourceSummaries();
    }

    public void send_getOwnerResourceSummaries(java.lang.String owner) throws org.apache.storm.thrift.TException
    {
      getOwnerResourceSummaries_args args = new getOwnerResourceSummaries_args();
      args.set_owner(owner);
      sendBase("getOwnerResourceSummaries", args);
    }

    public java.util.List<OwnerResourceSummary> recv_getOwnerResourceSummaries() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      getOwnerResourceSummaries_result result = new getOwnerResourceSummaries_result();
      receiveBase(result, "getOwnerResourceSummaries");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getOwnerResourceSummaries failed: unknown result");
    }

    @Override
    public SupervisorAssignments getSupervisorAssignments(java.lang.String node) throws AuthorizationException, org.apache.storm.thrift.TException
    {
      send_getSupervisorAssignments(node);
      return recv_getSupervisorAssignments();
    }

    public void send_getSupervisorAssignments(java.lang.String node) throws org.apache.storm.thrift.TException
    {
      getSupervisorAssignments_args args = new getSupervisorAssignments_args();
      args.set_node(node);
      sendBase("getSupervisorAssignments", args);
    }

    public SupervisorAssignments recv_getSupervisorAssignments() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      getSupervisorAssignments_result result = new getSupervisorAssignments_result();
      receiveBase(result, "getSupervisorAssignments");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "getSupervisorAssignments failed: unknown result");
    }

    @Override
    public void sendSupervisorWorkerHeartbeats(SupervisorWorkerHeartbeats heartbeats) throws AuthorizationException, org.apache.storm.thrift.TException
    {
      send_sendSupervisorWorkerHeartbeats(heartbeats);
      recv_sendSupervisorWorkerHeartbeats();
    }

    public void send_sendSupervisorWorkerHeartbeats(SupervisorWorkerHeartbeats heartbeats) throws org.apache.storm.thrift.TException
    {
      sendSupervisorWorkerHeartbeats_args args = new sendSupervisorWorkerHeartbeats_args();
      args.set_heartbeats(heartbeats);
      sendBase("sendSupervisorWorkerHeartbeats", args);
    }

    public void recv_sendSupervisorWorkerHeartbeats() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      sendSupervisorWorkerHeartbeats_result result = new sendSupervisorWorkerHeartbeats_result();
      receiveBase(result, "sendSupervisorWorkerHeartbeats");
      if (result.aze != null) {
        throw result.aze;
      }
      return;
    }

    @Override
    public void sendSupervisorWorkerHeartbeat(SupervisorWorkerHeartbeat heatbeat) throws AuthorizationException, NotAliveException, org.apache.storm.thrift.TException
    {
      send_sendSupervisorWorkerHeartbeat(heatbeat);
      recv_sendSupervisorWorkerHeartbeat();
    }

    public void send_sendSupervisorWorkerHeartbeat(SupervisorWorkerHeartbeat heatbeat) throws org.apache.storm.thrift.TException
    {
      sendSupervisorWorkerHeartbeat_args args = new sendSupervisorWorkerHeartbeat_args();
      args.set_heatbeat(heatbeat);
      sendBase("sendSupervisorWorkerHeartbeat", args);
    }

    public void recv_sendSupervisorWorkerHeartbeat() throws AuthorizationException, NotAliveException, org.apache.storm.thrift.TException
    {
      sendSupervisorWorkerHeartbeat_result result = new sendSupervisorWorkerHeartbeat_result();
      receiveBase(result, "sendSupervisorWorkerHeartbeat");
      if (result.aze != null) {
        throw result.aze;
      }
      if (result.e != null) {
        throw result.e;
      }
      return;
    }

    @Override
    public void processWorkerMetrics(WorkerMetrics metrics) throws org.apache.storm.thrift.TException
    {
      send_processWorkerMetrics(metrics);
      recv_processWorkerMetrics();
    }

    public void send_processWorkerMetrics(WorkerMetrics metrics) throws org.apache.storm.thrift.TException
    {
      processWorkerMetrics_args args = new processWorkerMetrics_args();
      args.set_metrics(metrics);
      sendBase("processWorkerMetrics", args);
    }

    public void recv_processWorkerMetrics() throws org.apache.storm.thrift.TException
    {
      processWorkerMetrics_result result = new processWorkerMetrics_result();
      receiveBase(result, "processWorkerMetrics");
      return;
    }

    @Override
    public boolean isRemoteBlobExists(java.lang.String blobKey) throws AuthorizationException, org.apache.storm.thrift.TException
    {
      send_isRemoteBlobExists(blobKey);
      return recv_isRemoteBlobExists();
    }

    public void send_isRemoteBlobExists(java.lang.String blobKey) throws org.apache.storm.thrift.TException
    {
      isRemoteBlobExists_args args = new isRemoteBlobExists_args();
      args.set_blobKey(blobKey);
      sendBase("isRemoteBlobExists", args);
    }

    public boolean recv_isRemoteBlobExists() throws AuthorizationException, org.apache.storm.thrift.TException
    {
      isRemoteBlobExists_result result = new isRemoteBlobExists_result();
      receiveBase(result, "isRemoteBlobExists");
      if (result.is_set_success()) {
        return result.success;
      }
      if (result.aze != null) {
        throw result.aze;
      }
      throw new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.MISSING_RESULT, "isRemoteBlobExists failed: unknown result");
    }

  }
  public static class AsyncClient extends org.apache.storm.thrift.async.TAsyncClient implements AsyncIface {
    public static class Factory implements org.apache.storm.thrift.async.TAsyncClientFactory<AsyncClient> {
      private org.apache.storm.thrift.async.TAsyncClientManager clientManager;
      private org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory;
      public Factory(org.apache.storm.thrift.async.TAsyncClientManager clientManager, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory) {
        this.clientManager = clientManager;
        this.protocolFactory = protocolFactory;
      }
    @Override
      public AsyncClient getAsyncClient(org.apache.storm.thrift.transport.TNonblockingTransport transport) {
        return new AsyncClient(protocolFactory, clientManager, transport);
      }
    }

    public AsyncClient(org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.async.TAsyncClientManager clientManager, org.apache.storm.thrift.transport.TNonblockingTransport transport) {
      super(protocolFactory, clientManager, transport);
    }

    @Override
    public void submitTopology(java.lang.String name, java.lang.String uploadedJarLocation, java.lang.String jsonConf, StormTopology topology, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String name;
      private java.lang.String uploadedJarLocation;
      private java.lang.String jsonConf;
      private StormTopology topology;
      public submitTopology_call(java.lang.String name, java.lang.String uploadedJarLocation, java.lang.String jsonConf, StormTopology topology, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.name = name;
        this.uploadedJarLocation = uploadedJarLocation;
        this.jsonConf = jsonConf;
        this.topology = topology;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("submitTopology", org.apache.storm.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();
      }

      @Override
      public Void getResult() throws AlreadyAliveException, InvalidTopologyException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_submitTopology();
        return null;
      }
    }

    @Override
    public void submitTopologyWithOpts(java.lang.String name, java.lang.String uploadedJarLocation, java.lang.String jsonConf, StormTopology topology, SubmitOptions options, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String name;
      private java.lang.String uploadedJarLocation;
      private java.lang.String jsonConf;
      private StormTopology topology;
      private SubmitOptions options;
      public submitTopologyWithOpts_call(java.lang.String name, java.lang.String uploadedJarLocation, java.lang.String jsonConf, StormTopology topology, SubmitOptions options, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.name = name;
        this.uploadedJarLocation = uploadedJarLocation;
        this.jsonConf = jsonConf;
        this.topology = topology;
        this.options = options;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("submitTopologyWithOpts", org.apache.storm.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();
      }

      @Override
      public Void getResult() throws AlreadyAliveException, InvalidTopologyException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_submitTopologyWithOpts();
        return null;
      }
    }

    @Override
    public void killTopology(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String name;
      public killTopology_call(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.name = name;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("killTopology", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        killTopology_args args = new killTopology_args();
        args.set_name(name);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_killTopology();
        return null;
      }
    }

    @Override
    public void killTopologyWithOpts(java.lang.String name, KillOptions options, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String name;
      private KillOptions options;
      public killTopologyWithOpts_call(java.lang.String name, KillOptions options, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.name = name;
        this.options = options;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("killTopologyWithOpts", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        killTopologyWithOpts_args args = new killTopologyWithOpts_args();
        args.set_name(name);
        args.set_options(options);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_killTopologyWithOpts();
        return null;
      }
    }

    @Override
    public void activate(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String name;
      public activate_call(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.name = name;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("activate", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        activate_args args = new activate_args();
        args.set_name(name);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_activate();
        return null;
      }
    }

    @Override
    public void deactivate(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String name;
      public deactivate_call(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.name = name;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("deactivate", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        deactivate_args args = new deactivate_args();
        args.set_name(name);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_deactivate();
        return null;
      }
    }

    @Override
    public void rebalance(java.lang.String name, RebalanceOptions options, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String name;
      private RebalanceOptions options;
      public rebalance_call(java.lang.String name, RebalanceOptions options, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.name = name;
        this.options = options;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("rebalance", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        rebalance_args args = new rebalance_args();
        args.set_name(name);
        args.set_options(options);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws NotAliveException, InvalidTopologyException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_rebalance();
        return null;
      }
    }

    @Override
    public void setLogConfig(java.lang.String name, LogConfig config, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      setLogConfig_call method_call = new setLogConfig_call(name, config, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class setLogConfig_call extends org.apache.storm.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String name;
      private LogConfig config;
      public setLogConfig_call(java.lang.String name, LogConfig config, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.name = name;
        this.config = config;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("setLogConfig", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        setLogConfig_args args = new setLogConfig_args();
        args.set_name(name);
        args.set_config(config);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_setLogConfig();
        return null;
      }
    }

    @Override
    public void getLogConfig(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<LogConfig> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      getLogConfig_call method_call = new getLogConfig_call(name, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getLogConfig_call extends org.apache.storm.thrift.async.TAsyncMethodCall<LogConfig> {
      private java.lang.String name;
      public getLogConfig_call(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<LogConfig> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.name = name;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getLogConfig", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getLogConfig_args args = new getLogConfig_args();
        args.set_name(name);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public LogConfig getResult() throws org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getLogConfig();
      }
    }

    @Override
    public void debug(java.lang.String name, java.lang.String component, boolean enable, double samplingPercentage, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      debug_call method_call = new debug_call(name, component, enable, samplingPercentage, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class debug_call extends org.apache.storm.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String name;
      private java.lang.String component;
      private boolean enable;
      private double samplingPercentage;
      public debug_call(java.lang.String name, java.lang.String component, boolean enable, double samplingPercentage, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.name = name;
        this.component = component;
        this.enable = enable;
        this.samplingPercentage = samplingPercentage;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("debug", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        debug_args args = new debug_args();
        args.set_name(name);
        args.set_component(component);
        args.set_enable(enable);
        args.set_samplingPercentage(samplingPercentage);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_debug();
        return null;
      }
    }

    @Override
    public void setWorkerProfiler(java.lang.String id, ProfileRequest profileRequest, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      setWorkerProfiler_call method_call = new setWorkerProfiler_call(id, profileRequest, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class setWorkerProfiler_call extends org.apache.storm.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String id;
      private ProfileRequest profileRequest;
      public setWorkerProfiler_call(java.lang.String id, ProfileRequest profileRequest, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
        this.profileRequest = profileRequest;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("setWorkerProfiler", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        setWorkerProfiler_args args = new setWorkerProfiler_args();
        args.set_id(id);
        args.set_profileRequest(profileRequest);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_setWorkerProfiler();
        return null;
      }
    }

    @Override
    public void getComponentPendingProfileActions(java.lang.String id, java.lang.String component_id, ProfileAction action, org.apache.storm.thrift.async.AsyncMethodCallback<java.util.List<ProfileRequest>> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      getComponentPendingProfileActions_call method_call = new getComponentPendingProfileActions_call(id, component_id, action, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getComponentPendingProfileActions_call extends org.apache.storm.thrift.async.TAsyncMethodCall<java.util.List<ProfileRequest>> {
      private java.lang.String id;
      private java.lang.String component_id;
      private ProfileAction action;
      public getComponentPendingProfileActions_call(java.lang.String id, java.lang.String component_id, ProfileAction action, org.apache.storm.thrift.async.AsyncMethodCallback<java.util.List<ProfileRequest>> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
        this.component_id = component_id;
        this.action = action;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getComponentPendingProfileActions", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getComponentPendingProfileActions_args args = new getComponentPendingProfileActions_args();
        args.set_id(id);
        args.set_component_id(component_id);
        args.set_action(action);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public java.util.List<ProfileRequest> getResult() throws org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getComponentPendingProfileActions();
      }
    }

    @Override
    public void uploadNewCredentials(java.lang.String name, Credentials creds, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      uploadNewCredentials_call method_call = new uploadNewCredentials_call(name, creds, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class uploadNewCredentials_call extends org.apache.storm.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String name;
      private Credentials creds;
      public uploadNewCredentials_call(java.lang.String name, Credentials creds, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.name = name;
        this.creds = creds;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("uploadNewCredentials", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        uploadNewCredentials_args args = new uploadNewCredentials_args();
        args.set_name(name);
        args.set_creds(creds);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws NotAliveException, InvalidTopologyException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_uploadNewCredentials();
        return null;
      }
    }

    @Override
    public void beginCreateBlob(java.lang.String key, SettableBlobMeta meta, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<java.lang.String> {
      private java.lang.String key;
      private SettableBlobMeta meta;
      public beginCreateBlob_call(java.lang.String key, SettableBlobMeta meta, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.key = key;
        this.meta = meta;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("beginCreateBlob", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        beginCreateBlob_args args = new beginCreateBlob_args();
        args.set_key(key);
        args.set_meta(meta);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public java.lang.String getResult() throws AuthorizationException, KeyAlreadyExistsException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_beginCreateBlob();
      }
    }

    @Override
    public void beginUpdateBlob(java.lang.String key, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<java.lang.String> {
      private java.lang.String key;
      public beginUpdateBlob_call(java.lang.String key, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.key = key;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("beginUpdateBlob", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        beginUpdateBlob_args args = new beginUpdateBlob_args();
        args.set_key(key);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public java.lang.String getResult() throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_beginUpdateBlob();
      }
    }

    @Override
    public void uploadBlobChunk(java.lang.String session, java.nio.ByteBuffer chunk, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String session;
      private java.nio.ByteBuffer chunk;
      public uploadBlobChunk_call(java.lang.String session, java.nio.ByteBuffer chunk, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.session = session;
        this.chunk = chunk;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("uploadBlobChunk", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        uploadBlobChunk_args args = new uploadBlobChunk_args();
        args.set_session(session);
        args.set_chunk(chunk);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_uploadBlobChunk();
        return null;
      }
    }

    @Override
    public void finishBlobUpload(java.lang.String session, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String session;
      public finishBlobUpload_call(java.lang.String session, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.session = session;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("finishBlobUpload", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        finishBlobUpload_args args = new finishBlobUpload_args();
        args.set_session(session);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_finishBlobUpload();
        return null;
      }
    }

    @Override
    public void cancelBlobUpload(java.lang.String session, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String session;
      public cancelBlobUpload_call(java.lang.String session, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.session = session;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("cancelBlobUpload", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        cancelBlobUpload_args args = new cancelBlobUpload_args();
        args.set_session(session);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_cancelBlobUpload();
        return null;
      }
    }

    @Override
    public void getBlobMeta(java.lang.String key, org.apache.storm.thrift.async.AsyncMethodCallback<ReadableBlobMeta> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<ReadableBlobMeta> {
      private java.lang.String key;
      public getBlobMeta_call(java.lang.String key, org.apache.storm.thrift.async.AsyncMethodCallback<ReadableBlobMeta> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.key = key;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getBlobMeta", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getBlobMeta_args args = new getBlobMeta_args();
        args.set_key(key);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public ReadableBlobMeta getResult() throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getBlobMeta();
      }
    }

    @Override
    public void setBlobMeta(java.lang.String key, SettableBlobMeta meta, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String key;
      private SettableBlobMeta meta;
      public setBlobMeta_call(java.lang.String key, SettableBlobMeta meta, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.key = key;
        this.meta = meta;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("setBlobMeta", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        setBlobMeta_args args = new setBlobMeta_args();
        args.set_key(key);
        args.set_meta(meta);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_setBlobMeta();
        return null;
      }
    }

    @Override
    public void beginBlobDownload(java.lang.String key, org.apache.storm.thrift.async.AsyncMethodCallback<BeginDownloadResult> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<BeginDownloadResult> {
      private java.lang.String key;
      public beginBlobDownload_call(java.lang.String key, org.apache.storm.thrift.async.AsyncMethodCallback<BeginDownloadResult> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.key = key;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("beginBlobDownload", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        beginBlobDownload_args args = new beginBlobDownload_args();
        args.set_key(key);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public BeginDownloadResult getResult() throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_beginBlobDownload();
      }
    }

    @Override
    public void downloadBlobChunk(java.lang.String session, org.apache.storm.thrift.async.AsyncMethodCallback<java.nio.ByteBuffer> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<java.nio.ByteBuffer> {
      private java.lang.String session;
      public downloadBlobChunk_call(java.lang.String session, org.apache.storm.thrift.async.AsyncMethodCallback<java.nio.ByteBuffer> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.session = session;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("downloadBlobChunk", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        downloadBlobChunk_args args = new downloadBlobChunk_args();
        args.set_session(session);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public java.nio.ByteBuffer getResult() throws AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_downloadBlobChunk();
      }
    }

    @Override
    public void deleteBlob(java.lang.String key, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String key;
      public deleteBlob_call(java.lang.String key, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.key = key;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("deleteBlob", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        deleteBlob_args args = new deleteBlob_args();
        args.set_key(key);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws AuthorizationException, KeyNotFoundException, IllegalStateException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_deleteBlob();
        return null;
      }
    }

    @Override
    public void listBlobs(java.lang.String session, org.apache.storm.thrift.async.AsyncMethodCallback<ListBlobsResult> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<ListBlobsResult> {
      private java.lang.String session;
      public listBlobs_call(java.lang.String session, org.apache.storm.thrift.async.AsyncMethodCallback<ListBlobsResult> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.session = session;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("listBlobs", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        listBlobs_args args = new listBlobs_args();
        args.set_session(session);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public ListBlobsResult getResult() throws org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_listBlobs();
      }
    }

    @Override
    public void getBlobReplication(java.lang.String key, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<java.lang.Integer> {
      private java.lang.String key;
      public getBlobReplication_call(java.lang.String key, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.key = key;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getBlobReplication", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getBlobReplication_args args = new getBlobReplication_args();
        args.set_key(key);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public java.lang.Integer getResult() throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getBlobReplication();
      }
    }

    @Override
    public void updateBlobReplication(java.lang.String key, int replication, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<java.lang.Integer> {
      private java.lang.String key;
      private int replication;
      public updateBlobReplication_call(java.lang.String key, int replication, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.key = key;
        this.replication = replication;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("updateBlobReplication", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        updateBlobReplication_args args = new updateBlobReplication_args();
        args.set_key(key);
        args.set_replication(replication);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public java.lang.Integer getResult() throws AuthorizationException, KeyNotFoundException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_updateBlobReplication();
      }
    }

    @Override
    public void createStateInZookeeper(java.lang.String key, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String key;
      public createStateInZookeeper_call(java.lang.String key, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.key = key;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("createStateInZookeeper", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        createStateInZookeeper_args args = new createStateInZookeeper_args();
        args.set_key(key);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_createStateInZookeeper();
        return null;
      }
    }

    @Override
    public void beginFileUpload(org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<java.lang.String> {
      public beginFileUpload_call(org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("beginFileUpload", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        beginFileUpload_args args = new beginFileUpload_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public java.lang.String getResult() throws AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_beginFileUpload();
      }
    }

    @Override
    public void uploadChunk(java.lang.String location, java.nio.ByteBuffer chunk, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String location;
      private java.nio.ByteBuffer chunk;
      public uploadChunk_call(java.lang.String location, java.nio.ByteBuffer chunk, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.location = location;
        this.chunk = chunk;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("uploadChunk", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        uploadChunk_args args = new uploadChunk_args();
        args.set_location(location);
        args.set_chunk(chunk);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_uploadChunk();
        return null;
      }
    }

    @Override
    public void finishFileUpload(java.lang.String location, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<Void> {
      private java.lang.String location;
      public finishFileUpload_call(java.lang.String location, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.location = location;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("finishFileUpload", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        finishFileUpload_args args = new finishFileUpload_args();
        args.set_location(location);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_finishFileUpload();
        return null;
      }
    }

    @Override
    public void downloadChunk(java.lang.String id, org.apache.storm.thrift.async.AsyncMethodCallback<java.nio.ByteBuffer> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<java.nio.ByteBuffer> {
      private java.lang.String id;
      public downloadChunk_call(java.lang.String id, org.apache.storm.thrift.async.AsyncMethodCallback<java.nio.ByteBuffer> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("downloadChunk", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        downloadChunk_args args = new downloadChunk_args();
        args.set_id(id);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public java.nio.ByteBuffer getResult() throws AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_downloadChunk();
      }
    }

    @Override
    public void getNimbusConf(org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<java.lang.String> {
      public getNimbusConf_call(org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getNimbusConf", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getNimbusConf_args args = new getNimbusConf_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public java.lang.String getResult() throws AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getNimbusConf();
      }
    }

    @Override
    public void getClusterInfo(org.apache.storm.thrift.async.AsyncMethodCallback<ClusterSummary> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<ClusterSummary> {
      public getClusterInfo_call(org.apache.storm.thrift.async.AsyncMethodCallback<ClusterSummary> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getClusterInfo", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getClusterInfo_args args = new getClusterInfo_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public ClusterSummary getResult() throws AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getClusterInfo();
      }
    }

    @Override
    public void getTopologySummaries(org.apache.storm.thrift.async.AsyncMethodCallback<java.util.List<TopologySummary>> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      getTopologySummaries_call method_call = new getTopologySummaries_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getTopologySummaries_call extends org.apache.storm.thrift.async.TAsyncMethodCall<java.util.List<TopologySummary>> {
      public getTopologySummaries_call(org.apache.storm.thrift.async.AsyncMethodCallback<java.util.List<TopologySummary>> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getTopologySummaries", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getTopologySummaries_args args = new getTopologySummaries_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public java.util.List<TopologySummary> getResult() throws AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTopologySummaries();
      }
    }

    @Override
    public void getTopologySummaryByName(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<TopologySummary> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      getTopologySummaryByName_call method_call = new getTopologySummaryByName_call(name, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getTopologySummaryByName_call extends org.apache.storm.thrift.async.TAsyncMethodCall<TopologySummary> {
      private java.lang.String name;
      public getTopologySummaryByName_call(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<TopologySummary> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.name = name;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getTopologySummaryByName", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getTopologySummaryByName_args args = new getTopologySummaryByName_args();
        args.set_name(name);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public TopologySummary getResult() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTopologySummaryByName();
      }
    }

    @Override
    public void getTopologySummary(java.lang.String id, org.apache.storm.thrift.async.AsyncMethodCallback<TopologySummary> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      getTopologySummary_call method_call = new getTopologySummary_call(id, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getTopologySummary_call extends org.apache.storm.thrift.async.TAsyncMethodCall<TopologySummary> {
      private java.lang.String id;
      public getTopologySummary_call(java.lang.String id, org.apache.storm.thrift.async.AsyncMethodCallback<TopologySummary> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getTopologySummary", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getTopologySummary_args args = new getTopologySummary_args();
        args.set_id(id);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public TopologySummary getResult() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTopologySummary();
      }
    }

    @Override
    public void getLeader(org.apache.storm.thrift.async.AsyncMethodCallback<NimbusSummary> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      getLeader_call method_call = new getLeader_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getLeader_call extends org.apache.storm.thrift.async.TAsyncMethodCall<NimbusSummary> {
      public getLeader_call(org.apache.storm.thrift.async.AsyncMethodCallback<NimbusSummary> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getLeader", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getLeader_args args = new getLeader_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public NimbusSummary getResult() throws AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getLeader();
      }
    }

    @Override
    public void isTopologyNameAllowed(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      isTopologyNameAllowed_call method_call = new isTopologyNameAllowed_call(name, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class isTopologyNameAllowed_call extends org.apache.storm.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
      private java.lang.String name;
      public isTopologyNameAllowed_call(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.name = name;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("isTopologyNameAllowed", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        isTopologyNameAllowed_args args = new isTopologyNameAllowed_args();
        args.set_name(name);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public java.lang.Boolean getResult() throws AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_isTopologyNameAllowed();
      }
    }

    @Override
    public void getTopologyInfoByName(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      getTopologyInfoByName_call method_call = new getTopologyInfoByName_call(name, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getTopologyInfoByName_call extends org.apache.storm.thrift.async.TAsyncMethodCall<TopologyInfo> {
      private java.lang.String name;
      public getTopologyInfoByName_call(java.lang.String name, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.name = name;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getTopologyInfoByName", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getTopologyInfoByName_args args = new getTopologyInfoByName_args();
        args.set_name(name);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public TopologyInfo getResult() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTopologyInfoByName();
      }
    }

    @Override
    public void getTopologyInfo(java.lang.String id, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<TopologyInfo> {
      private java.lang.String id;
      public getTopologyInfo_call(java.lang.String id, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getTopologyInfo", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getTopologyInfo_args args = new getTopologyInfo_args();
        args.set_id(id);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public TopologyInfo getResult() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTopologyInfo();
      }
    }

    @Override
    public void getTopologyInfoByNameWithOpts(java.lang.String name, GetInfoOptions options, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      getTopologyInfoByNameWithOpts_call method_call = new getTopologyInfoByNameWithOpts_call(name, options, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getTopologyInfoByNameWithOpts_call extends org.apache.storm.thrift.async.TAsyncMethodCall<TopologyInfo> {
      private java.lang.String name;
      private GetInfoOptions options;
      public getTopologyInfoByNameWithOpts_call(java.lang.String name, GetInfoOptions options, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.name = name;
        this.options = options;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getTopologyInfoByNameWithOpts", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getTopologyInfoByNameWithOpts_args args = new getTopologyInfoByNameWithOpts_args();
        args.set_name(name);
        args.set_options(options);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public TopologyInfo getResult() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTopologyInfoByNameWithOpts();
      }
    }

    @Override
    public void getTopologyInfoWithOpts(java.lang.String id, GetInfoOptions options, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      getTopologyInfoWithOpts_call method_call = new getTopologyInfoWithOpts_call(id, options, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getTopologyInfoWithOpts_call extends org.apache.storm.thrift.async.TAsyncMethodCall<TopologyInfo> {
      private java.lang.String id;
      private GetInfoOptions options;
      public getTopologyInfoWithOpts_call(java.lang.String id, GetInfoOptions options, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
        this.options = options;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getTopologyInfoWithOpts", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getTopologyInfoWithOpts_args args = new getTopologyInfoWithOpts_args();
        args.set_id(id);
        args.set_options(options);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public TopologyInfo getResult() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTopologyInfoWithOpts();
      }
    }

    @Override
    public void getTopologyPageInfo(java.lang.String id, java.lang.String window, boolean is_include_sys, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyPageInfo> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      getTopologyPageInfo_call method_call = new getTopologyPageInfo_call(id, window, is_include_sys, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getTopologyPageInfo_call extends org.apache.storm.thrift.async.TAsyncMethodCall<TopologyPageInfo> {
      private java.lang.String id;
      private java.lang.String window;
      private boolean is_include_sys;
      public getTopologyPageInfo_call(java.lang.String id, java.lang.String window, boolean is_include_sys, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyPageInfo> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
        this.window = window;
        this.is_include_sys = is_include_sys;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getTopologyPageInfo", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getTopologyPageInfo_args args = new getTopologyPageInfo_args();
        args.set_id(id);
        args.set_window(window);
        args.set_is_include_sys(is_include_sys);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public TopologyPageInfo getResult() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTopologyPageInfo();
      }
    }

    @Override
    public void getSupervisorPageInfo(java.lang.String id, java.lang.String host, boolean is_include_sys, org.apache.storm.thrift.async.AsyncMethodCallback<SupervisorPageInfo> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      getSupervisorPageInfo_call method_call = new getSupervisorPageInfo_call(id, host, is_include_sys, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getSupervisorPageInfo_call extends org.apache.storm.thrift.async.TAsyncMethodCall<SupervisorPageInfo> {
      private java.lang.String id;
      private java.lang.String host;
      private boolean is_include_sys;
      public getSupervisorPageInfo_call(java.lang.String id, java.lang.String host, boolean is_include_sys, org.apache.storm.thrift.async.AsyncMethodCallback<SupervisorPageInfo> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
        this.host = host;
        this.is_include_sys = is_include_sys;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getSupervisorPageInfo", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getSupervisorPageInfo_args args = new getSupervisorPageInfo_args();
        args.set_id(id);
        args.set_host(host);
        args.set_is_include_sys(is_include_sys);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public SupervisorPageInfo getResult() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getSupervisorPageInfo();
      }
    }

    @Override
    public void getComponentPageInfo(java.lang.String topology_id, java.lang.String component_id, java.lang.String window, boolean is_include_sys, org.apache.storm.thrift.async.AsyncMethodCallback<ComponentPageInfo> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      getComponentPageInfo_call method_call = new getComponentPageInfo_call(topology_id, component_id, window, is_include_sys, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getComponentPageInfo_call extends org.apache.storm.thrift.async.TAsyncMethodCall<ComponentPageInfo> {
      private java.lang.String topology_id;
      private java.lang.String component_id;
      private java.lang.String window;
      private boolean is_include_sys;
      public getComponentPageInfo_call(java.lang.String topology_id, java.lang.String component_id, java.lang.String window, boolean is_include_sys, org.apache.storm.thrift.async.AsyncMethodCallback<ComponentPageInfo> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.topology_id = topology_id;
        this.component_id = component_id;
        this.window = window;
        this.is_include_sys = is_include_sys;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getComponentPageInfo", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getComponentPageInfo_args args = new getComponentPageInfo_args();
        args.set_topology_id(topology_id);
        args.set_component_id(component_id);
        args.set_window(window);
        args.set_is_include_sys(is_include_sys);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public ComponentPageInfo getResult() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getComponentPageInfo();
      }
    }

    @Override
    public void getTopologyConf(java.lang.String id, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<java.lang.String> {
      private java.lang.String id;
      public getTopologyConf_call(java.lang.String id, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getTopologyConf", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getTopologyConf_args args = new getTopologyConf_args();
        args.set_id(id);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public java.lang.String getResult() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTopologyConf();
      }
    }

    @Override
    public void getTopology(java.lang.String id, org.apache.storm.thrift.async.AsyncMethodCallback<StormTopology> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<StormTopology> {
      private java.lang.String id;
      public getTopology_call(java.lang.String id, org.apache.storm.thrift.async.AsyncMethodCallback<StormTopology> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getTopology", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getTopology_args args = new getTopology_args();
        args.set_id(id);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public StormTopology getResult() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTopology();
      }
    }

    @Override
    public void getUserTopology(java.lang.String id, org.apache.storm.thrift.async.AsyncMethodCallback<StormTopology> resultHandler) throws org.apache.storm.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.storm.thrift.async.TAsyncMethodCall<StormTopology> {
      private java.lang.String id;
      public getUserTopology_call(java.lang.String id, org.apache.storm.thrift.async.AsyncMethodCallback<StormTopology> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getUserTopology", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getUserTopology_args args = new getUserTopology_args();
        args.set_id(id);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public StormTopology getResult() throws NotAliveException, AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getUserTopology();
      }
    }

    @Override
    public void getTopologyHistory(java.lang.String user, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyHistoryInfo> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      getTopologyHistory_call method_call = new getTopologyHistory_call(user, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getTopologyHistory_call extends org.apache.storm.thrift.async.TAsyncMethodCall<TopologyHistoryInfo> {
      private java.lang.String user;
      public getTopologyHistory_call(java.lang.String user, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyHistoryInfo> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.user = user;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getTopologyHistory", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getTopologyHistory_args args = new getTopologyHistory_args();
        args.set_user(user);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public TopologyHistoryInfo getResult() throws AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTopologyHistory();
      }
    }

    @Override
    public void getOwnerResourceSummaries(java.lang.String owner, org.apache.storm.thrift.async.AsyncMethodCallback<java.util.List<OwnerResourceSummary>> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      getOwnerResourceSummaries_call method_call = new getOwnerResourceSummaries_call(owner, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOwnerResourceSummaries_call extends org.apache.storm.thrift.async.TAsyncMethodCall<java.util.List<OwnerResourceSummary>> {
      private java.lang.String owner;
      public getOwnerResourceSummaries_call(java.lang.String owner, org.apache.storm.thrift.async.AsyncMethodCallback<java.util.List<OwnerResourceSummary>> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.owner = owner;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getOwnerResourceSummaries", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getOwnerResourceSummaries_args args = new getOwnerResourceSummaries_args();
        args.set_owner(owner);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public java.util.List<OwnerResourceSummary> getResult() throws AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOwnerResourceSummaries();
      }
    }

    @Override
    public void getSupervisorAssignments(java.lang.String node, org.apache.storm.thrift.async.AsyncMethodCallback<SupervisorAssignments> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      getSupervisorAssignments_call method_call = new getSupervisorAssignments_call(node, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getSupervisorAssignments_call extends org.apache.storm.thrift.async.TAsyncMethodCall<SupervisorAssignments> {
      private java.lang.String node;
      public getSupervisorAssignments_call(java.lang.String node, org.apache.storm.thrift.async.AsyncMethodCallback<SupervisorAssignments> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.node = node;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("getSupervisorAssignments", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        getSupervisorAssignments_args args = new getSupervisorAssignments_args();
        args.set_node(node);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public SupervisorAssignments getResult() throws AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getSupervisorAssignments();
      }
    }

    @Override
    public void sendSupervisorWorkerHeartbeats(SupervisorWorkerHeartbeats heartbeats, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      sendSupervisorWorkerHeartbeats_call method_call = new sendSupervisorWorkerHeartbeats_call(heartbeats, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class sendSupervisorWorkerHeartbeats_call extends org.apache.storm.thrift.async.TAsyncMethodCall<Void> {
      private SupervisorWorkerHeartbeats heartbeats;
      public sendSupervisorWorkerHeartbeats_call(SupervisorWorkerHeartbeats heartbeats, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.heartbeats = heartbeats;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("sendSupervisorWorkerHeartbeats", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        sendSupervisorWorkerHeartbeats_args args = new sendSupervisorWorkerHeartbeats_args();
        args.set_heartbeats(heartbeats);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_sendSupervisorWorkerHeartbeats();
        return null;
      }
    }

    @Override
    public void sendSupervisorWorkerHeartbeat(SupervisorWorkerHeartbeat heatbeat, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      sendSupervisorWorkerHeartbeat_call method_call = new sendSupervisorWorkerHeartbeat_call(heatbeat, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class sendSupervisorWorkerHeartbeat_call extends org.apache.storm.thrift.async.TAsyncMethodCall<Void> {
      private SupervisorWorkerHeartbeat heatbeat;
      public sendSupervisorWorkerHeartbeat_call(SupervisorWorkerHeartbeat heatbeat, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.heatbeat = heatbeat;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("sendSupervisorWorkerHeartbeat", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        sendSupervisorWorkerHeartbeat_args args = new sendSupervisorWorkerHeartbeat_args();
        args.set_heatbeat(heatbeat);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws AuthorizationException, NotAliveException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_sendSupervisorWorkerHeartbeat();
        return null;
      }
    }

    @Override
    public void processWorkerMetrics(WorkerMetrics metrics, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      processWorkerMetrics_call method_call = new processWorkerMetrics_call(metrics, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class processWorkerMetrics_call extends org.apache.storm.thrift.async.TAsyncMethodCall<Void> {
      private WorkerMetrics metrics;
      public processWorkerMetrics_call(WorkerMetrics metrics, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.metrics = metrics;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("processWorkerMetrics", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        processWorkerMetrics_args args = new processWorkerMetrics_args();
        args.set_metrics(metrics);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public Void getResult() throws org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_processWorkerMetrics();
        return null;
      }
    }

    @Override
    public void isRemoteBlobExists(java.lang.String blobKey, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.storm.thrift.TException {
      checkReady();
      isRemoteBlobExists_call method_call = new isRemoteBlobExists_call(blobKey, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class isRemoteBlobExists_call extends org.apache.storm.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
      private java.lang.String blobKey;
      public isRemoteBlobExists_call(java.lang.String blobKey, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.storm.thrift.async.TAsyncClient client, org.apache.storm.thrift.protocol.TProtocolFactory protocolFactory, org.apache.storm.thrift.transport.TNonblockingTransport transport) throws org.apache.storm.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.blobKey = blobKey;
      }

      @Override
      public void write_args(org.apache.storm.thrift.protocol.TProtocol prot) throws org.apache.storm.thrift.TException {
        prot.writeMessageBegin(new org.apache.storm.thrift.protocol.TMessage("isRemoteBlobExists", org.apache.storm.thrift.protocol.TMessageType.CALL, 0));
        isRemoteBlobExists_args args = new isRemoteBlobExists_args();
        args.set_blobKey(blobKey);
        args.write(prot);
        prot.writeMessageEnd();
      }

      @Override
      public java.lang.Boolean getResult() throws AuthorizationException, org.apache.storm.thrift.TException {
        if (getState() != org.apache.storm.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new java.lang.IllegalStateException("Method call not finished!");
        }
        org.apache.storm.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.storm.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.storm.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_isRemoteBlobExists();
      }
    }

  }

  public static class Processor<I extends Iface> extends org.apache.storm.thrift.TBaseProcessor<I> implements org.apache.storm.thrift.TProcessor {
    private static final org.slf4j.Logger _LOGGER = org.slf4j.LoggerFactory.getLogger(Processor.class.getName());
    public Processor(I iface) {
      super(iface, getProcessMap(new java.util.HashMap<java.lang.String, org.apache.storm.thrift.ProcessFunction<I, ? extends org.apache.storm.thrift.TBase>>()));
    }

    protected Processor(I iface, java.util.Map<java.lang.String, org.apache.storm.thrift.ProcessFunction<I, ? extends org.apache.storm.thrift.TBase>> processMap) {
      super(iface, getProcessMap(processMap));
    }

    private static <I extends Iface> java.util.Map<java.lang.String,  org.apache.storm.thrift.ProcessFunction<I, ? extends org.apache.storm.thrift.TBase>> getProcessMap(java.util.Map<java.lang.String, org.apache.storm.thrift.ProcessFunction<I, ? extends  org.apache.storm.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("setLogConfig", new setLogConfig());
      processMap.put("getLogConfig", new getLogConfig());
      processMap.put("debug", new debug());
      processMap.put("setWorkerProfiler", new setWorkerProfiler());
      processMap.put("getComponentPendingProfileActions", new getComponentPendingProfileActions());
      processMap.put("uploadNewCredentials", new uploadNewCredentials());
      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("beginFileUpload", new beginFileUpload());
      processMap.put("uploadChunk", new uploadChunk());
      processMap.put("finishFileUpload", new finishFileUpload());
      processMap.put("downloadChunk", new downloadChunk());
      processMap.put("getNimbusConf", new getNimbusConf());
      processMap.put("getClusterInfo", new getClusterInfo());
      processMap.put("getTopologySummaries", new getTopologySummaries());
      processMap.put("getTopologySummaryByName", new getTopologySummaryByName());
      processMap.put("getTopologySummary", new getTopologySummary());
      processMap.put("getLeader", new getLeader());
      processMap.put("isTopologyNameAllowed", new isTopologyNameAllowed());
      processMap.put("getTopologyInfoByName", new getTopologyInfoByName());
      processMap.put("getTopologyInfo", new getTopologyInfo());
      processMap.put("getTopologyInfoByNameWithOpts", new getTopologyInfoByNameWithOpts());
      processMap.put("getTopologyInfoWithOpts", new getTopologyInfoWithOpts());
      processMap.put("getTopologyPageInfo", new getTopologyPageInfo());
      processMap.put("getSupervisorPageInfo", new getSupervisorPageInfo());
      processMap.put("getComponentPageInfo", new getComponentPageInfo());
      processMap.put("getTopologyConf", new getTopologyConf());
      processMap.put("getTopology", new getTopology());
      processMap.put("getUserTopology", new getUserTopology());
      processMap.put("getTopologyHistory", new getTopologyHistory());
      processMap.put("getOwnerResourceSummaries", new getOwnerResourceSummaries());
      processMap.put("getSupervisorAssignments", new getSupervisorAssignments());
      processMap.put("sendSupervisorWorkerHeartbeats", new sendSupervisorWorkerHeartbeats());
      processMap.put("sendSupervisorWorkerHeartbeat", new sendSupervisorWorkerHeartbeat());
      processMap.put("processWorkerMetrics", new processWorkerMetrics());
      processMap.put("isRemoteBlobExists", new isRemoteBlobExists());
      return processMap;
    }

    public static class submitTopology<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, submitTopology_args> {
      public submitTopology() {
        super("submitTopology");
      }

      @Override
      public submitTopology_args getEmptyArgsInstance() {
        return new submitTopology_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public submitTopology_result getResult(I iface, submitTopology_args args) throws org.apache.storm.thrift.TException {
        submitTopology_result result = new submitTopology_result();
        try {
          iface.submitTopology(args.name, args.uploadedJarLocation, args.jsonConf, args.topology);
        } catch (AlreadyAliveException e) {
          result.e = e;
        } catch (InvalidTopologyException ite) {
          result.ite = ite;
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class submitTopologyWithOpts<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, submitTopologyWithOpts_args> {
      public submitTopologyWithOpts() {
        super("submitTopologyWithOpts");
      }

      @Override
      public submitTopologyWithOpts_args getEmptyArgsInstance() {
        return new submitTopologyWithOpts_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public submitTopologyWithOpts_result getResult(I iface, submitTopologyWithOpts_args args) throws org.apache.storm.thrift.TException {
        submitTopologyWithOpts_result result = new submitTopologyWithOpts_result();
        try {
          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 (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class killTopology<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, killTopology_args> {
      public killTopology() {
        super("killTopology");
      }

      @Override
      public killTopology_args getEmptyArgsInstance() {
        return new killTopology_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public killTopology_result getResult(I iface, killTopology_args args) throws org.apache.storm.thrift.TException {
        killTopology_result result = new killTopology_result();
        try {
          iface.killTopology(args.name);
        } catch (NotAliveException e) {
          result.e = e;
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class killTopologyWithOpts<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, killTopologyWithOpts_args> {
      public killTopologyWithOpts() {
        super("killTopologyWithOpts");
      }

      @Override
      public killTopologyWithOpts_args getEmptyArgsInstance() {
        return new killTopologyWithOpts_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public killTopologyWithOpts_result getResult(I iface, killTopologyWithOpts_args args) throws org.apache.storm.thrift.TException {
        killTopologyWithOpts_result result = new killTopologyWithOpts_result();
        try {
          iface.killTopologyWithOpts(args.name, args.options);
        } catch (NotAliveException e) {
          result.e = e;
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class activate<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, activate_args> {
      public activate() {
        super("activate");
      }

      @Override
      public activate_args getEmptyArgsInstance() {
        return new activate_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public activate_result getResult(I iface, activate_args args) throws org.apache.storm.thrift.TException {
        activate_result result = new activate_result();
        try {
          iface.activate(args.name);
        } catch (NotAliveException e) {
          result.e = e;
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class deactivate<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, deactivate_args> {
      public deactivate() {
        super("deactivate");
      }

      @Override
      public deactivate_args getEmptyArgsInstance() {
        return new deactivate_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public deactivate_result getResult(I iface, deactivate_args args) throws org.apache.storm.thrift.TException {
        deactivate_result result = new deactivate_result();
        try {
          iface.deactivate(args.name);
        } catch (NotAliveException e) {
          result.e = e;
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class rebalance<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, rebalance_args> {
      public rebalance() {
        super("rebalance");
      }

      @Override
      public rebalance_args getEmptyArgsInstance() {
        return new rebalance_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public rebalance_result getResult(I iface, rebalance_args args) throws org.apache.storm.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;
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class setLogConfig<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, setLogConfig_args> {
      public setLogConfig() {
        super("setLogConfig");
      }

      @Override
      public setLogConfig_args getEmptyArgsInstance() {
        return new setLogConfig_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public setLogConfig_result getResult(I iface, setLogConfig_args args) throws org.apache.storm.thrift.TException {
        setLogConfig_result result = new setLogConfig_result();
        iface.setLogConfig(args.name, args.config);
        return result;
      }
    }

    public static class getLogConfig<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getLogConfig_args> {
      public getLogConfig() {
        super("getLogConfig");
      }

      @Override
      public getLogConfig_args getEmptyArgsInstance() {
        return new getLogConfig_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getLogConfig_result getResult(I iface, getLogConfig_args args) throws org.apache.storm.thrift.TException {
        getLogConfig_result result = new getLogConfig_result();
        result.success = iface.getLogConfig(args.name);
        return result;
      }
    }

    public static class debug<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, debug_args> {
      public debug() {
        super("debug");
      }

      @Override
      public debug_args getEmptyArgsInstance() {
        return new debug_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public debug_result getResult(I iface, debug_args args) throws org.apache.storm.thrift.TException {
        debug_result result = new debug_result();
        try {
          iface.debug(args.name, args.component, args.enable, args.samplingPercentage);
        } catch (NotAliveException e) {
          result.e = e;
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class setWorkerProfiler<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, setWorkerProfiler_args> {
      public setWorkerProfiler() {
        super("setWorkerProfiler");
      }

      @Override
      public setWorkerProfiler_args getEmptyArgsInstance() {
        return new setWorkerProfiler_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public setWorkerProfiler_result getResult(I iface, setWorkerProfiler_args args) throws org.apache.storm.thrift.TException {
        setWorkerProfiler_result result = new setWorkerProfiler_result();
        iface.setWorkerProfiler(args.id, args.profileRequest);
        return result;
      }
    }

    public static class getComponentPendingProfileActions<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getComponentPendingProfileActions_args> {
      public getComponentPendingProfileActions() {
        super("getComponentPendingProfileActions");
      }

      @Override
      public getComponentPendingProfileActions_args getEmptyArgsInstance() {
        return new getComponentPendingProfileActions_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getComponentPendingProfileActions_result getResult(I iface, getComponentPendingProfileActions_args args) throws org.apache.storm.thrift.TException {
        getComponentPendingProfileActions_result result = new getComponentPendingProfileActions_result();
        result.success = iface.getComponentPendingProfileActions(args.id, args.component_id, args.action);
        return result;
      }
    }

    public static class uploadNewCredentials<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, uploadNewCredentials_args> {
      public uploadNewCredentials() {
        super("uploadNewCredentials");
      }

      @Override
      public uploadNewCredentials_args getEmptyArgsInstance() {
        return new uploadNewCredentials_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public uploadNewCredentials_result getResult(I iface, uploadNewCredentials_args args) throws org.apache.storm.thrift.TException {
        uploadNewCredentials_result result = new uploadNewCredentials_result();
        try {
          iface.uploadNewCredentials(args.name, args.creds);
        } catch (NotAliveException e) {
          result.e = e;
        } catch (InvalidTopologyException ite) {
          result.ite = ite;
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class beginCreateBlob<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, beginCreateBlob_args> {
      public beginCreateBlob() {
        super("beginCreateBlob");
      }

      @Override
      public beginCreateBlob_args getEmptyArgsInstance() {
        return new beginCreateBlob_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public beginCreateBlob_result getResult(I iface, beginCreateBlob_args args) throws org.apache.storm.thrift.TException {
        beginCreateBlob_result result = new beginCreateBlob_result();
        try {
          result.success = iface.beginCreateBlob(args.key, args.meta);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        } catch (KeyAlreadyExistsException kae) {
          result.kae = kae;
        }
        return result;
      }
    }

    public static class beginUpdateBlob<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, beginUpdateBlob_args> {
      public beginUpdateBlob() {
        super("beginUpdateBlob");
      }

      @Override
      public beginUpdateBlob_args getEmptyArgsInstance() {
        return new beginUpdateBlob_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public beginUpdateBlob_result getResult(I iface, beginUpdateBlob_args args) throws org.apache.storm.thrift.TException {
        beginUpdateBlob_result result = new beginUpdateBlob_result();
        try {
          result.success = iface.beginUpdateBlob(args.key);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        } catch (KeyNotFoundException knf) {
          result.knf = knf;
        }
        return result;
      }
    }

    public static class uploadBlobChunk<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, uploadBlobChunk_args> {
      public uploadBlobChunk() {
        super("uploadBlobChunk");
      }

      @Override
      public uploadBlobChunk_args getEmptyArgsInstance() {
        return new uploadBlobChunk_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public uploadBlobChunk_result getResult(I iface, uploadBlobChunk_args args) throws org.apache.storm.thrift.TException {
        uploadBlobChunk_result result = new uploadBlobChunk_result();
        try {
          iface.uploadBlobChunk(args.session, args.chunk);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class finishBlobUpload<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, finishBlobUpload_args> {
      public finishBlobUpload() {
        super("finishBlobUpload");
      }

      @Override
      public finishBlobUpload_args getEmptyArgsInstance() {
        return new finishBlobUpload_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public finishBlobUpload_result getResult(I iface, finishBlobUpload_args args) throws org.apache.storm.thrift.TException {
        finishBlobUpload_result result = new finishBlobUpload_result();
        try {
          iface.finishBlobUpload(args.session);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class cancelBlobUpload<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, cancelBlobUpload_args> {
      public cancelBlobUpload() {
        super("cancelBlobUpload");
      }

      @Override
      public cancelBlobUpload_args getEmptyArgsInstance() {
        return new cancelBlobUpload_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public cancelBlobUpload_result getResult(I iface, cancelBlobUpload_args args) throws org.apache.storm.thrift.TException {
        cancelBlobUpload_result result = new cancelBlobUpload_result();
        try {
          iface.cancelBlobUpload(args.session);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class getBlobMeta<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getBlobMeta_args> {
      public getBlobMeta() {
        super("getBlobMeta");
      }

      @Override
      public getBlobMeta_args getEmptyArgsInstance() {
        return new getBlobMeta_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getBlobMeta_result getResult(I iface, getBlobMeta_args args) throws org.apache.storm.thrift.TException {
        getBlobMeta_result result = new getBlobMeta_result();
        try {
          result.success = iface.getBlobMeta(args.key);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        } catch (KeyNotFoundException knf) {
          result.knf = knf;
        }
        return result;
      }
    }

    public static class setBlobMeta<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, setBlobMeta_args> {
      public setBlobMeta() {
        super("setBlobMeta");
      }

      @Override
      public setBlobMeta_args getEmptyArgsInstance() {
        return new setBlobMeta_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public setBlobMeta_result getResult(I iface, setBlobMeta_args args) throws org.apache.storm.thrift.TException {
        setBlobMeta_result result = new setBlobMeta_result();
        try {
          iface.setBlobMeta(args.key, args.meta);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        } catch (KeyNotFoundException knf) {
          result.knf = knf;
        }
        return result;
      }
    }

    public static class beginBlobDownload<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, beginBlobDownload_args> {
      public beginBlobDownload() {
        super("beginBlobDownload");
      }

      @Override
      public beginBlobDownload_args getEmptyArgsInstance() {
        return new beginBlobDownload_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public beginBlobDownload_result getResult(I iface, beginBlobDownload_args args) throws org.apache.storm.thrift.TException {
        beginBlobDownload_result result = new beginBlobDownload_result();
        try {
          result.success = iface.beginBlobDownload(args.key);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        } catch (KeyNotFoundException knf) {
          result.knf = knf;
        }
        return result;
      }
    }

    public static class downloadBlobChunk<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, downloadBlobChunk_args> {
      public downloadBlobChunk() {
        super("downloadBlobChunk");
      }

      @Override
      public downloadBlobChunk_args getEmptyArgsInstance() {
        return new downloadBlobChunk_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public downloadBlobChunk_result getResult(I iface, downloadBlobChunk_args args) throws org.apache.storm.thrift.TException {
        downloadBlobChunk_result result = new downloadBlobChunk_result();
        try {
          result.success = iface.downloadBlobChunk(args.session);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class deleteBlob<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, deleteBlob_args> {
      public deleteBlob() {
        super("deleteBlob");
      }

      @Override
      public deleteBlob_args getEmptyArgsInstance() {
        return new deleteBlob_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public deleteBlob_result getResult(I iface, deleteBlob_args args) throws org.apache.storm.thrift.TException {
        deleteBlob_result result = new deleteBlob_result();
        try {
          iface.deleteBlob(args.key);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        } catch (KeyNotFoundException knf) {
          result.knf = knf;
        } catch (IllegalStateException ise) {
          result.ise = ise;
        }
        return result;
      }
    }

    public static class listBlobs<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, listBlobs_args> {
      public listBlobs() {
        super("listBlobs");
      }

      @Override
      public listBlobs_args getEmptyArgsInstance() {
        return new listBlobs_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public listBlobs_result getResult(I iface, listBlobs_args args) throws org.apache.storm.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.storm.thrift.ProcessFunction<I, getBlobReplication_args> {
      public getBlobReplication() {
        super("getBlobReplication");
      }

      @Override
      public getBlobReplication_args getEmptyArgsInstance() {
        return new getBlobReplication_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getBlobReplication_result getResult(I iface, getBlobReplication_args args) throws org.apache.storm.thrift.TException {
        getBlobReplication_result result = new getBlobReplication_result();
        try {
          result.success = iface.getBlobReplication(args.key);
          result.set_success_isSet(true);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        } catch (KeyNotFoundException knf) {
          result.knf = knf;
        }
        return result;
      }
    }

    public static class updateBlobReplication<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, updateBlobReplication_args> {
      public updateBlobReplication() {
        super("updateBlobReplication");
      }

      @Override
      public updateBlobReplication_args getEmptyArgsInstance() {
        return new updateBlobReplication_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public updateBlobReplication_result getResult(I iface, updateBlobReplication_args args) throws org.apache.storm.thrift.TException {
        updateBlobReplication_result result = new updateBlobReplication_result();
        try {
          result.success = iface.updateBlobReplication(args.key, args.replication);
          result.set_success_isSet(true);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        } catch (KeyNotFoundException knf) {
          result.knf = knf;
        }
        return result;
      }
    }

    public static class createStateInZookeeper<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, createStateInZookeeper_args> {
      public createStateInZookeeper() {
        super("createStateInZookeeper");
      }

      @Override
      public createStateInZookeeper_args getEmptyArgsInstance() {
        return new createStateInZookeeper_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public createStateInZookeeper_result getResult(I iface, createStateInZookeeper_args args) throws org.apache.storm.thrift.TException {
        createStateInZookeeper_result result = new createStateInZookeeper_result();
        iface.createStateInZookeeper(args.key);
        return result;
      }
    }

    public static class beginFileUpload<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, beginFileUpload_args> {
      public beginFileUpload() {
        super("beginFileUpload");
      }

      @Override
      public beginFileUpload_args getEmptyArgsInstance() {
        return new beginFileUpload_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public beginFileUpload_result getResult(I iface, beginFileUpload_args args) throws org.apache.storm.thrift.TException {
        beginFileUpload_result result = new beginFileUpload_result();
        try {
          result.success = iface.beginFileUpload();
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class uploadChunk<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, uploadChunk_args> {
      public uploadChunk() {
        super("uploadChunk");
      }

      @Override
      public uploadChunk_args getEmptyArgsInstance() {
        return new uploadChunk_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public uploadChunk_result getResult(I iface, uploadChunk_args args) throws org.apache.storm.thrift.TException {
        uploadChunk_result result = new uploadChunk_result();
        try {
          iface.uploadChunk(args.location, args.chunk);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class finishFileUpload<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, finishFileUpload_args> {
      public finishFileUpload() {
        super("finishFileUpload");
      }

      @Override
      public finishFileUpload_args getEmptyArgsInstance() {
        return new finishFileUpload_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public finishFileUpload_result getResult(I iface, finishFileUpload_args args) throws org.apache.storm.thrift.TException {
        finishFileUpload_result result = new finishFileUpload_result();
        try {
          iface.finishFileUpload(args.location);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class downloadChunk<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, downloadChunk_args> {
      public downloadChunk() {
        super("downloadChunk");
      }

      @Override
      public downloadChunk_args getEmptyArgsInstance() {
        return new downloadChunk_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public downloadChunk_result getResult(I iface, downloadChunk_args args) throws org.apache.storm.thrift.TException {
        downloadChunk_result result = new downloadChunk_result();
        try {
          result.success = iface.downloadChunk(args.id);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class getNimbusConf<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getNimbusConf_args> {
      public getNimbusConf() {
        super("getNimbusConf");
      }

      @Override
      public getNimbusConf_args getEmptyArgsInstance() {
        return new getNimbusConf_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getNimbusConf_result getResult(I iface, getNimbusConf_args args) throws org.apache.storm.thrift.TException {
        getNimbusConf_result result = new getNimbusConf_result();
        try {
          result.success = iface.getNimbusConf();
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class getClusterInfo<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getClusterInfo_args> {
      public getClusterInfo() {
        super("getClusterInfo");
      }

      @Override
      public getClusterInfo_args getEmptyArgsInstance() {
        return new getClusterInfo_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getClusterInfo_result getResult(I iface, getClusterInfo_args args) throws org.apache.storm.thrift.TException {
        getClusterInfo_result result = new getClusterInfo_result();
        try {
          result.success = iface.getClusterInfo();
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class getTopologySummaries<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getTopologySummaries_args> {
      public getTopologySummaries() {
        super("getTopologySummaries");
      }

      @Override
      public getTopologySummaries_args getEmptyArgsInstance() {
        return new getTopologySummaries_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getTopologySummaries_result getResult(I iface, getTopologySummaries_args args) throws org.apache.storm.thrift.TException {
        getTopologySummaries_result result = new getTopologySummaries_result();
        try {
          result.success = iface.getTopologySummaries();
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class getTopologySummaryByName<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getTopologySummaryByName_args> {
      public getTopologySummaryByName() {
        super("getTopologySummaryByName");
      }

      @Override
      public getTopologySummaryByName_args getEmptyArgsInstance() {
        return new getTopologySummaryByName_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getTopologySummaryByName_result getResult(I iface, getTopologySummaryByName_args args) throws org.apache.storm.thrift.TException {
        getTopologySummaryByName_result result = new getTopologySummaryByName_result();
        try {
          result.success = iface.getTopologySummaryByName(args.name);
        } catch (NotAliveException e) {
          result.e = e;
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class getTopologySummary<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getTopologySummary_args> {
      public getTopologySummary() {
        super("getTopologySummary");
      }

      @Override
      public getTopologySummary_args getEmptyArgsInstance() {
        return new getTopologySummary_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getTopologySummary_result getResult(I iface, getTopologySummary_args args) throws org.apache.storm.thrift.TException {
        getTopologySummary_result result = new getTopologySummary_result();
        try {
          result.success = iface.getTopologySummary(args.id);
        } catch (NotAliveException e) {
          result.e = e;
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class getLeader<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getLeader_args> {
      public getLeader() {
        super("getLeader");
      }

      @Override
      public getLeader_args getEmptyArgsInstance() {
        return new getLeader_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getLeader_result getResult(I iface, getLeader_args args) throws org.apache.storm.thrift.TException {
        getLeader_result result = new getLeader_result();
        try {
          result.success = iface.getLeader();
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class isTopologyNameAllowed<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, isTopologyNameAllowed_args> {
      public isTopologyNameAllowed() {
        super("isTopologyNameAllowed");
      }

      @Override
      public isTopologyNameAllowed_args getEmptyArgsInstance() {
        return new isTopologyNameAllowed_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public isTopologyNameAllowed_result getResult(I iface, isTopologyNameAllowed_args args) throws org.apache.storm.thrift.TException {
        isTopologyNameAllowed_result result = new isTopologyNameAllowed_result();
        try {
          result.success = iface.isTopologyNameAllowed(args.name);
          result.set_success_isSet(true);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class getTopologyInfoByName<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getTopologyInfoByName_args> {
      public getTopologyInfoByName() {
        super("getTopologyInfoByName");
      }

      @Override
      public getTopologyInfoByName_args getEmptyArgsInstance() {
        return new getTopologyInfoByName_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getTopologyInfoByName_result getResult(I iface, getTopologyInfoByName_args args) throws org.apache.storm.thrift.TException {
        getTopologyInfoByName_result result = new getTopologyInfoByName_result();
        try {
          result.success = iface.getTopologyInfoByName(args.name);
        } catch (NotAliveException e) {
          result.e = e;
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class getTopologyInfo<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getTopologyInfo_args> {
      public getTopologyInfo() {
        super("getTopologyInfo");
      }

      @Override
      public getTopologyInfo_args getEmptyArgsInstance() {
        return new getTopologyInfo_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getTopologyInfo_result getResult(I iface, getTopologyInfo_args args) throws org.apache.storm.thrift.TException {
        getTopologyInfo_result result = new getTopologyInfo_result();
        try {
          result.success = iface.getTopologyInfo(args.id);
        } catch (NotAliveException e) {
          result.e = e;
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class getTopologyInfoByNameWithOpts<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getTopologyInfoByNameWithOpts_args> {
      public getTopologyInfoByNameWithOpts() {
        super("getTopologyInfoByNameWithOpts");
      }

      @Override
      public getTopologyInfoByNameWithOpts_args getEmptyArgsInstance() {
        return new getTopologyInfoByNameWithOpts_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getTopologyInfoByNameWithOpts_result getResult(I iface, getTopologyInfoByNameWithOpts_args args) throws org.apache.storm.thrift.TException {
        getTopologyInfoByNameWithOpts_result result = new getTopologyInfoByNameWithOpts_result();
        try {
          result.success = iface.getTopologyInfoByNameWithOpts(args.name, args.options);
        } catch (NotAliveException e) {
          result.e = e;
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class getTopologyInfoWithOpts<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getTopologyInfoWithOpts_args> {
      public getTopologyInfoWithOpts() {
        super("getTopologyInfoWithOpts");
      }

      @Override
      public getTopologyInfoWithOpts_args getEmptyArgsInstance() {
        return new getTopologyInfoWithOpts_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getTopologyInfoWithOpts_result getResult(I iface, getTopologyInfoWithOpts_args args) throws org.apache.storm.thrift.TException {
        getTopologyInfoWithOpts_result result = new getTopologyInfoWithOpts_result();
        try {
          result.success = iface.getTopologyInfoWithOpts(args.id, args.options);
        } catch (NotAliveException e) {
          result.e = e;
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class getTopologyPageInfo<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getTopologyPageInfo_args> {
      public getTopologyPageInfo() {
        super("getTopologyPageInfo");
      }

      @Override
      public getTopologyPageInfo_args getEmptyArgsInstance() {
        return new getTopologyPageInfo_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getTopologyPageInfo_result getResult(I iface, getTopologyPageInfo_args args) throws org.apache.storm.thrift.TException {
        getTopologyPageInfo_result result = new getTopologyPageInfo_result();
        try {
          result.success = iface.getTopologyPageInfo(args.id, args.window, args.is_include_sys);
        } catch (NotAliveException e) {
          result.e = e;
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class getSupervisorPageInfo<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getSupervisorPageInfo_args> {
      public getSupervisorPageInfo() {
        super("getSupervisorPageInfo");
      }

      @Override
      public getSupervisorPageInfo_args getEmptyArgsInstance() {
        return new getSupervisorPageInfo_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getSupervisorPageInfo_result getResult(I iface, getSupervisorPageInfo_args args) throws org.apache.storm.thrift.TException {
        getSupervisorPageInfo_result result = new getSupervisorPageInfo_result();
        try {
          result.success = iface.getSupervisorPageInfo(args.id, args.host, args.is_include_sys);
        } catch (NotAliveException e) {
          result.e = e;
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class getComponentPageInfo<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getComponentPageInfo_args> {
      public getComponentPageInfo() {
        super("getComponentPageInfo");
      }

      @Override
      public getComponentPageInfo_args getEmptyArgsInstance() {
        return new getComponentPageInfo_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getComponentPageInfo_result getResult(I iface, getComponentPageInfo_args args) throws org.apache.storm.thrift.TException {
        getComponentPageInfo_result result = new getComponentPageInfo_result();
        try {
          result.success = iface.getComponentPageInfo(args.topology_id, args.component_id, args.window, args.is_include_sys);
        } catch (NotAliveException e) {
          result.e = e;
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class getTopologyConf<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getTopologyConf_args> {
      public getTopologyConf() {
        super("getTopologyConf");
      }

      @Override
      public getTopologyConf_args getEmptyArgsInstance() {
        return new getTopologyConf_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getTopologyConf_result getResult(I iface, getTopologyConf_args args) throws org.apache.storm.thrift.TException {
        getTopologyConf_result result = new getTopologyConf_result();
        try {
          result.success = iface.getTopologyConf(args.id);
        } catch (NotAliveException e) {
          result.e = e;
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class getTopology<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getTopology_args> {
      public getTopology() {
        super("getTopology");
      }

      @Override
      public getTopology_args getEmptyArgsInstance() {
        return new getTopology_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getTopology_result getResult(I iface, getTopology_args args) throws org.apache.storm.thrift.TException {
        getTopology_result result = new getTopology_result();
        try {
          result.success = iface.getTopology(args.id);
        } catch (NotAliveException e) {
          result.e = e;
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class getUserTopology<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getUserTopology_args> {
      public getUserTopology() {
        super("getUserTopology");
      }

      @Override
      public getUserTopology_args getEmptyArgsInstance() {
        return new getUserTopology_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getUserTopology_result getResult(I iface, getUserTopology_args args) throws org.apache.storm.thrift.TException {
        getUserTopology_result result = new getUserTopology_result();
        try {
          result.success = iface.getUserTopology(args.id);
        } catch (NotAliveException e) {
          result.e = e;
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class getTopologyHistory<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getTopologyHistory_args> {
      public getTopologyHistory() {
        super("getTopologyHistory");
      }

      @Override
      public getTopologyHistory_args getEmptyArgsInstance() {
        return new getTopologyHistory_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getTopologyHistory_result getResult(I iface, getTopologyHistory_args args) throws org.apache.storm.thrift.TException {
        getTopologyHistory_result result = new getTopologyHistory_result();
        try {
          result.success = iface.getTopologyHistory(args.user);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class getOwnerResourceSummaries<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getOwnerResourceSummaries_args> {
      public getOwnerResourceSummaries() {
        super("getOwnerResourceSummaries");
      }

      @Override
      public getOwnerResourceSummaries_args getEmptyArgsInstance() {
        return new getOwnerResourceSummaries_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getOwnerResourceSummaries_result getResult(I iface, getOwnerResourceSummaries_args args) throws org.apache.storm.thrift.TException {
        getOwnerResourceSummaries_result result = new getOwnerResourceSummaries_result();
        try {
          result.success = iface.getOwnerResourceSummaries(args.owner);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class getSupervisorAssignments<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, getSupervisorAssignments_args> {
      public getSupervisorAssignments() {
        super("getSupervisorAssignments");
      }

      @Override
      public getSupervisorAssignments_args getEmptyArgsInstance() {
        return new getSupervisorAssignments_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public getSupervisorAssignments_result getResult(I iface, getSupervisorAssignments_args args) throws org.apache.storm.thrift.TException {
        getSupervisorAssignments_result result = new getSupervisorAssignments_result();
        try {
          result.success = iface.getSupervisorAssignments(args.node);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class sendSupervisorWorkerHeartbeats<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, sendSupervisorWorkerHeartbeats_args> {
      public sendSupervisorWorkerHeartbeats() {
        super("sendSupervisorWorkerHeartbeats");
      }

      @Override
      public sendSupervisorWorkerHeartbeats_args getEmptyArgsInstance() {
        return new sendSupervisorWorkerHeartbeats_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public sendSupervisorWorkerHeartbeats_result getResult(I iface, sendSupervisorWorkerHeartbeats_args args) throws org.apache.storm.thrift.TException {
        sendSupervisorWorkerHeartbeats_result result = new sendSupervisorWorkerHeartbeats_result();
        try {
          iface.sendSupervisorWorkerHeartbeats(args.heartbeats);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

    public static class sendSupervisorWorkerHeartbeat<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, sendSupervisorWorkerHeartbeat_args> {
      public sendSupervisorWorkerHeartbeat() {
        super("sendSupervisorWorkerHeartbeat");
      }

      @Override
      public sendSupervisorWorkerHeartbeat_args getEmptyArgsInstance() {
        return new sendSupervisorWorkerHeartbeat_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public sendSupervisorWorkerHeartbeat_result getResult(I iface, sendSupervisorWorkerHeartbeat_args args) throws org.apache.storm.thrift.TException {
        sendSupervisorWorkerHeartbeat_result result = new sendSupervisorWorkerHeartbeat_result();
        try {
          iface.sendSupervisorWorkerHeartbeat(args.heatbeat);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        } catch (NotAliveException e) {
          result.e = e;
        }
        return result;
      }
    }

    public static class processWorkerMetrics<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, processWorkerMetrics_args> {
      public processWorkerMetrics() {
        super("processWorkerMetrics");
      }

      @Override
      public processWorkerMetrics_args getEmptyArgsInstance() {
        return new processWorkerMetrics_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public processWorkerMetrics_result getResult(I iface, processWorkerMetrics_args args) throws org.apache.storm.thrift.TException {
        processWorkerMetrics_result result = new processWorkerMetrics_result();
        iface.processWorkerMetrics(args.metrics);
        return result;
      }
    }

    public static class isRemoteBlobExists<I extends Iface> extends org.apache.storm.thrift.ProcessFunction<I, isRemoteBlobExists_args> {
      public isRemoteBlobExists() {
        super("isRemoteBlobExists");
      }

      @Override
      public isRemoteBlobExists_args getEmptyArgsInstance() {
        return new isRemoteBlobExists_args();
      }

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

      @Override
      protected boolean rethrowUnhandledExceptions() {
        return false;
      }

      @Override
      public isRemoteBlobExists_result getResult(I iface, isRemoteBlobExists_args args) throws org.apache.storm.thrift.TException {
        isRemoteBlobExists_result result = new isRemoteBlobExists_result();
        try {
          result.success = iface.isRemoteBlobExists(args.blobKey);
          result.set_success_isSet(true);
        } catch (AuthorizationException aze) {
          result.aze = aze;
        }
        return result;
      }
    }

  }

  public static class AsyncProcessor<I extends AsyncIface> extends org.apache.storm.thrift.TBaseAsyncProcessor<I> {
    private static final org.slf4j.Logger _LOGGER = org.slf4j.LoggerFactory.getLogger(AsyncProcessor.class.getName());
    public AsyncProcessor(I iface) {
      super(iface, getProcessMap(new java.util.HashMap<java.lang.String, org.apache.storm.thrift.AsyncProcessFunction<I, ? extends org.apache.storm.thrift.TBase, ?>>()));
    }

    protected AsyncProcessor(I iface, java.util.Map<java.lang.String,  org.apache.storm.thrift.AsyncProcessFunction<I, ? extends  org.apache.storm.thrift.TBase, ?>> processMap) {
      super(iface, getProcessMap(processMap));
    }

    private static <I extends AsyncIface> java.util.Map<java.lang.String,  org.apache.storm.thrift.AsyncProcessFunction<I, ? extends  org.apache.storm.thrift.TBase,?>> getProcessMap(java.util.Map<java.lang.String,  org.apache.storm.thrift.AsyncProcessFunction<I, ? extends  org.apache.storm.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("setLogConfig", new setLogConfig());
      processMap.put("getLogConfig", new getLogConfig());
      processMap.put("debug", new debug());
      processMap.put("setWorkerProfiler", new setWorkerProfiler());
      processMap.put("getComponentPendingProfileActions", new getComponentPendingProfileActions());
      processMap.put("uploadNewCredentials", new uploadNewCredentials());
      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("beginFileUpload", new beginFileUpload());
      processMap.put("uploadChunk", new uploadChunk());
      processMap.put("finishFileUpload", new finishFileUpload());
      processMap.put("downloadChunk", new downloadChunk());
      processMap.put("getNimbusConf", new getNimbusConf());
      processMap.put("getClusterInfo", new getClusterInfo());
      processMap.put("getTopologySummaries", new getTopologySummaries());
      processMap.put("getTopologySummaryByName", new getTopologySummaryByName());
      processMap.put("getTopologySummary", new getTopologySummary());
      processMap.put("getLeader", new getLeader());
      processMap.put("isTopologyNameAllowed", new isTopologyNameAllowed());
      processMap.put("getTopologyInfoByName", new getTopologyInfoByName());
      processMap.put("getTopologyInfo", new getTopologyInfo());
      processMap.put("getTopologyInfoByNameWithOpts", new getTopologyInfoByNameWithOpts());
      processMap.put("getTopologyInfoWithOpts", new getTopologyInfoWithOpts());
      processMap.put("getTopologyPageInfo", new getTopologyPageInfo());
      processMap.put("getSupervisorPageInfo", new getSupervisorPageInfo());
      processMap.put("getComponentPageInfo", new getComponentPageInfo());
      processMap.put("getTopologyConf", new getTopologyConf());
      processMap.put("getTopology", new getTopology());
      processMap.put("getUserTopology", new getUserTopology());
      processMap.put("getTopologyHistory", new getTopologyHistory());
      processMap.put("getOwnerResourceSummaries", new getOwnerResourceSummaries());
      processMap.put("getSupervisorAssignments", new getSupervisorAssignments());
      processMap.put("sendSupervisorWorkerHeartbeats", new sendSupervisorWorkerHeartbeats());
      processMap.put("sendSupervisorWorkerHeartbeat", new sendSupervisorWorkerHeartbeat());
      processMap.put("processWorkerMetrics", new processWorkerMetrics());
      processMap.put("isRemoteBlobExists", new isRemoteBlobExists());
      return processMap;
    }

    public static class submitTopology<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, submitTopology_args, Void> {
      public submitTopology() {
        super("submitTopology");
      }

      @Override
      public submitTopology_args getEmptyArgsInstance() {
        return new submitTopology_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            submitTopology_result result = new submitTopology_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable 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 AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, submitTopology_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.submitTopology(args.name, args.uploadedJarLocation, args.jsonConf, args.topology,resultHandler);
      }
    }

    public static class submitTopologyWithOpts<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, submitTopologyWithOpts_args, Void> {
      public submitTopologyWithOpts() {
        super("submitTopologyWithOpts");
      }

      @Override
      public submitTopologyWithOpts_args getEmptyArgsInstance() {
        return new submitTopologyWithOpts_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            submitTopologyWithOpts_result result = new submitTopologyWithOpts_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable 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 AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, submitTopologyWithOpts_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.submitTopologyWithOpts(args.name, args.uploadedJarLocation, args.jsonConf, args.topology, args.options,resultHandler);
      }
    }

    public static class killTopology<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, killTopology_args, Void> {
      public killTopology() {
        super("killTopology");
      }

      @Override
      public killTopology_args getEmptyArgsInstance() {
        return new killTopology_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            killTopology_result result = new killTopology_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            killTopology_result result = new killTopology_result();
            if (e instanceof NotAliveException) {
              result.e = (NotAliveException) e;
              result.set_e_isSet(true);
              msg = result;
            } else if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, killTopology_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.killTopology(args.name,resultHandler);
      }
    }

    public static class killTopologyWithOpts<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, killTopologyWithOpts_args, Void> {
      public killTopologyWithOpts() {
        super("killTopologyWithOpts");
      }

      @Override
      public killTopologyWithOpts_args getEmptyArgsInstance() {
        return new killTopologyWithOpts_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            killTopologyWithOpts_result result = new killTopologyWithOpts_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            killTopologyWithOpts_result result = new killTopologyWithOpts_result();
            if (e instanceof NotAliveException) {
              result.e = (NotAliveException) e;
              result.set_e_isSet(true);
              msg = result;
            } else if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, killTopologyWithOpts_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.killTopologyWithOpts(args.name, args.options,resultHandler);
      }
    }

    public static class activate<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, activate_args, Void> {
      public activate() {
        super("activate");
      }

      @Override
      public activate_args getEmptyArgsInstance() {
        return new activate_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            activate_result result = new activate_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            activate_result result = new activate_result();
            if (e instanceof NotAliveException) {
              result.e = (NotAliveException) e;
              result.set_e_isSet(true);
              msg = result;
            } else if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, activate_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.activate(args.name,resultHandler);
      }
    }

    public static class deactivate<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, deactivate_args, Void> {
      public deactivate() {
        super("deactivate");
      }

      @Override
      public deactivate_args getEmptyArgsInstance() {
        return new deactivate_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            deactivate_result result = new deactivate_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            deactivate_result result = new deactivate_result();
            if (e instanceof NotAliveException) {
              result.e = (NotAliveException) e;
              result.set_e_isSet(true);
              msg = result;
            } else if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, deactivate_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.deactivate(args.name,resultHandler);
      }
    }

    public static class rebalance<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, rebalance_args, Void> {
      public rebalance() {
        super("rebalance");
      }

      @Override
      public rebalance_args getEmptyArgsInstance() {
        return new rebalance_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            rebalance_result result = new rebalance_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable 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 if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, rebalance_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.rebalance(args.name, args.options,resultHandler);
      }
    }

    public static class setLogConfig<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, setLogConfig_args, Void> {
      public setLogConfig() {
        super("setLogConfig");
      }

      @Override
      public setLogConfig_args getEmptyArgsInstance() {
        return new setLogConfig_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            setLogConfig_result result = new setLogConfig_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            setLogConfig_result result = new setLogConfig_result();
            if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, setLogConfig_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.setLogConfig(args.name, args.config,resultHandler);
      }
    }

    public static class getLogConfig<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getLogConfig_args, LogConfig> {
      public getLogConfig() {
        super("getLogConfig");
      }

      @Override
      public getLogConfig_args getEmptyArgsInstance() {
        return new getLogConfig_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<LogConfig> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<LogConfig>() { 
          @Override
          public void onComplete(LogConfig o) {
            getLogConfig_result result = new getLogConfig_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getLogConfig_result result = new getLogConfig_result();
            if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getLogConfig_args args, org.apache.storm.thrift.async.AsyncMethodCallback<LogConfig> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getLogConfig(args.name,resultHandler);
      }
    }

    public static class debug<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, debug_args, Void> {
      public debug() {
        super("debug");
      }

      @Override
      public debug_args getEmptyArgsInstance() {
        return new debug_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            debug_result result = new debug_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            debug_result result = new debug_result();
            if (e instanceof NotAliveException) {
              result.e = (NotAliveException) e;
              result.set_e_isSet(true);
              msg = result;
            } else if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, debug_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.debug(args.name, args.component, args.enable, args.samplingPercentage,resultHandler);
      }
    }

    public static class setWorkerProfiler<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, setWorkerProfiler_args, Void> {
      public setWorkerProfiler() {
        super("setWorkerProfiler");
      }

      @Override
      public setWorkerProfiler_args getEmptyArgsInstance() {
        return new setWorkerProfiler_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            setWorkerProfiler_result result = new setWorkerProfiler_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            setWorkerProfiler_result result = new setWorkerProfiler_result();
            if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, setWorkerProfiler_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.setWorkerProfiler(args.id, args.profileRequest,resultHandler);
      }
    }

    public static class getComponentPendingProfileActions<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getComponentPendingProfileActions_args, java.util.List<ProfileRequest>> {
      public getComponentPendingProfileActions() {
        super("getComponentPendingProfileActions");
      }

      @Override
      public getComponentPendingProfileActions_args getEmptyArgsInstance() {
        return new getComponentPendingProfileActions_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<java.util.List<ProfileRequest>> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<java.util.List<ProfileRequest>>() { 
          @Override
          public void onComplete(java.util.List<ProfileRequest> o) {
            getComponentPendingProfileActions_result result = new getComponentPendingProfileActions_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getComponentPendingProfileActions_result result = new getComponentPendingProfileActions_result();
            if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getComponentPendingProfileActions_args args, org.apache.storm.thrift.async.AsyncMethodCallback<java.util.List<ProfileRequest>> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getComponentPendingProfileActions(args.id, args.component_id, args.action,resultHandler);
      }
    }

    public static class uploadNewCredentials<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, uploadNewCredentials_args, Void> {
      public uploadNewCredentials() {
        super("uploadNewCredentials");
      }

      @Override
      public uploadNewCredentials_args getEmptyArgsInstance() {
        return new uploadNewCredentials_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            uploadNewCredentials_result result = new uploadNewCredentials_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            uploadNewCredentials_result result = new uploadNewCredentials_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 AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, uploadNewCredentials_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.uploadNewCredentials(args.name, args.creds,resultHandler);
      }
    }

    public static class beginCreateBlob<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, beginCreateBlob_args, java.lang.String> {
      public beginCreateBlob() {
        super("beginCreateBlob");
      }

      @Override
      public beginCreateBlob_args getEmptyArgsInstance() {
        return new beginCreateBlob_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String>() { 
          @Override
          public void onComplete(java.lang.String o) {
            beginCreateBlob_result result = new beginCreateBlob_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            beginCreateBlob_result result = new beginCreateBlob_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof KeyAlreadyExistsException) {
              result.kae = (KeyAlreadyExistsException) e;
              result.set_kae_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, beginCreateBlob_args args, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.storm.thrift.TException {
        iface.beginCreateBlob(args.key, args.meta,resultHandler);
      }
    }

    public static class beginUpdateBlob<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, beginUpdateBlob_args, java.lang.String> {
      public beginUpdateBlob() {
        super("beginUpdateBlob");
      }

      @Override
      public beginUpdateBlob_args getEmptyArgsInstance() {
        return new beginUpdateBlob_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String>() { 
          @Override
          public void onComplete(java.lang.String o) {
            beginUpdateBlob_result result = new beginUpdateBlob_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            beginUpdateBlob_result result = new beginUpdateBlob_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof KeyNotFoundException) {
              result.knf = (KeyNotFoundException) e;
              result.set_knf_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, beginUpdateBlob_args args, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.storm.thrift.TException {
        iface.beginUpdateBlob(args.key,resultHandler);
      }
    }

    public static class uploadBlobChunk<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, uploadBlobChunk_args, Void> {
      public uploadBlobChunk() {
        super("uploadBlobChunk");
      }

      @Override
      public uploadBlobChunk_args getEmptyArgsInstance() {
        return new uploadBlobChunk_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            uploadBlobChunk_result result = new uploadBlobChunk_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            uploadBlobChunk_result result = new uploadBlobChunk_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, uploadBlobChunk_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.uploadBlobChunk(args.session, args.chunk,resultHandler);
      }
    }

    public static class finishBlobUpload<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, finishBlobUpload_args, Void> {
      public finishBlobUpload() {
        super("finishBlobUpload");
      }

      @Override
      public finishBlobUpload_args getEmptyArgsInstance() {
        return new finishBlobUpload_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            finishBlobUpload_result result = new finishBlobUpload_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            finishBlobUpload_result result = new finishBlobUpload_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, finishBlobUpload_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.finishBlobUpload(args.session,resultHandler);
      }
    }

    public static class cancelBlobUpload<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, cancelBlobUpload_args, Void> {
      public cancelBlobUpload() {
        super("cancelBlobUpload");
      }

      @Override
      public cancelBlobUpload_args getEmptyArgsInstance() {
        return new cancelBlobUpload_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            cancelBlobUpload_result result = new cancelBlobUpload_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            cancelBlobUpload_result result = new cancelBlobUpload_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, cancelBlobUpload_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.cancelBlobUpload(args.session,resultHandler);
      }
    }

    public static class getBlobMeta<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getBlobMeta_args, ReadableBlobMeta> {
      public getBlobMeta() {
        super("getBlobMeta");
      }

      @Override
      public getBlobMeta_args getEmptyArgsInstance() {
        return new getBlobMeta_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<ReadableBlobMeta> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<ReadableBlobMeta>() { 
          @Override
          public void onComplete(ReadableBlobMeta o) {
            getBlobMeta_result result = new getBlobMeta_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getBlobMeta_result result = new getBlobMeta_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof KeyNotFoundException) {
              result.knf = (KeyNotFoundException) e;
              result.set_knf_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getBlobMeta_args args, org.apache.storm.thrift.async.AsyncMethodCallback<ReadableBlobMeta> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getBlobMeta(args.key,resultHandler);
      }
    }

    public static class setBlobMeta<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, setBlobMeta_args, Void> {
      public setBlobMeta() {
        super("setBlobMeta");
      }

      @Override
      public setBlobMeta_args getEmptyArgsInstance() {
        return new setBlobMeta_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            setBlobMeta_result result = new setBlobMeta_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            setBlobMeta_result result = new setBlobMeta_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof KeyNotFoundException) {
              result.knf = (KeyNotFoundException) e;
              result.set_knf_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, setBlobMeta_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.setBlobMeta(args.key, args.meta,resultHandler);
      }
    }

    public static class beginBlobDownload<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, beginBlobDownload_args, BeginDownloadResult> {
      public beginBlobDownload() {
        super("beginBlobDownload");
      }

      @Override
      public beginBlobDownload_args getEmptyArgsInstance() {
        return new beginBlobDownload_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<BeginDownloadResult> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<BeginDownloadResult>() { 
          @Override
          public void onComplete(BeginDownloadResult o) {
            beginBlobDownload_result result = new beginBlobDownload_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            beginBlobDownload_result result = new beginBlobDownload_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof KeyNotFoundException) {
              result.knf = (KeyNotFoundException) e;
              result.set_knf_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, beginBlobDownload_args args, org.apache.storm.thrift.async.AsyncMethodCallback<BeginDownloadResult> resultHandler) throws org.apache.storm.thrift.TException {
        iface.beginBlobDownload(args.key,resultHandler);
      }
    }

    public static class downloadBlobChunk<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, downloadBlobChunk_args, java.nio.ByteBuffer> {
      public downloadBlobChunk() {
        super("downloadBlobChunk");
      }

      @Override
      public downloadBlobChunk_args getEmptyArgsInstance() {
        return new downloadBlobChunk_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<java.nio.ByteBuffer> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<java.nio.ByteBuffer>() { 
          @Override
          public void onComplete(java.nio.ByteBuffer o) {
            downloadBlobChunk_result result = new downloadBlobChunk_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            downloadBlobChunk_result result = new downloadBlobChunk_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, downloadBlobChunk_args args, org.apache.storm.thrift.async.AsyncMethodCallback<java.nio.ByteBuffer> resultHandler) throws org.apache.storm.thrift.TException {
        iface.downloadBlobChunk(args.session,resultHandler);
      }
    }

    public static class deleteBlob<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, deleteBlob_args, Void> {
      public deleteBlob() {
        super("deleteBlob");
      }

      @Override
      public deleteBlob_args getEmptyArgsInstance() {
        return new deleteBlob_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            deleteBlob_result result = new deleteBlob_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            deleteBlob_result result = new deleteBlob_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof KeyNotFoundException) {
              result.knf = (KeyNotFoundException) e;
              result.set_knf_isSet(true);
              msg = result;
            } else if (e instanceof IllegalStateException) {
              result.ise = (IllegalStateException) e;
              result.set_ise_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, deleteBlob_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.deleteBlob(args.key,resultHandler);
      }
    }

    public static class listBlobs<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, listBlobs_args, ListBlobsResult> {
      public listBlobs() {
        super("listBlobs");
      }

      @Override
      public listBlobs_args getEmptyArgsInstance() {
        return new listBlobs_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<ListBlobsResult> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<ListBlobsResult>() { 
          @Override
          public void onComplete(ListBlobsResult o) {
            listBlobs_result result = new listBlobs_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            listBlobs_result result = new listBlobs_result();
            if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, listBlobs_args args, org.apache.storm.thrift.async.AsyncMethodCallback<ListBlobsResult> resultHandler) throws org.apache.storm.thrift.TException {
        iface.listBlobs(args.session,resultHandler);
      }
    }

    public static class getBlobReplication<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getBlobReplication_args, java.lang.Integer> {
      public getBlobReplication() {
        super("getBlobReplication");
      }

      @Override
      public getBlobReplication_args getEmptyArgsInstance() {
        return new getBlobReplication_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Integer> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Integer>() { 
          @Override
          public void onComplete(java.lang.Integer o) {
            getBlobReplication_result result = new getBlobReplication_result();
            result.success = o;
            result.set_success_isSet(true);
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getBlobReplication_result result = new getBlobReplication_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof KeyNotFoundException) {
              result.knf = (KeyNotFoundException) e;
              result.set_knf_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getBlobReplication_args args, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getBlobReplication(args.key,resultHandler);
      }
    }

    public static class updateBlobReplication<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, updateBlobReplication_args, java.lang.Integer> {
      public updateBlobReplication() {
        super("updateBlobReplication");
      }

      @Override
      public updateBlobReplication_args getEmptyArgsInstance() {
        return new updateBlobReplication_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Integer> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Integer>() { 
          @Override
          public void onComplete(java.lang.Integer o) {
            updateBlobReplication_result result = new updateBlobReplication_result();
            result.success = o;
            result.set_success_isSet(true);
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            updateBlobReplication_result result = new updateBlobReplication_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof KeyNotFoundException) {
              result.knf = (KeyNotFoundException) e;
              result.set_knf_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, updateBlobReplication_args args, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.storm.thrift.TException {
        iface.updateBlobReplication(args.key, args.replication,resultHandler);
      }
    }

    public static class createStateInZookeeper<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, createStateInZookeeper_args, Void> {
      public createStateInZookeeper() {
        super("createStateInZookeeper");
      }

      @Override
      public createStateInZookeeper_args getEmptyArgsInstance() {
        return new createStateInZookeeper_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            createStateInZookeeper_result result = new createStateInZookeeper_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            createStateInZookeeper_result result = new createStateInZookeeper_result();
            if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, createStateInZookeeper_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.createStateInZookeeper(args.key,resultHandler);
      }
    }

    public static class beginFileUpload<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, beginFileUpload_args, java.lang.String> {
      public beginFileUpload() {
        super("beginFileUpload");
      }

      @Override
      public beginFileUpload_args getEmptyArgsInstance() {
        return new beginFileUpload_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String>() { 
          @Override
          public void onComplete(java.lang.String o) {
            beginFileUpload_result result = new beginFileUpload_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            beginFileUpload_result result = new beginFileUpload_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, beginFileUpload_args args, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.storm.thrift.TException {
        iface.beginFileUpload(resultHandler);
      }
    }

    public static class uploadChunk<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, uploadChunk_args, Void> {
      public uploadChunk() {
        super("uploadChunk");
      }

      @Override
      public uploadChunk_args getEmptyArgsInstance() {
        return new uploadChunk_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            uploadChunk_result result = new uploadChunk_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            uploadChunk_result result = new uploadChunk_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, uploadChunk_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.uploadChunk(args.location, args.chunk,resultHandler);
      }
    }

    public static class finishFileUpload<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, finishFileUpload_args, Void> {
      public finishFileUpload() {
        super("finishFileUpload");
      }

      @Override
      public finishFileUpload_args getEmptyArgsInstance() {
        return new finishFileUpload_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            finishFileUpload_result result = new finishFileUpload_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            finishFileUpload_result result = new finishFileUpload_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, finishFileUpload_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.finishFileUpload(args.location,resultHandler);
      }
    }

    public static class downloadChunk<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, downloadChunk_args, java.nio.ByteBuffer> {
      public downloadChunk() {
        super("downloadChunk");
      }

      @Override
      public downloadChunk_args getEmptyArgsInstance() {
        return new downloadChunk_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<java.nio.ByteBuffer> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<java.nio.ByteBuffer>() { 
          @Override
          public void onComplete(java.nio.ByteBuffer o) {
            downloadChunk_result result = new downloadChunk_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            downloadChunk_result result = new downloadChunk_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, downloadChunk_args args, org.apache.storm.thrift.async.AsyncMethodCallback<java.nio.ByteBuffer> resultHandler) throws org.apache.storm.thrift.TException {
        iface.downloadChunk(args.id,resultHandler);
      }
    }

    public static class getNimbusConf<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getNimbusConf_args, java.lang.String> {
      public getNimbusConf() {
        super("getNimbusConf");
      }

      @Override
      public getNimbusConf_args getEmptyArgsInstance() {
        return new getNimbusConf_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String>() { 
          @Override
          public void onComplete(java.lang.String o) {
            getNimbusConf_result result = new getNimbusConf_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getNimbusConf_result result = new getNimbusConf_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getNimbusConf_args args, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getNimbusConf(resultHandler);
      }
    }

    public static class getClusterInfo<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getClusterInfo_args, ClusterSummary> {
      public getClusterInfo() {
        super("getClusterInfo");
      }

      @Override
      public getClusterInfo_args getEmptyArgsInstance() {
        return new getClusterInfo_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<ClusterSummary> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<ClusterSummary>() { 
          @Override
          public void onComplete(ClusterSummary o) {
            getClusterInfo_result result = new getClusterInfo_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getClusterInfo_result result = new getClusterInfo_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getClusterInfo_args args, org.apache.storm.thrift.async.AsyncMethodCallback<ClusterSummary> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getClusterInfo(resultHandler);
      }
    }

    public static class getTopologySummaries<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getTopologySummaries_args, java.util.List<TopologySummary>> {
      public getTopologySummaries() {
        super("getTopologySummaries");
      }

      @Override
      public getTopologySummaries_args getEmptyArgsInstance() {
        return new getTopologySummaries_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<java.util.List<TopologySummary>> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<java.util.List<TopologySummary>>() { 
          @Override
          public void onComplete(java.util.List<TopologySummary> o) {
            getTopologySummaries_result result = new getTopologySummaries_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getTopologySummaries_result result = new getTopologySummaries_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getTopologySummaries_args args, org.apache.storm.thrift.async.AsyncMethodCallback<java.util.List<TopologySummary>> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getTopologySummaries(resultHandler);
      }
    }

    public static class getTopologySummaryByName<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getTopologySummaryByName_args, TopologySummary> {
      public getTopologySummaryByName() {
        super("getTopologySummaryByName");
      }

      @Override
      public getTopologySummaryByName_args getEmptyArgsInstance() {
        return new getTopologySummaryByName_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<TopologySummary> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<TopologySummary>() { 
          @Override
          public void onComplete(TopologySummary o) {
            getTopologySummaryByName_result result = new getTopologySummaryByName_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getTopologySummaryByName_result result = new getTopologySummaryByName_result();
            if (e instanceof NotAliveException) {
              result.e = (NotAliveException) e;
              result.set_e_isSet(true);
              msg = result;
            } else if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getTopologySummaryByName_args args, org.apache.storm.thrift.async.AsyncMethodCallback<TopologySummary> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getTopologySummaryByName(args.name,resultHandler);
      }
    }

    public static class getTopologySummary<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getTopologySummary_args, TopologySummary> {
      public getTopologySummary() {
        super("getTopologySummary");
      }

      @Override
      public getTopologySummary_args getEmptyArgsInstance() {
        return new getTopologySummary_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<TopologySummary> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<TopologySummary>() { 
          @Override
          public void onComplete(TopologySummary o) {
            getTopologySummary_result result = new getTopologySummary_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getTopologySummary_result result = new getTopologySummary_result();
            if (e instanceof NotAliveException) {
              result.e = (NotAliveException) e;
              result.set_e_isSet(true);
              msg = result;
            } else if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getTopologySummary_args args, org.apache.storm.thrift.async.AsyncMethodCallback<TopologySummary> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getTopologySummary(args.id,resultHandler);
      }
    }

    public static class getLeader<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getLeader_args, NimbusSummary> {
      public getLeader() {
        super("getLeader");
      }

      @Override
      public getLeader_args getEmptyArgsInstance() {
        return new getLeader_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<NimbusSummary> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<NimbusSummary>() { 
          @Override
          public void onComplete(NimbusSummary o) {
            getLeader_result result = new getLeader_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getLeader_result result = new getLeader_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getLeader_args args, org.apache.storm.thrift.async.AsyncMethodCallback<NimbusSummary> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getLeader(resultHandler);
      }
    }

    public static class isTopologyNameAllowed<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, isTopologyNameAllowed_args, java.lang.Boolean> {
      public isTopologyNameAllowed() {
        super("isTopologyNameAllowed");
      }

      @Override
      public isTopologyNameAllowed_args getEmptyArgsInstance() {
        return new isTopologyNameAllowed_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
          @Override
          public void onComplete(java.lang.Boolean o) {
            isTopologyNameAllowed_result result = new isTopologyNameAllowed_result();
            result.success = o;
            result.set_success_isSet(true);
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            isTopologyNameAllowed_result result = new isTopologyNameAllowed_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, isTopologyNameAllowed_args args, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.storm.thrift.TException {
        iface.isTopologyNameAllowed(args.name,resultHandler);
      }
    }

    public static class getTopologyInfoByName<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getTopologyInfoByName_args, TopologyInfo> {
      public getTopologyInfoByName() {
        super("getTopologyInfoByName");
      }

      @Override
      public getTopologyInfoByName_args getEmptyArgsInstance() {
        return new getTopologyInfoByName_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo>() { 
          @Override
          public void onComplete(TopologyInfo o) {
            getTopologyInfoByName_result result = new getTopologyInfoByName_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getTopologyInfoByName_result result = new getTopologyInfoByName_result();
            if (e instanceof NotAliveException) {
              result.e = (NotAliveException) e;
              result.set_e_isSet(true);
              msg = result;
            } else if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getTopologyInfoByName_args args, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getTopologyInfoByName(args.name,resultHandler);
      }
    }

    public static class getTopologyInfo<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getTopologyInfo_args, TopologyInfo> {
      public getTopologyInfo() {
        super("getTopologyInfo");
      }

      @Override
      public getTopologyInfo_args getEmptyArgsInstance() {
        return new getTopologyInfo_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo>() { 
          @Override
          public void onComplete(TopologyInfo o) {
            getTopologyInfo_result result = new getTopologyInfo_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getTopologyInfo_result result = new getTopologyInfo_result();
            if (e instanceof NotAliveException) {
              result.e = (NotAliveException) e;
              result.set_e_isSet(true);
              msg = result;
            } else if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getTopologyInfo_args args, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getTopologyInfo(args.id,resultHandler);
      }
    }

    public static class getTopologyInfoByNameWithOpts<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getTopologyInfoByNameWithOpts_args, TopologyInfo> {
      public getTopologyInfoByNameWithOpts() {
        super("getTopologyInfoByNameWithOpts");
      }

      @Override
      public getTopologyInfoByNameWithOpts_args getEmptyArgsInstance() {
        return new getTopologyInfoByNameWithOpts_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo>() { 
          @Override
          public void onComplete(TopologyInfo o) {
            getTopologyInfoByNameWithOpts_result result = new getTopologyInfoByNameWithOpts_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getTopologyInfoByNameWithOpts_result result = new getTopologyInfoByNameWithOpts_result();
            if (e instanceof NotAliveException) {
              result.e = (NotAliveException) e;
              result.set_e_isSet(true);
              msg = result;
            } else if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getTopologyInfoByNameWithOpts_args args, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getTopologyInfoByNameWithOpts(args.name, args.options,resultHandler);
      }
    }

    public static class getTopologyInfoWithOpts<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getTopologyInfoWithOpts_args, TopologyInfo> {
      public getTopologyInfoWithOpts() {
        super("getTopologyInfoWithOpts");
      }

      @Override
      public getTopologyInfoWithOpts_args getEmptyArgsInstance() {
        return new getTopologyInfoWithOpts_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo>() { 
          @Override
          public void onComplete(TopologyInfo o) {
            getTopologyInfoWithOpts_result result = new getTopologyInfoWithOpts_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getTopologyInfoWithOpts_result result = new getTopologyInfoWithOpts_result();
            if (e instanceof NotAliveException) {
              result.e = (NotAliveException) e;
              result.set_e_isSet(true);
              msg = result;
            } else if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getTopologyInfoWithOpts_args args, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyInfo> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getTopologyInfoWithOpts(args.id, args.options,resultHandler);
      }
    }

    public static class getTopologyPageInfo<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getTopologyPageInfo_args, TopologyPageInfo> {
      public getTopologyPageInfo() {
        super("getTopologyPageInfo");
      }

      @Override
      public getTopologyPageInfo_args getEmptyArgsInstance() {
        return new getTopologyPageInfo_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<TopologyPageInfo> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<TopologyPageInfo>() { 
          @Override
          public void onComplete(TopologyPageInfo o) {
            getTopologyPageInfo_result result = new getTopologyPageInfo_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getTopologyPageInfo_result result = new getTopologyPageInfo_result();
            if (e instanceof NotAliveException) {
              result.e = (NotAliveException) e;
              result.set_e_isSet(true);
              msg = result;
            } else if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getTopologyPageInfo_args args, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyPageInfo> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getTopologyPageInfo(args.id, args.window, args.is_include_sys,resultHandler);
      }
    }

    public static class getSupervisorPageInfo<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getSupervisorPageInfo_args, SupervisorPageInfo> {
      public getSupervisorPageInfo() {
        super("getSupervisorPageInfo");
      }

      @Override
      public getSupervisorPageInfo_args getEmptyArgsInstance() {
        return new getSupervisorPageInfo_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<SupervisorPageInfo> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<SupervisorPageInfo>() { 
          @Override
          public void onComplete(SupervisorPageInfo o) {
            getSupervisorPageInfo_result result = new getSupervisorPageInfo_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getSupervisorPageInfo_result result = new getSupervisorPageInfo_result();
            if (e instanceof NotAliveException) {
              result.e = (NotAliveException) e;
              result.set_e_isSet(true);
              msg = result;
            } else if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getSupervisorPageInfo_args args, org.apache.storm.thrift.async.AsyncMethodCallback<SupervisorPageInfo> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getSupervisorPageInfo(args.id, args.host, args.is_include_sys,resultHandler);
      }
    }

    public static class getComponentPageInfo<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getComponentPageInfo_args, ComponentPageInfo> {
      public getComponentPageInfo() {
        super("getComponentPageInfo");
      }

      @Override
      public getComponentPageInfo_args getEmptyArgsInstance() {
        return new getComponentPageInfo_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<ComponentPageInfo> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<ComponentPageInfo>() { 
          @Override
          public void onComplete(ComponentPageInfo o) {
            getComponentPageInfo_result result = new getComponentPageInfo_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getComponentPageInfo_result result = new getComponentPageInfo_result();
            if (e instanceof NotAliveException) {
              result.e = (NotAliveException) e;
              result.set_e_isSet(true);
              msg = result;
            } else if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getComponentPageInfo_args args, org.apache.storm.thrift.async.AsyncMethodCallback<ComponentPageInfo> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getComponentPageInfo(args.topology_id, args.component_id, args.window, args.is_include_sys,resultHandler);
      }
    }

    public static class getTopologyConf<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getTopologyConf_args, java.lang.String> {
      public getTopologyConf() {
        super("getTopologyConf");
      }

      @Override
      public getTopologyConf_args getEmptyArgsInstance() {
        return new getTopologyConf_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String>() { 
          @Override
          public void onComplete(java.lang.String o) {
            getTopologyConf_result result = new getTopologyConf_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getTopologyConf_result result = new getTopologyConf_result();
            if (e instanceof NotAliveException) {
              result.e = (NotAliveException) e;
              result.set_e_isSet(true);
              msg = result;
            } else if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getTopologyConf_args args, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getTopologyConf(args.id,resultHandler);
      }
    }

    public static class getTopology<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getTopology_args, StormTopology> {
      public getTopology() {
        super("getTopology");
      }

      @Override
      public getTopology_args getEmptyArgsInstance() {
        return new getTopology_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<StormTopology> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<StormTopology>() { 
          @Override
          public void onComplete(StormTopology o) {
            getTopology_result result = new getTopology_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getTopology_result result = new getTopology_result();
            if (e instanceof NotAliveException) {
              result.e = (NotAliveException) e;
              result.set_e_isSet(true);
              msg = result;
            } else if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getTopology_args args, org.apache.storm.thrift.async.AsyncMethodCallback<StormTopology> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getTopology(args.id,resultHandler);
      }
    }

    public static class getUserTopology<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getUserTopology_args, StormTopology> {
      public getUserTopology() {
        super("getUserTopology");
      }

      @Override
      public getUserTopology_args getEmptyArgsInstance() {
        return new getUserTopology_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<StormTopology> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<StormTopology>() { 
          @Override
          public void onComplete(StormTopology o) {
            getUserTopology_result result = new getUserTopology_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getUserTopology_result result = new getUserTopology_result();
            if (e instanceof NotAliveException) {
              result.e = (NotAliveException) e;
              result.set_e_isSet(true);
              msg = result;
            } else if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getUserTopology_args args, org.apache.storm.thrift.async.AsyncMethodCallback<StormTopology> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getUserTopology(args.id,resultHandler);
      }
    }

    public static class getTopologyHistory<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getTopologyHistory_args, TopologyHistoryInfo> {
      public getTopologyHistory() {
        super("getTopologyHistory");
      }

      @Override
      public getTopologyHistory_args getEmptyArgsInstance() {
        return new getTopologyHistory_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<TopologyHistoryInfo> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<TopologyHistoryInfo>() { 
          @Override
          public void onComplete(TopologyHistoryInfo o) {
            getTopologyHistory_result result = new getTopologyHistory_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getTopologyHistory_result result = new getTopologyHistory_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getTopologyHistory_args args, org.apache.storm.thrift.async.AsyncMethodCallback<TopologyHistoryInfo> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getTopologyHistory(args.user,resultHandler);
      }
    }

    public static class getOwnerResourceSummaries<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getOwnerResourceSummaries_args, java.util.List<OwnerResourceSummary>> {
      public getOwnerResourceSummaries() {
        super("getOwnerResourceSummaries");
      }

      @Override
      public getOwnerResourceSummaries_args getEmptyArgsInstance() {
        return new getOwnerResourceSummaries_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<java.util.List<OwnerResourceSummary>> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<java.util.List<OwnerResourceSummary>>() { 
          @Override
          public void onComplete(java.util.List<OwnerResourceSummary> o) {
            getOwnerResourceSummaries_result result = new getOwnerResourceSummaries_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getOwnerResourceSummaries_result result = new getOwnerResourceSummaries_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getOwnerResourceSummaries_args args, org.apache.storm.thrift.async.AsyncMethodCallback<java.util.List<OwnerResourceSummary>> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getOwnerResourceSummaries(args.owner,resultHandler);
      }
    }

    public static class getSupervisorAssignments<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, getSupervisorAssignments_args, SupervisorAssignments> {
      public getSupervisorAssignments() {
        super("getSupervisorAssignments");
      }

      @Override
      public getSupervisorAssignments_args getEmptyArgsInstance() {
        return new getSupervisorAssignments_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<SupervisorAssignments> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<SupervisorAssignments>() { 
          @Override
          public void onComplete(SupervisorAssignments o) {
            getSupervisorAssignments_result result = new getSupervisorAssignments_result();
            result.success = o;
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            getSupervisorAssignments_result result = new getSupervisorAssignments_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, getSupervisorAssignments_args args, org.apache.storm.thrift.async.AsyncMethodCallback<SupervisorAssignments> resultHandler) throws org.apache.storm.thrift.TException {
        iface.getSupervisorAssignments(args.node,resultHandler);
      }
    }

    public static class sendSupervisorWorkerHeartbeats<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, sendSupervisorWorkerHeartbeats_args, Void> {
      public sendSupervisorWorkerHeartbeats() {
        super("sendSupervisorWorkerHeartbeats");
      }

      @Override
      public sendSupervisorWorkerHeartbeats_args getEmptyArgsInstance() {
        return new sendSupervisorWorkerHeartbeats_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            sendSupervisorWorkerHeartbeats_result result = new sendSupervisorWorkerHeartbeats_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            sendSupervisorWorkerHeartbeats_result result = new sendSupervisorWorkerHeartbeats_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, sendSupervisorWorkerHeartbeats_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.sendSupervisorWorkerHeartbeats(args.heartbeats,resultHandler);
      }
    }

    public static class sendSupervisorWorkerHeartbeat<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, sendSupervisorWorkerHeartbeat_args, Void> {
      public sendSupervisorWorkerHeartbeat() {
        super("sendSupervisorWorkerHeartbeat");
      }

      @Override
      public sendSupervisorWorkerHeartbeat_args getEmptyArgsInstance() {
        return new sendSupervisorWorkerHeartbeat_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            sendSupervisorWorkerHeartbeat_result result = new sendSupervisorWorkerHeartbeat_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            sendSupervisorWorkerHeartbeat_result result = new sendSupervisorWorkerHeartbeat_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof NotAliveException) {
              result.e = (NotAliveException) e;
              result.set_e_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, sendSupervisorWorkerHeartbeat_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.sendSupervisorWorkerHeartbeat(args.heatbeat,resultHandler);
      }
    }

    public static class processWorkerMetrics<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, processWorkerMetrics_args, Void> {
      public processWorkerMetrics() {
        super("processWorkerMetrics");
      }

      @Override
      public processWorkerMetrics_args getEmptyArgsInstance() {
        return new processWorkerMetrics_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<Void>() { 
          @Override
          public void onComplete(Void o) {
            processWorkerMetrics_result result = new processWorkerMetrics_result();
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            processWorkerMetrics_result result = new processWorkerMetrics_result();
            if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, processWorkerMetrics_args args, org.apache.storm.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.storm.thrift.TException {
        iface.processWorkerMetrics(args.metrics,resultHandler);
      }
    }

    public static class isRemoteBlobExists<I extends AsyncIface> extends org.apache.storm.thrift.AsyncProcessFunction<I, isRemoteBlobExists_args, java.lang.Boolean> {
      public isRemoteBlobExists() {
        super("isRemoteBlobExists");
      }

      @Override
      public isRemoteBlobExists_args getEmptyArgsInstance() {
        return new isRemoteBlobExists_args();
      }

      @Override
      public org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.storm.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
        final org.apache.storm.thrift.AsyncProcessFunction fcall = this;
        return new org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
          @Override
          public void onComplete(java.lang.Boolean o) {
            isRemoteBlobExists_result result = new isRemoteBlobExists_result();
            result.success = o;
            result.set_success_isSet(true);
            try {
              fcall.sendResponse(fb, result, org.apache.storm.thrift.protocol.TMessageType.REPLY,seqid);
            } catch (org.apache.storm.thrift.transport.TTransportException e) {
              _LOGGER.error("TTransportException writing to internal frame buffer", e);
              fb.close();
            } catch (java.lang.Exception e) {
              _LOGGER.error("Exception writing to internal frame buffer", e);
              onError(e);
            }
          }
          @Override
          public void onError(java.lang.Exception e) {
            byte msgType = org.apache.storm.thrift.protocol.TMessageType.REPLY;
            org.apache.storm.thrift.TSerializable msg;
            isRemoteBlobExists_result result = new isRemoteBlobExists_result();
            if (e instanceof AuthorizationException) {
              result.aze = (AuthorizationException) e;
              result.set_aze_isSet(true);
              msg = result;
            } else if (e instanceof org.apache.storm.thrift.transport.TTransportException) {
              _LOGGER.error("TTransportException inside handler", e);
              fb.close();
              return;
            } else if (e instanceof org.apache.storm.thrift.TApplicationException) {
              _LOGGER.error("TApplicationException inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = (org.apache.storm.thrift.TApplicationException)e;
            } else {
              _LOGGER.error("Exception inside handler", e);
              msgType = org.apache.storm.thrift.protocol.TMessageType.EXCEPTION;
              msg = new org.apache.storm.thrift.TApplicationException(org.apache.storm.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
            }
            try {
              fcall.sendResponse(fb,msg,msgType,seqid);
            } catch (java.lang.Exception ex) {
              _LOGGER.error("Exception writing to internal frame buffer", ex);
              fb.close();
            }
          }
        };
      }

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

      @Override
      public void start(I iface, isRemoteBlobExists_args args, org.apache.storm.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.storm.thrift.TException {
        iface.isRemoteBlobExists(args.blobKey,resultHandler);
      }
    }

  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class submitTopology_args implements org.apache.storm.thrift.TBase<submitTopology_args, submitTopology_args._Fields>, java.io.Serializable, Cloneable, Comparable<submitTopology_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("submitTopology_args");

    private static final org.apache.storm.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("name", org.apache.storm.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.storm.thrift.protocol.TField UPLOADED_JAR_LOCATION_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("uploadedJarLocation", org.apache.storm.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.storm.thrift.protocol.TField JSON_CONF_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("jsonConf", org.apache.storm.thrift.protocol.TType.STRING, (short)3);
    private static final org.apache.storm.thrift.protocol.TField TOPOLOGY_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("topology", org.apache.storm.thrift.protocol.TType.STRUCT, (short)4);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new submitTopology_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new submitTopology_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String name; // required
    private @org.apache.storm.thrift.annotation.Nullable java.lang.String uploadedJarLocation; // required
    private @org.apache.storm.thrift.annotation.Nullable java.lang.String jsonConf; // required
    private @org.apache.storm.thrift.annotation.Nullable 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.storm.thrift.TFieldIdEnum {
      NAME((short)1, "name"),
      UPLOADED_JAR_LOCATION((short)2, "uploadedJarLocation"),
      JSON_CONF((short)3, "jsonConf"),
      TOPOLOGY((short)4, "topology");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NAME, new org.apache.storm.thrift.meta_data.FieldMetaData("name", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.UPLOADED_JAR_LOCATION, new org.apache.storm.thrift.meta_data.FieldMetaData("uploadedJarLocation", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.JSON_CONF, new org.apache.storm.thrift.meta_data.FieldMetaData("jsonConf", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.TOPOLOGY, new org.apache.storm.thrift.meta_data.FieldMetaData("topology", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, StormTopology.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(submitTopology_args.class, metaDataMap);
    }

    public submitTopology_args() {
    }

    public submitTopology_args(
      java.lang.String name,
      java.lang.String uploadedJarLocation,
      java.lang.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);
      }
    }

    @Override
    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;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_name() {
      return this.name;
    }

    public void set_name(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_uploadedJarLocation() {
      return this.uploadedJarLocation;
    }

    public void set_uploadedJarLocation(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_jsonConf() {
      return this.jsonConf;
    }

    public void set_jsonConf(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public StormTopology get_topology() {
      return this.topology;
    }

    public void set_topology(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case NAME:
        if (value == null) {
          unset_name();
        } else {
          set_name((java.lang.String)value);
        }
        break;

      case UPLOADED_JAR_LOCATION:
        if (value == null) {
          unset_uploadedJarLocation();
        } else {
          set_uploadedJarLocation((java.lang.String)value);
        }
        break;

      case JSON_CONF:
        if (value == null) {
          unset_jsonConf();
        } else {
          set_jsonConf((java.lang.String)value);
        }
        break;

      case TOPOLOGY:
        if (value == null) {
          unset_topology();
        } else {
          set_topology((StormTopology)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.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 java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.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 java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof submitTopology_args)
        return this.equals((submitTopology_args)that);
      return false;
    }

    public boolean equals(submitTopology_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_name()) ? 131071 : 524287);
      if (is_set_name())
        hashCode = hashCode * 8191 + name.hashCode();

      hashCode = hashCode * 8191 + ((is_set_uploadedJarLocation()) ? 131071 : 524287);
      if (is_set_uploadedJarLocation())
        hashCode = hashCode * 8191 + uploadedJarLocation.hashCode();

      hashCode = hashCode * 8191 + ((is_set_jsonConf()) ? 131071 : 524287);
      if (is_set_jsonConf())
        hashCode = hashCode * 8191 + jsonConf.hashCode();

      hashCode = hashCode * 8191 + ((is_set_topology()) ? 131071 : 524287);
      if (is_set_topology())
        hashCode = hashCode * 8191 + topology.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_name(), other.is_set_name());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_name()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.name, other.name);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_uploadedJarLocation(), other.is_set_uploadedJarLocation());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_uploadedJarLocation()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.uploadedJarLocation, other.uploadedJarLocation);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_jsonConf(), other.is_set_jsonConf());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_jsonConf()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.jsonConf, other.jsonConf);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_topology(), other.is_set_topology());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_topology()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.topology, other.topology);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class submitTopology_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public submitTopology_argsStandardScheme getScheme() {
        return new submitTopology_argsStandardScheme();
      }
    }

    private static class submitTopology_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<submitTopology_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, submitTopology_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NAME
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.name = iprot.readString();
                struct.set_name_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // UPLOADED_JAR_LOCATION
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.uploadedJarLocation = iprot.readString();
                struct.set_uploadedJarLocation_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // JSON_CONF
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.jsonConf = iprot.readString();
                struct.set_jsonConf_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 4: // TOPOLOGY
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.topology = new StormTopology();
                struct.topology.read(iprot);
                struct.set_topology_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, submitTopology_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public submitTopology_argsTupleScheme getScheme() {
        return new submitTopology_argsTupleScheme();
      }
    }

    private static class submitTopology_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<submitTopology_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, submitTopology_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, submitTopology_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.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);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class submitTopology_result implements org.apache.storm.thrift.TBase<submitTopology_result, submitTopology_result._Fields>, java.io.Serializable, Cloneable, Comparable<submitTopology_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("submitTopology_result");

    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField ITE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("ite", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)3);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new submitTopology_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new submitTopology_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable AlreadyAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable InvalidTopologyException ite; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      E((short)1, "e"),
      ITE((short)2, "ite"),
      AZE((short)3, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // E
            return E;
          case 2: // ITE
            return ITE;
          case 3: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AlreadyAliveException.class)));
      tmpMap.put(_Fields.ITE, new org.apache.storm.thrift.meta_data.FieldMetaData("ite", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, InvalidTopologyException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(submitTopology_result.class, metaDataMap);
    }

    public submitTopology_result() {
    }

    public submitTopology_result(
      AlreadyAliveException e,
      InvalidTopologyException ite,
      AuthorizationException aze)
    {
      this();
      this.e = e;
      this.ite = ite;
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public submitTopology_result(submitTopology_result other) {
      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_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.e = null;
      this.ite = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AlreadyAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public InvalidTopologyException get_ite() {
      return this.ite;
    }

    public void set_ite(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      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 AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case E:
        return get_e();

      case ITE:
        return get_ite();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case E:
        return is_set_e();
      case ITE:
        return is_set_ite();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof submitTopology_result)
        return this.equals((submitTopology_result)that);
      return false;
    }

    public boolean equals(submitTopology_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_ite()) ? 131071 : 524287);
      if (is_set_ite())
        hashCode = hashCode * 8191 + ite.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_ite(), other.is_set_ite());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_ite()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.ite, other.ite);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("submitTopology_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class submitTopology_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public submitTopology_resultStandardScheme getScheme() {
        return new submitTopology_resultStandardScheme();
      }
    }

    private static class submitTopology_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<submitTopology_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, submitTopology_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new AlreadyAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // ITE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.ite = new InvalidTopologyException();
                struct.ite.read(iprot);
                struct.set_ite_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, submitTopology_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class submitTopology_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public submitTopology_resultTupleScheme getScheme() {
        return new submitTopology_resultTupleScheme();
      }
    }

    private static class submitTopology_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<submitTopology_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, submitTopology_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_e()) {
          optionals.set(0);
        }
        if (struct.is_set_ite()) {
          optionals.set(1);
        }
        if (struct.is_set_aze()) {
          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_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, submitTopology_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.e = new AlreadyAliveException();
          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.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class submitTopologyWithOpts_args implements org.apache.storm.thrift.TBase<submitTopologyWithOpts_args, submitTopologyWithOpts_args._Fields>, java.io.Serializable, Cloneable, Comparable<submitTopologyWithOpts_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("submitTopologyWithOpts_args");

    private static final org.apache.storm.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("name", org.apache.storm.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.storm.thrift.protocol.TField UPLOADED_JAR_LOCATION_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("uploadedJarLocation", org.apache.storm.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.storm.thrift.protocol.TField JSON_CONF_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("jsonConf", org.apache.storm.thrift.protocol.TType.STRING, (short)3);
    private static final org.apache.storm.thrift.protocol.TField TOPOLOGY_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("topology", org.apache.storm.thrift.protocol.TType.STRUCT, (short)4);
    private static final org.apache.storm.thrift.protocol.TField OPTIONS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("options", org.apache.storm.thrift.protocol.TType.STRUCT, (short)5);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new submitTopologyWithOpts_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new submitTopologyWithOpts_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String name; // required
    private @org.apache.storm.thrift.annotation.Nullable java.lang.String uploadedJarLocation; // required
    private @org.apache.storm.thrift.annotation.Nullable java.lang.String jsonConf; // required
    private @org.apache.storm.thrift.annotation.Nullable StormTopology topology; // required
    private @org.apache.storm.thrift.annotation.Nullable 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.storm.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 java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NAME, new org.apache.storm.thrift.meta_data.FieldMetaData("name", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.UPLOADED_JAR_LOCATION, new org.apache.storm.thrift.meta_data.FieldMetaData("uploadedJarLocation", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.JSON_CONF, new org.apache.storm.thrift.meta_data.FieldMetaData("jsonConf", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.TOPOLOGY, new org.apache.storm.thrift.meta_data.FieldMetaData("topology", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, StormTopology.class)));
      tmpMap.put(_Fields.OPTIONS, new org.apache.storm.thrift.meta_data.FieldMetaData("options", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, SubmitOptions.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(submitTopologyWithOpts_args.class, metaDataMap);
    }

    public submitTopologyWithOpts_args() {
    }

    public submitTopologyWithOpts_args(
      java.lang.String name,
      java.lang.String uploadedJarLocation,
      java.lang.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);
      }
    }

    @Override
    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;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_name() {
      return this.name;
    }

    public void set_name(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_uploadedJarLocation() {
      return this.uploadedJarLocation;
    }

    public void set_uploadedJarLocation(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_jsonConf() {
      return this.jsonConf;
    }

    public void set_jsonConf(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public StormTopology get_topology() {
      return this.topology;
    }

    public void set_topology(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public SubmitOptions get_options() {
      return this.options;
    }

    public void set_options(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case NAME:
        if (value == null) {
          unset_name();
        } else {
          set_name((java.lang.String)value);
        }
        break;

      case UPLOADED_JAR_LOCATION:
        if (value == null) {
          unset_uploadedJarLocation();
        } else {
          set_uploadedJarLocation((java.lang.String)value);
        }
        break;

      case JSON_CONF:
        if (value == null) {
          unset_jsonConf();
        } else {
          set_jsonConf((java.lang.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;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.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 java.lang.IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    @Override
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new java.lang.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 java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof submitTopologyWithOpts_args)
        return this.equals((submitTopologyWithOpts_args)that);
      return false;
    }

    public boolean equals(submitTopologyWithOpts_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_name()) ? 131071 : 524287);
      if (is_set_name())
        hashCode = hashCode * 8191 + name.hashCode();

      hashCode = hashCode * 8191 + ((is_set_uploadedJarLocation()) ? 131071 : 524287);
      if (is_set_uploadedJarLocation())
        hashCode = hashCode * 8191 + uploadedJarLocation.hashCode();

      hashCode = hashCode * 8191 + ((is_set_jsonConf()) ? 131071 : 524287);
      if (is_set_jsonConf())
        hashCode = hashCode * 8191 + jsonConf.hashCode();

      hashCode = hashCode * 8191 + ((is_set_topology()) ? 131071 : 524287);
      if (is_set_topology())
        hashCode = hashCode * 8191 + topology.hashCode();

      hashCode = hashCode * 8191 + ((is_set_options()) ? 131071 : 524287);
      if (is_set_options())
        hashCode = hashCode * 8191 + options.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_name(), other.is_set_name());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_name()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.name, other.name);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_uploadedJarLocation(), other.is_set_uploadedJarLocation());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_uploadedJarLocation()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.uploadedJarLocation, other.uploadedJarLocation);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_jsonConf(), other.is_set_jsonConf());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_jsonConf()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.jsonConf, other.jsonConf);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_topology(), other.is_set_topology());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_topology()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.topology, other.topology);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_options(), other.is_set_options());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_options()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.options, other.options);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class submitTopologyWithOpts_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public submitTopologyWithOpts_argsStandardScheme getScheme() {
        return new submitTopologyWithOpts_argsStandardScheme();
      }
    }

    private static class submitTopologyWithOpts_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<submitTopologyWithOpts_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, submitTopologyWithOpts_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NAME
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.name = iprot.readString();
                struct.set_name_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // UPLOADED_JAR_LOCATION
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.uploadedJarLocation = iprot.readString();
                struct.set_uploadedJarLocation_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // JSON_CONF
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.jsonConf = iprot.readString();
                struct.set_jsonConf_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 4: // TOPOLOGY
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.topology = new StormTopology();
                struct.topology.read(iprot);
                struct.set_topology_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 5: // OPTIONS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.options = new SubmitOptions();
                struct.options.read(iprot);
                struct.set_options_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, submitTopologyWithOpts_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public submitTopologyWithOpts_argsTupleScheme getScheme() {
        return new submitTopologyWithOpts_argsTupleScheme();
      }
    }

    private static class submitTopologyWithOpts_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<submitTopologyWithOpts_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, submitTopologyWithOpts_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, submitTopologyWithOpts_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.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);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class submitTopologyWithOpts_result implements org.apache.storm.thrift.TBase<submitTopologyWithOpts_result, submitTopologyWithOpts_result._Fields>, java.io.Serializable, Cloneable, Comparable<submitTopologyWithOpts_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("submitTopologyWithOpts_result");

    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField ITE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("ite", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)3);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new submitTopologyWithOpts_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new submitTopologyWithOpts_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable AlreadyAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable InvalidTopologyException ite; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      E((short)1, "e"),
      ITE((short)2, "ite"),
      AZE((short)3, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // E
            return E;
          case 2: // ITE
            return ITE;
          case 3: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AlreadyAliveException.class)));
      tmpMap.put(_Fields.ITE, new org.apache.storm.thrift.meta_data.FieldMetaData("ite", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, InvalidTopologyException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(submitTopologyWithOpts_result.class, metaDataMap);
    }

    public submitTopologyWithOpts_result() {
    }

    public submitTopologyWithOpts_result(
      AlreadyAliveException e,
      InvalidTopologyException ite,
      AuthorizationException aze)
    {
      this();
      this.e = e;
      this.ite = ite;
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public submitTopologyWithOpts_result(submitTopologyWithOpts_result other) {
      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_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.e = null;
      this.ite = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AlreadyAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public InvalidTopologyException get_ite() {
      return this.ite;
    }

    public void set_ite(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      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 AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case E:
        return get_e();

      case ITE:
        return get_ite();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case E:
        return is_set_e();
      case ITE:
        return is_set_ite();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof submitTopologyWithOpts_result)
        return this.equals((submitTopologyWithOpts_result)that);
      return false;
    }

    public boolean equals(submitTopologyWithOpts_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_ite()) ? 131071 : 524287);
      if (is_set_ite())
        hashCode = hashCode * 8191 + ite.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_ite(), other.is_set_ite());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_ite()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.ite, other.ite);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("submitTopologyWithOpts_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class submitTopologyWithOpts_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public submitTopologyWithOpts_resultStandardScheme getScheme() {
        return new submitTopologyWithOpts_resultStandardScheme();
      }
    }

    private static class submitTopologyWithOpts_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<submitTopologyWithOpts_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, submitTopologyWithOpts_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new AlreadyAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // ITE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.ite = new InvalidTopologyException();
                struct.ite.read(iprot);
                struct.set_ite_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, submitTopologyWithOpts_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class submitTopologyWithOpts_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public submitTopologyWithOpts_resultTupleScheme getScheme() {
        return new submitTopologyWithOpts_resultTupleScheme();
      }
    }

    private static class submitTopologyWithOpts_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<submitTopologyWithOpts_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, submitTopologyWithOpts_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_e()) {
          optionals.set(0);
        }
        if (struct.is_set_ite()) {
          optionals.set(1);
        }
        if (struct.is_set_aze()) {
          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_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, submitTopologyWithOpts_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.e = new AlreadyAliveException();
          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.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class killTopology_args implements org.apache.storm.thrift.TBase<killTopology_args, killTopology_args._Fields>, java.io.Serializable, Cloneable, Comparable<killTopology_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("killTopology_args");

    private static final org.apache.storm.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("name", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new killTopology_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new killTopology_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      NAME((short)1, "name");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NAME, new org.apache.storm.thrift.meta_data.FieldMetaData("name", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(killTopology_args.class, metaDataMap);
    }

    public killTopology_args() {
    }

    public killTopology_args(
      java.lang.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;
      }
    }

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

    @Override
    public void clear() {
      this.name = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_name() {
      return this.name;
    }

    public void set_name(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case NAME:
        if (value == null) {
          unset_name();
        } else {
          set_name((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case NAME:
        return get_name();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case NAME:
        return is_set_name();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof killTopology_args)
        return this.equals((killTopology_args)that);
      return false;
    }

    public boolean equals(killTopology_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_name()) ? 131071 : 524287);
      if (is_set_name())
        hashCode = hashCode * 8191 + name.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_name(), other.is_set_name());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_name()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.name, other.name);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class killTopology_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public killTopology_argsStandardScheme getScheme() {
        return new killTopology_argsStandardScheme();
      }
    }

    private static class killTopology_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<killTopology_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, killTopology_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NAME
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.name = iprot.readString();
                struct.set_name_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, killTopology_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public killTopology_argsTupleScheme getScheme() {
        return new killTopology_argsTupleScheme();
      }
    }

    private static class killTopology_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<killTopology_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, killTopology_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, killTopology_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.name = iprot.readString();
          struct.set_name_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class killTopology_result implements org.apache.storm.thrift.TBase<killTopology_result, killTopology_result._Fields>, java.io.Serializable, Cloneable, Comparable<killTopology_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("killTopology_result");

    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new killTopology_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new killTopology_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable NotAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      E((short)1, "e"),
      AZE((short)2, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // E
            return E;
          case 2: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NotAliveException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(killTopology_result.class, metaDataMap);
    }

    public killTopology_result() {
    }

    public killTopology_result(
      NotAliveException e,
      AuthorizationException aze)
    {
      this();
      this.e = e;
      this.aze = aze;
    }

    /**
     * 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);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.e = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NotAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case E:
        if (value == null) {
          unset_e();
        } else {
          set_e((NotAliveException)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case E:
        return get_e();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case E:
        return is_set_e();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof killTopology_result)
        return this.equals((killTopology_result)that);
      return false;
    }

    public boolean equals(killTopology_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("killTopology_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class killTopology_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public killTopology_resultStandardScheme getScheme() {
        return new killTopology_resultStandardScheme();
      }
    }

    private static class killTopology_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<killTopology_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, killTopology_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new NotAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, killTopology_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class killTopology_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public killTopology_resultTupleScheme getScheme() {
        return new killTopology_resultTupleScheme();
      }
    }

    private static class killTopology_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<killTopology_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, killTopology_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_e()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_e()) {
          struct.e.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, killTopology_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.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.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class killTopologyWithOpts_args implements org.apache.storm.thrift.TBase<killTopologyWithOpts_args, killTopologyWithOpts_args._Fields>, java.io.Serializable, Cloneable, Comparable<killTopologyWithOpts_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("killTopologyWithOpts_args");

    private static final org.apache.storm.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("name", org.apache.storm.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.storm.thrift.protocol.TField OPTIONS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("options", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new killTopologyWithOpts_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new killTopologyWithOpts_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String name; // required
    private @org.apache.storm.thrift.annotation.Nullable 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.storm.thrift.TFieldIdEnum {
      NAME((short)1, "name"),
      OPTIONS((short)2, "options");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NAME, new org.apache.storm.thrift.meta_data.FieldMetaData("name", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.OPTIONS, new org.apache.storm.thrift.meta_data.FieldMetaData("options", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, KillOptions.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(killTopologyWithOpts_args.class, metaDataMap);
    }

    public killTopologyWithOpts_args() {
    }

    public killTopologyWithOpts_args(
      java.lang.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);
      }
    }

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

    @Override
    public void clear() {
      this.name = null;
      this.options = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_name() {
      return this.name;
    }

    public void set_name(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public KillOptions get_options() {
      return this.options;
    }

    public void set_options(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case NAME:
        if (value == null) {
          unset_name();
        } else {
          set_name((java.lang.String)value);
        }
        break;

      case OPTIONS:
        if (value == null) {
          unset_options();
        } else {
          set_options((KillOptions)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case NAME:
        return get_name();

      case OPTIONS:
        return get_options();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case NAME:
        return is_set_name();
      case OPTIONS:
        return is_set_options();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof killTopologyWithOpts_args)
        return this.equals((killTopologyWithOpts_args)that);
      return false;
    }

    public boolean equals(killTopologyWithOpts_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_name()) ? 131071 : 524287);
      if (is_set_name())
        hashCode = hashCode * 8191 + name.hashCode();

      hashCode = hashCode * 8191 + ((is_set_options()) ? 131071 : 524287);
      if (is_set_options())
        hashCode = hashCode * 8191 + options.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_name(), other.is_set_name());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_name()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.name, other.name);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_options(), other.is_set_options());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_options()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.options, other.options);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class killTopologyWithOpts_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public killTopologyWithOpts_argsStandardScheme getScheme() {
        return new killTopologyWithOpts_argsStandardScheme();
      }
    }

    private static class killTopologyWithOpts_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<killTopologyWithOpts_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, killTopologyWithOpts_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NAME
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.name = iprot.readString();
                struct.set_name_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // OPTIONS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.options = new KillOptions();
                struct.options.read(iprot);
                struct.set_options_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, killTopologyWithOpts_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public killTopologyWithOpts_argsTupleScheme getScheme() {
        return new killTopologyWithOpts_argsTupleScheme();
      }
    }

    private static class killTopologyWithOpts_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<killTopologyWithOpts_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, killTopologyWithOpts_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, killTopologyWithOpts_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.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);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class killTopologyWithOpts_result implements org.apache.storm.thrift.TBase<killTopologyWithOpts_result, killTopologyWithOpts_result._Fields>, java.io.Serializable, Cloneable, Comparable<killTopologyWithOpts_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("killTopologyWithOpts_result");

    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new killTopologyWithOpts_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new killTopologyWithOpts_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable NotAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      E((short)1, "e"),
      AZE((short)2, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // E
            return E;
          case 2: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NotAliveException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(killTopologyWithOpts_result.class, metaDataMap);
    }

    public killTopologyWithOpts_result() {
    }

    public killTopologyWithOpts_result(
      NotAliveException e,
      AuthorizationException aze)
    {
      this();
      this.e = e;
      this.aze = aze;
    }

    /**
     * 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);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.e = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NotAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case E:
        if (value == null) {
          unset_e();
        } else {
          set_e((NotAliveException)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case E:
        return get_e();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case E:
        return is_set_e();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof killTopologyWithOpts_result)
        return this.equals((killTopologyWithOpts_result)that);
      return false;
    }

    public boolean equals(killTopologyWithOpts_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("killTopologyWithOpts_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class killTopologyWithOpts_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public killTopologyWithOpts_resultStandardScheme getScheme() {
        return new killTopologyWithOpts_resultStandardScheme();
      }
    }

    private static class killTopologyWithOpts_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<killTopologyWithOpts_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, killTopologyWithOpts_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new NotAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, killTopologyWithOpts_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class killTopologyWithOpts_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public killTopologyWithOpts_resultTupleScheme getScheme() {
        return new killTopologyWithOpts_resultTupleScheme();
      }
    }

    private static class killTopologyWithOpts_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<killTopologyWithOpts_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, killTopologyWithOpts_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_e()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_e()) {
          struct.e.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, killTopologyWithOpts_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.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.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class activate_args implements org.apache.storm.thrift.TBase<activate_args, activate_args._Fields>, java.io.Serializable, Cloneable, Comparable<activate_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("activate_args");

    private static final org.apache.storm.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("name", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new activate_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new activate_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      NAME((short)1, "name");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NAME, new org.apache.storm.thrift.meta_data.FieldMetaData("name", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(activate_args.class, metaDataMap);
    }

    public activate_args() {
    }

    public activate_args(
      java.lang.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;
      }
    }

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

    @Override
    public void clear() {
      this.name = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_name() {
      return this.name;
    }

    public void set_name(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case NAME:
        if (value == null) {
          unset_name();
        } else {
          set_name((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case NAME:
        return get_name();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case NAME:
        return is_set_name();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof activate_args)
        return this.equals((activate_args)that);
      return false;
    }

    public boolean equals(activate_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_name()) ? 131071 : 524287);
      if (is_set_name())
        hashCode = hashCode * 8191 + name.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_name(), other.is_set_name());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_name()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.name, other.name);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class activate_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public activate_argsStandardScheme getScheme() {
        return new activate_argsStandardScheme();
      }
    }

    private static class activate_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<activate_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, activate_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NAME
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.name = iprot.readString();
                struct.set_name_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, activate_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public activate_argsTupleScheme getScheme() {
        return new activate_argsTupleScheme();
      }
    }

    private static class activate_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<activate_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, activate_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, activate_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.name = iprot.readString();
          struct.set_name_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class activate_result implements org.apache.storm.thrift.TBase<activate_result, activate_result._Fields>, java.io.Serializable, Cloneable, Comparable<activate_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("activate_result");

    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new activate_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new activate_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable NotAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      E((short)1, "e"),
      AZE((short)2, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // E
            return E;
          case 2: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NotAliveException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(activate_result.class, metaDataMap);
    }

    public activate_result() {
    }

    public activate_result(
      NotAliveException e,
      AuthorizationException aze)
    {
      this();
      this.e = e;
      this.aze = aze;
    }

    /**
     * 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);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.e = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NotAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case E:
        if (value == null) {
          unset_e();
        } else {
          set_e((NotAliveException)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case E:
        return get_e();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case E:
        return is_set_e();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof activate_result)
        return this.equals((activate_result)that);
      return false;
    }

    public boolean equals(activate_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("activate_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class activate_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public activate_resultStandardScheme getScheme() {
        return new activate_resultStandardScheme();
      }
    }

    private static class activate_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<activate_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, activate_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new NotAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, activate_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class activate_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public activate_resultTupleScheme getScheme() {
        return new activate_resultTupleScheme();
      }
    }

    private static class activate_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<activate_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, activate_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_e()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_e()) {
          struct.e.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, activate_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.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.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class deactivate_args implements org.apache.storm.thrift.TBase<deactivate_args, deactivate_args._Fields>, java.io.Serializable, Cloneable, Comparable<deactivate_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("deactivate_args");

    private static final org.apache.storm.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("name", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deactivate_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deactivate_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      NAME((short)1, "name");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NAME, new org.apache.storm.thrift.meta_data.FieldMetaData("name", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deactivate_args.class, metaDataMap);
    }

    public deactivate_args() {
    }

    public deactivate_args(
      java.lang.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;
      }
    }

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

    @Override
    public void clear() {
      this.name = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_name() {
      return this.name;
    }

    public void set_name(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case NAME:
        if (value == null) {
          unset_name();
        } else {
          set_name((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case NAME:
        return get_name();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case NAME:
        return is_set_name();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof deactivate_args)
        return this.equals((deactivate_args)that);
      return false;
    }

    public boolean equals(deactivate_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_name()) ? 131071 : 524287);
      if (is_set_name())
        hashCode = hashCode * 8191 + name.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_name(), other.is_set_name());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_name()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.name, other.name);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class deactivate_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public deactivate_argsStandardScheme getScheme() {
        return new deactivate_argsStandardScheme();
      }
    }

    private static class deactivate_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<deactivate_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, deactivate_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NAME
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.name = iprot.readString();
                struct.set_name_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, deactivate_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public deactivate_argsTupleScheme getScheme() {
        return new deactivate_argsTupleScheme();
      }
    }

    private static class deactivate_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<deactivate_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, deactivate_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, deactivate_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.name = iprot.readString();
          struct.set_name_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class deactivate_result implements org.apache.storm.thrift.TBase<deactivate_result, deactivate_result._Fields>, java.io.Serializable, Cloneable, Comparable<deactivate_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("deactivate_result");

    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deactivate_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deactivate_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable NotAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      E((short)1, "e"),
      AZE((short)2, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // E
            return E;
          case 2: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NotAliveException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deactivate_result.class, metaDataMap);
    }

    public deactivate_result() {
    }

    public deactivate_result(
      NotAliveException e,
      AuthorizationException aze)
    {
      this();
      this.e = e;
      this.aze = aze;
    }

    /**
     * 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);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.e = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NotAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case E:
        if (value == null) {
          unset_e();
        } else {
          set_e((NotAliveException)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case E:
        return get_e();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case E:
        return is_set_e();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof deactivate_result)
        return this.equals((deactivate_result)that);
      return false;
    }

    public boolean equals(deactivate_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("deactivate_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class deactivate_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public deactivate_resultStandardScheme getScheme() {
        return new deactivate_resultStandardScheme();
      }
    }

    private static class deactivate_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<deactivate_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, deactivate_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new NotAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, deactivate_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class deactivate_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public deactivate_resultTupleScheme getScheme() {
        return new deactivate_resultTupleScheme();
      }
    }

    private static class deactivate_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<deactivate_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, deactivate_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_e()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_e()) {
          struct.e.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, deactivate_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.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.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class rebalance_args implements org.apache.storm.thrift.TBase<rebalance_args, rebalance_args._Fields>, java.io.Serializable, Cloneable, Comparable<rebalance_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("rebalance_args");

    private static final org.apache.storm.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("name", org.apache.storm.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.storm.thrift.protocol.TField OPTIONS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("options", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new rebalance_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new rebalance_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String name; // required
    private @org.apache.storm.thrift.annotation.Nullable 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.storm.thrift.TFieldIdEnum {
      NAME((short)1, "name"),
      OPTIONS((short)2, "options");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NAME, new org.apache.storm.thrift.meta_data.FieldMetaData("name", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.OPTIONS, new org.apache.storm.thrift.meta_data.FieldMetaData("options", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, RebalanceOptions.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(rebalance_args.class, metaDataMap);
    }

    public rebalance_args() {
    }

    public rebalance_args(
      java.lang.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);
      }
    }

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

    @Override
    public void clear() {
      this.name = null;
      this.options = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_name() {
      return this.name;
    }

    public void set_name(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public RebalanceOptions get_options() {
      return this.options;
    }

    public void set_options(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case NAME:
        if (value == null) {
          unset_name();
        } else {
          set_name((java.lang.String)value);
        }
        break;

      case OPTIONS:
        if (value == null) {
          unset_options();
        } else {
          set_options((RebalanceOptions)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case NAME:
        return get_name();

      case OPTIONS:
        return get_options();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case NAME:
        return is_set_name();
      case OPTIONS:
        return is_set_options();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof rebalance_args)
        return this.equals((rebalance_args)that);
      return false;
    }

    public boolean equals(rebalance_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_name()) ? 131071 : 524287);
      if (is_set_name())
        hashCode = hashCode * 8191 + name.hashCode();

      hashCode = hashCode * 8191 + ((is_set_options()) ? 131071 : 524287);
      if (is_set_options())
        hashCode = hashCode * 8191 + options.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_name(), other.is_set_name());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_name()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.name, other.name);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_options(), other.is_set_options());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_options()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.options, other.options);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class rebalance_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public rebalance_argsStandardScheme getScheme() {
        return new rebalance_argsStandardScheme();
      }
    }

    private static class rebalance_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<rebalance_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, rebalance_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NAME
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.name = iprot.readString();
                struct.set_name_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // OPTIONS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.options = new RebalanceOptions();
                struct.options.read(iprot);
                struct.set_options_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, rebalance_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public rebalance_argsTupleScheme getScheme() {
        return new rebalance_argsTupleScheme();
      }
    }

    private static class rebalance_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<rebalance_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, rebalance_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, rebalance_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.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);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class rebalance_result implements org.apache.storm.thrift.TBase<rebalance_result, rebalance_result._Fields>, java.io.Serializable, Cloneable, Comparable<rebalance_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("rebalance_result");

    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField ITE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("ite", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)3);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new rebalance_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new rebalance_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable NotAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable InvalidTopologyException ite; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      E((short)1, "e"),
      ITE((short)2, "ite"),
      AZE((short)3, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // E
            return E;
          case 2: // ITE
            return ITE;
          case 3: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NotAliveException.class)));
      tmpMap.put(_Fields.ITE, new org.apache.storm.thrift.meta_data.FieldMetaData("ite", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, InvalidTopologyException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(rebalance_result.class, metaDataMap);
    }

    public rebalance_result() {
    }

    public rebalance_result(
      NotAliveException e,
      InvalidTopologyException ite,
      AuthorizationException aze)
    {
      this();
      this.e = e;
      this.ite = ite;
      this.aze = aze;
    }

    /**
     * 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);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.e = null;
      this.ite = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NotAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public InvalidTopologyException get_ite() {
      return this.ite;
    }

    public void set_ite(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.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 AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case E:
        return get_e();

      case ITE:
        return get_ite();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case E:
        return is_set_e();
      case ITE:
        return is_set_ite();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof rebalance_result)
        return this.equals((rebalance_result)that);
      return false;
    }

    public boolean equals(rebalance_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_ite()) ? 131071 : 524287);
      if (is_set_ite())
        hashCode = hashCode * 8191 + ite.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_ite(), other.is_set_ite());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_ite()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.ite, other.ite);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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;
      if (!first) sb.append(", ");
      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class rebalance_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public rebalance_resultStandardScheme getScheme() {
        return new rebalance_resultStandardScheme();
      }
    }

    private static class rebalance_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<rebalance_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, rebalance_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new NotAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // ITE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.ite = new InvalidTopologyException();
                struct.ite.read(iprot);
                struct.set_ite_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, rebalance_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class rebalance_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public rebalance_resultTupleScheme getScheme() {
        return new rebalance_resultTupleScheme();
      }
    }

    private static class rebalance_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<rebalance_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, rebalance_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_e()) {
          optionals.set(0);
        }
        if (struct.is_set_ite()) {
          optionals.set(1);
        }
        if (struct.is_set_aze()) {
          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_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, rebalance_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.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.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class setLogConfig_args implements org.apache.storm.thrift.TBase<setLogConfig_args, setLogConfig_args._Fields>, java.io.Serializable, Cloneable, Comparable<setLogConfig_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("setLogConfig_args");

    private static final org.apache.storm.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("name", org.apache.storm.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.storm.thrift.protocol.TField CONFIG_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("config", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new setLogConfig_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new setLogConfig_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String name; // required
    private @org.apache.storm.thrift.annotation.Nullable LogConfig config; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      NAME((short)1, "name"),
      CONFIG((short)2, "config");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // NAME
            return NAME;
          case 2: // CONFIG
            return CONFIG;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NAME, new org.apache.storm.thrift.meta_data.FieldMetaData("name", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.CONFIG, new org.apache.storm.thrift.meta_data.FieldMetaData("config", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, LogConfig.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(setLogConfig_args.class, metaDataMap);
    }

    public setLogConfig_args() {
    }

    public setLogConfig_args(
      java.lang.String name,
      LogConfig config)
    {
      this();
      this.name = name;
      this.config = config;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public setLogConfig_args(setLogConfig_args other) {
      if (other.is_set_name()) {
        this.name = other.name;
      }
      if (other.is_set_config()) {
        this.config = new LogConfig(other.config);
      }
    }

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

    @Override
    public void clear() {
      this.name = null;
      this.config = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_name() {
      return this.name;
    }

    public void set_name(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public LogConfig get_config() {
      return this.config;
    }

    public void set_config(@org.apache.storm.thrift.annotation.Nullable LogConfig config) {
      this.config = config;
    }

    public void unset_config() {
      this.config = null;
    }

    /** Returns true if field config is set (has been assigned a value) and false otherwise */
    public boolean is_set_config() {
      return this.config != null;
    }

    public void set_config_isSet(boolean value) {
      if (!value) {
        this.config = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case NAME:
        if (value == null) {
          unset_name();
        } else {
          set_name((java.lang.String)value);
        }
        break;

      case CONFIG:
        if (value == null) {
          unset_config();
        } else {
          set_config((LogConfig)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case NAME:
        return get_name();

      case CONFIG:
        return get_config();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case NAME:
        return is_set_name();
      case CONFIG:
        return is_set_config();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof setLogConfig_args)
        return this.equals((setLogConfig_args)that);
      return false;
    }

    public boolean equals(setLogConfig_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_config = true && this.is_set_config();
      boolean that_present_config = true && that.is_set_config();
      if (this_present_config || that_present_config) {
        if (!(this_present_config && that_present_config))
          return false;
        if (!this.config.equals(that.config))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_name()) ? 131071 : 524287);
      if (is_set_name())
        hashCode = hashCode * 8191 + name.hashCode();

      hashCode = hashCode * 8191 + ((is_set_config()) ? 131071 : 524287);
      if (is_set_config())
        hashCode = hashCode * 8191 + config.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_name(), other.is_set_name());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_name()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.name, other.name);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_config(), other.is_set_config());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_config()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.config, other.config);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("setLogConfig_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("config:");
      if (this.config == null) {
        sb.append("null");
      } else {
        sb.append(this.config);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.thrift.TException {
      // check for required fields
      // check for sub-struct validity
      if (config != null) {
        config.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class setLogConfig_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public setLogConfig_argsStandardScheme getScheme() {
        return new setLogConfig_argsStandardScheme();
      }
    }

    private static class setLogConfig_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<setLogConfig_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, setLogConfig_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NAME
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.name = iprot.readString();
                struct.set_name_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // CONFIG
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.config = new LogConfig();
                struct.config.read(iprot);
                struct.set_config_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, setLogConfig_args struct) throws org.apache.storm.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.config != null) {
          oprot.writeFieldBegin(CONFIG_FIELD_DESC);
          struct.config.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class setLogConfig_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public setLogConfig_argsTupleScheme getScheme() {
        return new setLogConfig_argsTupleScheme();
      }
    }

    private static class setLogConfig_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<setLogConfig_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, setLogConfig_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_name()) {
          optionals.set(0);
        }
        if (struct.is_set_config()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_name()) {
          oprot.writeString(struct.name);
        }
        if (struct.is_set_config()) {
          struct.config.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, setLogConfig_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.name = iprot.readString();
          struct.set_name_isSet(true);
        }
        if (incoming.get(1)) {
          struct.config = new LogConfig();
          struct.config.read(iprot);
          struct.set_config_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class setLogConfig_result implements org.apache.storm.thrift.TBase<setLogConfig_result, setLogConfig_result._Fields>, java.io.Serializable, Cloneable, Comparable<setLogConfig_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("setLogConfig_result");


    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new setLogConfig_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new setLogConfig_resultTupleSchemeFactory();


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
;

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(setLogConfig_result.class, metaDataMap);
    }

    public setLogConfig_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public setLogConfig_result(setLogConfig_result other) {
    }

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

    @Override
    public void clear() {
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof setLogConfig_result)
        return this.equals((setLogConfig_result)that);
      return false;
    }

    public boolean equals(setLogConfig_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      return hashCode;
    }

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

      int lastComparison = 0;

      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("setLogConfig_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class setLogConfig_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public setLogConfig_resultStandardScheme getScheme() {
        return new setLogConfig_resultStandardScheme();
      }
    }

    private static class setLogConfig_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<setLogConfig_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, setLogConfig_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, setLogConfig_result struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class setLogConfig_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public setLogConfig_resultTupleScheme getScheme() {
        return new setLogConfig_resultTupleScheme();
      }
    }

    private static class setLogConfig_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<setLogConfig_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, setLogConfig_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, setLogConfig_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getLogConfig_args implements org.apache.storm.thrift.TBase<getLogConfig_args, getLogConfig_args._Fields>, java.io.Serializable, Cloneable, Comparable<getLogConfig_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getLogConfig_args");

    private static final org.apache.storm.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("name", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getLogConfig_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getLogConfig_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      NAME((short)1, "name");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NAME, new org.apache.storm.thrift.meta_data.FieldMetaData("name", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getLogConfig_args.class, metaDataMap);
    }

    public getLogConfig_args() {
    }

    public getLogConfig_args(
      java.lang.String name)
    {
      this();
      this.name = name;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getLogConfig_args(getLogConfig_args other) {
      if (other.is_set_name()) {
        this.name = other.name;
      }
    }

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

    @Override
    public void clear() {
      this.name = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_name() {
      return this.name;
    }

    public void set_name(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case NAME:
        if (value == null) {
          unset_name();
        } else {
          set_name((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case NAME:
        return get_name();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case NAME:
        return is_set_name();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getLogConfig_args)
        return this.equals((getLogConfig_args)that);
      return false;
    }

    public boolean equals(getLogConfig_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_name()) ? 131071 : 524287);
      if (is_set_name())
        hashCode = hashCode * 8191 + name.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_name(), other.is_set_name());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_name()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.name, other.name);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getLogConfig_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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getLogConfig_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getLogConfig_argsStandardScheme getScheme() {
        return new getLogConfig_argsStandardScheme();
      }
    }

    private static class getLogConfig_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getLogConfig_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getLogConfig_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NAME
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.name = iprot.readString();
                struct.set_name_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getLogConfig_args struct) throws org.apache.storm.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 getLogConfig_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getLogConfig_argsTupleScheme getScheme() {
        return new getLogConfig_argsTupleScheme();
      }
    }

    private static class getLogConfig_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getLogConfig_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getLogConfig_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, getLogConfig_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.name = iprot.readString();
          struct.set_name_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getLogConfig_result implements org.apache.storm.thrift.TBase<getLogConfig_result, getLogConfig_result._Fields>, java.io.Serializable, Cloneable, Comparable<getLogConfig_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getLogConfig_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRUCT, (short)0);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getLogConfig_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getLogConfig_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable LogConfig success; // required

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

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, LogConfig.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getLogConfig_result.class, metaDataMap);
    }

    public getLogConfig_result() {
    }

    public getLogConfig_result(
      LogConfig success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getLogConfig_result(getLogConfig_result other) {
      if (other.is_set_success()) {
        this.success = new LogConfig(other.success);
      }
    }

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

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

    @org.apache.storm.thrift.annotation.Nullable
    public LogConfig get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable LogConfig 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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((LogConfig)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getLogConfig_result)
        return this.equals((getLogConfig_result)that);
      return false;
    }

    public boolean equals(getLogConfig_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getLogConfig_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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getLogConfig_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getLogConfig_resultStandardScheme getScheme() {
        return new getLogConfig_resultStandardScheme();
      }
    }

    private static class getLogConfig_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getLogConfig_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getLogConfig_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.success = new LogConfig();
                struct.success.read(iprot);
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getLogConfig_result struct) throws org.apache.storm.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 getLogConfig_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getLogConfig_resultTupleScheme getScheme() {
        return new getLogConfig_resultTupleScheme();
      }
    }

    private static class getLogConfig_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getLogConfig_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getLogConfig_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, getLogConfig_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = new LogConfig();
          struct.success.read(iprot);
          struct.set_success_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class debug_args implements org.apache.storm.thrift.TBase<debug_args, debug_args._Fields>, java.io.Serializable, Cloneable, Comparable<debug_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("debug_args");

    private static final org.apache.storm.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("name", org.apache.storm.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.storm.thrift.protocol.TField COMPONENT_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("component", org.apache.storm.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.storm.thrift.protocol.TField ENABLE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("enable", org.apache.storm.thrift.protocol.TType.BOOL, (short)3);
    private static final org.apache.storm.thrift.protocol.TField SAMPLING_PERCENTAGE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("samplingPercentage", org.apache.storm.thrift.protocol.TType.DOUBLE, (short)4);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new debug_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new debug_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String name; // required
    private @org.apache.storm.thrift.annotation.Nullable java.lang.String component; // required
    private boolean enable; // required
    private double samplingPercentage; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      NAME((short)1, "name"),
      COMPONENT((short)2, "component"),
      ENABLE((short)3, "enable"),
      SAMPLING_PERCENTAGE((short)4, "samplingPercentage");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // NAME
            return NAME;
          case 2: // COMPONENT
            return COMPONENT;
          case 3: // ENABLE
            return ENABLE;
          case 4: // SAMPLING_PERCENTAGE
            return SAMPLING_PERCENTAGE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ENABLE_ISSET_ID = 0;
    private static final int __SAMPLINGPERCENTAGE_ISSET_ID = 1;
    private byte __isset_bitfield = 0;
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NAME, new org.apache.storm.thrift.meta_data.FieldMetaData("name", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.COMPONENT, new org.apache.storm.thrift.meta_data.FieldMetaData("component", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.ENABLE, new org.apache.storm.thrift.meta_data.FieldMetaData("enable", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.SAMPLING_PERCENTAGE, new org.apache.storm.thrift.meta_data.FieldMetaData("samplingPercentage", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.DOUBLE)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(debug_args.class, metaDataMap);
    }

    public debug_args() {
    }

    public debug_args(
      java.lang.String name,
      java.lang.String component,
      boolean enable,
      double samplingPercentage)
    {
      this();
      this.name = name;
      this.component = component;
      this.enable = enable;
      set_enable_isSet(true);
      this.samplingPercentage = samplingPercentage;
      set_samplingPercentage_isSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public debug_args(debug_args other) {
      __isset_bitfield = other.__isset_bitfield;
      if (other.is_set_name()) {
        this.name = other.name;
      }
      if (other.is_set_component()) {
        this.component = other.component;
      }
      this.enable = other.enable;
      this.samplingPercentage = other.samplingPercentage;
    }

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

    @Override
    public void clear() {
      this.name = null;
      this.component = null;
      set_enable_isSet(false);
      this.enable = false;
      set_samplingPercentage_isSet(false);
      this.samplingPercentage = 0.0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_name() {
      return this.name;
    }

    public void set_name(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_component() {
      return this.component;
    }

    public void set_component(@org.apache.storm.thrift.annotation.Nullable java.lang.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 boolean is_enable() {
      return this.enable;
    }

    public void set_enable(boolean enable) {
      this.enable = enable;
      set_enable_isSet(true);
    }

    public void unset_enable() {
      __isset_bitfield = org.apache.storm.thrift.EncodingUtils.clearBit(__isset_bitfield, __ENABLE_ISSET_ID);
    }

    /** Returns true if field enable is set (has been assigned a value) and false otherwise */
    public boolean is_set_enable() {
      return org.apache.storm.thrift.EncodingUtils.testBit(__isset_bitfield, __ENABLE_ISSET_ID);
    }

    public void set_enable_isSet(boolean value) {
      __isset_bitfield = org.apache.storm.thrift.EncodingUtils.setBit(__isset_bitfield, __ENABLE_ISSET_ID, value);
    }

    public double get_samplingPercentage() {
      return this.samplingPercentage;
    }

    public void set_samplingPercentage(double samplingPercentage) {
      this.samplingPercentage = samplingPercentage;
      set_samplingPercentage_isSet(true);
    }

    public void unset_samplingPercentage() {
      __isset_bitfield = org.apache.storm.thrift.EncodingUtils.clearBit(__isset_bitfield, __SAMPLINGPERCENTAGE_ISSET_ID);
    }

    /** Returns true if field samplingPercentage is set (has been assigned a value) and false otherwise */
    public boolean is_set_samplingPercentage() {
      return org.apache.storm.thrift.EncodingUtils.testBit(__isset_bitfield, __SAMPLINGPERCENTAGE_ISSET_ID);
    }

    public void set_samplingPercentage_isSet(boolean value) {
      __isset_bitfield = org.apache.storm.thrift.EncodingUtils.setBit(__isset_bitfield, __SAMPLINGPERCENTAGE_ISSET_ID, value);
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case NAME:
        if (value == null) {
          unset_name();
        } else {
          set_name((java.lang.String)value);
        }
        break;

      case COMPONENT:
        if (value == null) {
          unset_component();
        } else {
          set_component((java.lang.String)value);
        }
        break;

      case ENABLE:
        if (value == null) {
          unset_enable();
        } else {
          set_enable((java.lang.Boolean)value);
        }
        break;

      case SAMPLING_PERCENTAGE:
        if (value == null) {
          unset_samplingPercentage();
        } else {
          set_samplingPercentage((java.lang.Double)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case NAME:
        return get_name();

      case COMPONENT:
        return get_component();

      case ENABLE:
        return is_enable();

      case SAMPLING_PERCENTAGE:
        return get_samplingPercentage();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case NAME:
        return is_set_name();
      case COMPONENT:
        return is_set_component();
      case ENABLE:
        return is_set_enable();
      case SAMPLING_PERCENTAGE:
        return is_set_samplingPercentage();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof debug_args)
        return this.equals((debug_args)that);
      return false;
    }

    public boolean equals(debug_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_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_enable = true;
      boolean that_present_enable = true;
      if (this_present_enable || that_present_enable) {
        if (!(this_present_enable && that_present_enable))
          return false;
        if (this.enable != that.enable)
          return false;
      }

      boolean this_present_samplingPercentage = true;
      boolean that_present_samplingPercentage = true;
      if (this_present_samplingPercentage || that_present_samplingPercentage) {
        if (!(this_present_samplingPercentage && that_present_samplingPercentage))
          return false;
        if (this.samplingPercentage != that.samplingPercentage)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_name()) ? 131071 : 524287);
      if (is_set_name())
        hashCode = hashCode * 8191 + name.hashCode();

      hashCode = hashCode * 8191 + ((is_set_component()) ? 131071 : 524287);
      if (is_set_component())
        hashCode = hashCode * 8191 + component.hashCode();

      hashCode = hashCode * 8191 + ((enable) ? 131071 : 524287);

      hashCode = hashCode * 8191 + org.apache.storm.thrift.TBaseHelper.hashCode(samplingPercentage);

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_name(), other.is_set_name());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_name()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.name, other.name);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_component(), other.is_set_component());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_component()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.component, other.component);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_enable(), other.is_set_enable());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_enable()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.enable, other.enable);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_samplingPercentage(), other.is_set_samplingPercentage());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_samplingPercentage()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.samplingPercentage, other.samplingPercentage);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("debug_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("component:");
      if (this.component == null) {
        sb.append("null");
      } else {
        sb.append(this.component);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("enable:");
      sb.append(this.enable);
      first = false;
      if (!first) sb.append(", ");
      sb.append("samplingPercentage:");
      sb.append(this.samplingPercentage);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        // 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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class debug_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public debug_argsStandardScheme getScheme() {
        return new debug_argsStandardScheme();
      }
    }

    private static class debug_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<debug_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, debug_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NAME
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.name = iprot.readString();
                struct.set_name_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // COMPONENT
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.component = iprot.readString();
                struct.set_component_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // ENABLE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.BOOL) {
                struct.enable = iprot.readBool();
                struct.set_enable_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 4: // SAMPLING_PERCENTAGE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.DOUBLE) {
                struct.samplingPercentage = iprot.readDouble();
                struct.set_samplingPercentage_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, debug_args struct) throws org.apache.storm.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.component != null) {
          oprot.writeFieldBegin(COMPONENT_FIELD_DESC);
          oprot.writeString(struct.component);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldBegin(ENABLE_FIELD_DESC);
        oprot.writeBool(struct.enable);
        oprot.writeFieldEnd();
        oprot.writeFieldBegin(SAMPLING_PERCENTAGE_FIELD_DESC);
        oprot.writeDouble(struct.samplingPercentage);
        oprot.writeFieldEnd();
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class debug_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public debug_argsTupleScheme getScheme() {
        return new debug_argsTupleScheme();
      }
    }

    private static class debug_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<debug_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, debug_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_name()) {
          optionals.set(0);
        }
        if (struct.is_set_component()) {
          optionals.set(1);
        }
        if (struct.is_set_enable()) {
          optionals.set(2);
        }
        if (struct.is_set_samplingPercentage()) {
          optionals.set(3);
        }
        oprot.writeBitSet(optionals, 4);
        if (struct.is_set_name()) {
          oprot.writeString(struct.name);
        }
        if (struct.is_set_component()) {
          oprot.writeString(struct.component);
        }
        if (struct.is_set_enable()) {
          oprot.writeBool(struct.enable);
        }
        if (struct.is_set_samplingPercentage()) {
          oprot.writeDouble(struct.samplingPercentage);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, debug_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(4);
        if (incoming.get(0)) {
          struct.name = iprot.readString();
          struct.set_name_isSet(true);
        }
        if (incoming.get(1)) {
          struct.component = iprot.readString();
          struct.set_component_isSet(true);
        }
        if (incoming.get(2)) {
          struct.enable = iprot.readBool();
          struct.set_enable_isSet(true);
        }
        if (incoming.get(3)) {
          struct.samplingPercentage = iprot.readDouble();
          struct.set_samplingPercentage_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class debug_result implements org.apache.storm.thrift.TBase<debug_result, debug_result._Fields>, java.io.Serializable, Cloneable, Comparable<debug_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("debug_result");

    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new debug_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new debug_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable NotAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      E((short)1, "e"),
      AZE((short)2, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // E
            return E;
          case 2: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NotAliveException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(debug_result.class, metaDataMap);
    }

    public debug_result() {
    }

    public debug_result(
      NotAliveException e,
      AuthorizationException aze)
    {
      this();
      this.e = e;
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public debug_result(debug_result other) {
      if (other.is_set_e()) {
        this.e = new NotAliveException(other.e);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.e = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NotAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case E:
        if (value == null) {
          unset_e();
        } else {
          set_e((NotAliveException)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case E:
        return get_e();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case E:
        return is_set_e();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof debug_result)
        return this.equals((debug_result)that);
      return false;
    }

    public boolean equals(debug_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("debug_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class debug_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public debug_resultStandardScheme getScheme() {
        return new debug_resultStandardScheme();
      }
    }

    private static class debug_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<debug_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, debug_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new NotAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, debug_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class debug_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public debug_resultTupleScheme getScheme() {
        return new debug_resultTupleScheme();
      }
    }

    private static class debug_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<debug_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, debug_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_e()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_e()) {
          struct.e.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, debug_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.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.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class setWorkerProfiler_args implements org.apache.storm.thrift.TBase<setWorkerProfiler_args, setWorkerProfiler_args._Fields>, java.io.Serializable, Cloneable, Comparable<setWorkerProfiler_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("setWorkerProfiler_args");

    private static final org.apache.storm.thrift.protocol.TField ID_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("id", org.apache.storm.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.storm.thrift.protocol.TField PROFILE_REQUEST_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("profileRequest", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new setWorkerProfiler_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new setWorkerProfiler_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String id; // required
    private @org.apache.storm.thrift.annotation.Nullable ProfileRequest profileRequest; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      ID((short)1, "id"),
      PROFILE_REQUEST((short)2, "profileRequest");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ID
            return ID;
          case 2: // PROFILE_REQUEST
            return PROFILE_REQUEST;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.storm.thrift.meta_data.FieldMetaData("id", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.PROFILE_REQUEST, new org.apache.storm.thrift.meta_data.FieldMetaData("profileRequest", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, ProfileRequest.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(setWorkerProfiler_args.class, metaDataMap);
    }

    public setWorkerProfiler_args() {
    }

    public setWorkerProfiler_args(
      java.lang.String id,
      ProfileRequest profileRequest)
    {
      this();
      this.id = id;
      this.profileRequest = profileRequest;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public setWorkerProfiler_args(setWorkerProfiler_args other) {
      if (other.is_set_id()) {
        this.id = other.id;
      }
      if (other.is_set_profileRequest()) {
        this.profileRequest = new ProfileRequest(other.profileRequest);
      }
    }

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

    @Override
    public void clear() {
      this.id = null;
      this.profileRequest = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_id() {
      return this.id;
    }

    public void set_id(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public ProfileRequest get_profileRequest() {
      return this.profileRequest;
    }

    public void set_profileRequest(@org.apache.storm.thrift.annotation.Nullable ProfileRequest profileRequest) {
      this.profileRequest = profileRequest;
    }

    public void unset_profileRequest() {
      this.profileRequest = null;
    }

    /** Returns true if field profileRequest is set (has been assigned a value) and false otherwise */
    public boolean is_set_profileRequest() {
      return this.profileRequest != null;
    }

    public void set_profileRequest_isSet(boolean value) {
      if (!value) {
        this.profileRequest = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unset_id();
        } else {
          set_id((java.lang.String)value);
        }
        break;

      case PROFILE_REQUEST:
        if (value == null) {
          unset_profileRequest();
        } else {
          set_profileRequest((ProfileRequest)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return get_id();

      case PROFILE_REQUEST:
        return get_profileRequest();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case ID:
        return is_set_id();
      case PROFILE_REQUEST:
        return is_set_profileRequest();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof setWorkerProfiler_args)
        return this.equals((setWorkerProfiler_args)that);
      return false;
    }

    public boolean equals(setWorkerProfiler_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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;
      }

      boolean this_present_profileRequest = true && this.is_set_profileRequest();
      boolean that_present_profileRequest = true && that.is_set_profileRequest();
      if (this_present_profileRequest || that_present_profileRequest) {
        if (!(this_present_profileRequest && that_present_profileRequest))
          return false;
        if (!this.profileRequest.equals(that.profileRequest))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_id()) ? 131071 : 524287);
      if (is_set_id())
        hashCode = hashCode * 8191 + id.hashCode();

      hashCode = hashCode * 8191 + ((is_set_profileRequest()) ? 131071 : 524287);
      if (is_set_profileRequest())
        hashCode = hashCode * 8191 + profileRequest.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_id(), other.is_set_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_id()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.id, other.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_profileRequest(), other.is_set_profileRequest());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_profileRequest()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.profileRequest, other.profileRequest);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("setWorkerProfiler_args(");
      boolean first = true;

      sb.append("id:");
      if (this.id == null) {
        sb.append("null");
      } else {
        sb.append(this.id);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("profileRequest:");
      if (this.profileRequest == null) {
        sb.append("null");
      } else {
        sb.append(this.profileRequest);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.thrift.TException {
      // check for required fields
      // check for sub-struct validity
      if (profileRequest != null) {
        profileRequest.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class setWorkerProfiler_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public setWorkerProfiler_argsStandardScheme getScheme() {
        return new setWorkerProfiler_argsStandardScheme();
      }
    }

    private static class setWorkerProfiler_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<setWorkerProfiler_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, setWorkerProfiler_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // ID
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.id = iprot.readString();
                struct.set_id_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // PROFILE_REQUEST
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.profileRequest = new ProfileRequest();
                struct.profileRequest.read(iprot);
                struct.set_profileRequest_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, setWorkerProfiler_args struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.id != null) {
          oprot.writeFieldBegin(ID_FIELD_DESC);
          oprot.writeString(struct.id);
          oprot.writeFieldEnd();
        }
        if (struct.profileRequest != null) {
          oprot.writeFieldBegin(PROFILE_REQUEST_FIELD_DESC);
          struct.profileRequest.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class setWorkerProfiler_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public setWorkerProfiler_argsTupleScheme getScheme() {
        return new setWorkerProfiler_argsTupleScheme();
      }
    }

    private static class setWorkerProfiler_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<setWorkerProfiler_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, setWorkerProfiler_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_id()) {
          optionals.set(0);
        }
        if (struct.is_set_profileRequest()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_id()) {
          oprot.writeString(struct.id);
        }
        if (struct.is_set_profileRequest()) {
          struct.profileRequest.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, setWorkerProfiler_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.id = iprot.readString();
          struct.set_id_isSet(true);
        }
        if (incoming.get(1)) {
          struct.profileRequest = new ProfileRequest();
          struct.profileRequest.read(iprot);
          struct.set_profileRequest_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class setWorkerProfiler_result implements org.apache.storm.thrift.TBase<setWorkerProfiler_result, setWorkerProfiler_result._Fields>, java.io.Serializable, Cloneable, Comparable<setWorkerProfiler_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("setWorkerProfiler_result");


    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new setWorkerProfiler_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new setWorkerProfiler_resultTupleSchemeFactory();


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
;

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(setWorkerProfiler_result.class, metaDataMap);
    }

    public setWorkerProfiler_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public setWorkerProfiler_result(setWorkerProfiler_result other) {
    }

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

    @Override
    public void clear() {
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof setWorkerProfiler_result)
        return this.equals((setWorkerProfiler_result)that);
      return false;
    }

    public boolean equals(setWorkerProfiler_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      return hashCode;
    }

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

      int lastComparison = 0;

      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("setWorkerProfiler_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class setWorkerProfiler_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public setWorkerProfiler_resultStandardScheme getScheme() {
        return new setWorkerProfiler_resultStandardScheme();
      }
    }

    private static class setWorkerProfiler_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<setWorkerProfiler_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, setWorkerProfiler_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, setWorkerProfiler_result struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class setWorkerProfiler_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public setWorkerProfiler_resultTupleScheme getScheme() {
        return new setWorkerProfiler_resultTupleScheme();
      }
    }

    private static class setWorkerProfiler_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<setWorkerProfiler_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, setWorkerProfiler_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, setWorkerProfiler_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getComponentPendingProfileActions_args implements org.apache.storm.thrift.TBase<getComponentPendingProfileActions_args, getComponentPendingProfileActions_args._Fields>, java.io.Serializable, Cloneable, Comparable<getComponentPendingProfileActions_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getComponentPendingProfileActions_args");

    private static final org.apache.storm.thrift.protocol.TField ID_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("id", org.apache.storm.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.storm.thrift.protocol.TField COMPONENT_ID_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("component_id", org.apache.storm.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.storm.thrift.protocol.TField ACTION_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("action", org.apache.storm.thrift.protocol.TType.I32, (short)3);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getComponentPendingProfileActions_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getComponentPendingProfileActions_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String id; // required
    private @org.apache.storm.thrift.annotation.Nullable java.lang.String component_id; // required
    private @org.apache.storm.thrift.annotation.Nullable ProfileAction action; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      ID((short)1, "id"),
      COMPONENT_ID((short)2, "component_id"),
      /**
       * 
       * @see ProfileAction
       */
      ACTION((short)3, "action");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ID
            return ID;
          case 2: // COMPONENT_ID
            return COMPONENT_ID;
          case 3: // ACTION
            return ACTION;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.storm.thrift.meta_data.FieldMetaData("id", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.COMPONENT_ID, new org.apache.storm.thrift.meta_data.FieldMetaData("component_id", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.ACTION, new org.apache.storm.thrift.meta_data.FieldMetaData("action", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.EnumMetaData(org.apache.storm.thrift.protocol.TType.ENUM, ProfileAction.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getComponentPendingProfileActions_args.class, metaDataMap);
    }

    public getComponentPendingProfileActions_args() {
    }

    public getComponentPendingProfileActions_args(
      java.lang.String id,
      java.lang.String component_id,
      ProfileAction action)
    {
      this();
      this.id = id;
      this.component_id = component_id;
      this.action = action;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getComponentPendingProfileActions_args(getComponentPendingProfileActions_args other) {
      if (other.is_set_id()) {
        this.id = other.id;
      }
      if (other.is_set_component_id()) {
        this.component_id = other.component_id;
      }
      if (other.is_set_action()) {
        this.action = other.action;
      }
    }

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

    @Override
    public void clear() {
      this.id = null;
      this.component_id = null;
      this.action = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_id() {
      return this.id;
    }

    public void set_id(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_component_id() {
      return this.component_id;
    }

    public void set_component_id(@org.apache.storm.thrift.annotation.Nullable java.lang.String component_id) {
      this.component_id = component_id;
    }

    public void unset_component_id() {
      this.component_id = null;
    }

    /** Returns true if field component_id is set (has been assigned a value) and false otherwise */
    public boolean is_set_component_id() {
      return this.component_id != null;
    }

    public void set_component_id_isSet(boolean value) {
      if (!value) {
        this.component_id = null;
      }
    }

    /**
     * 
     * @see ProfileAction
     */
    @org.apache.storm.thrift.annotation.Nullable
    public ProfileAction get_action() {
      return this.action;
    }

    /**
     * 
     * @see ProfileAction
     */
    public void set_action(@org.apache.storm.thrift.annotation.Nullable ProfileAction action) {
      this.action = action;
    }

    public void unset_action() {
      this.action = null;
    }

    /** Returns true if field action is set (has been assigned a value) and false otherwise */
    public boolean is_set_action() {
      return this.action != null;
    }

    public void set_action_isSet(boolean value) {
      if (!value) {
        this.action = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unset_id();
        } else {
          set_id((java.lang.String)value);
        }
        break;

      case COMPONENT_ID:
        if (value == null) {
          unset_component_id();
        } else {
          set_component_id((java.lang.String)value);
        }
        break;

      case ACTION:
        if (value == null) {
          unset_action();
        } else {
          set_action((ProfileAction)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return get_id();

      case COMPONENT_ID:
        return get_component_id();

      case ACTION:
        return get_action();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case ID:
        return is_set_id();
      case COMPONENT_ID:
        return is_set_component_id();
      case ACTION:
        return is_set_action();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getComponentPendingProfileActions_args)
        return this.equals((getComponentPendingProfileActions_args)that);
      return false;
    }

    public boolean equals(getComponentPendingProfileActions_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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;
      }

      boolean this_present_component_id = true && this.is_set_component_id();
      boolean that_present_component_id = true && that.is_set_component_id();
      if (this_present_component_id || that_present_component_id) {
        if (!(this_present_component_id && that_present_component_id))
          return false;
        if (!this.component_id.equals(that.component_id))
          return false;
      }

      boolean this_present_action = true && this.is_set_action();
      boolean that_present_action = true && that.is_set_action();
      if (this_present_action || that_present_action) {
        if (!(this_present_action && that_present_action))
          return false;
        if (!this.action.equals(that.action))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_id()) ? 131071 : 524287);
      if (is_set_id())
        hashCode = hashCode * 8191 + id.hashCode();

      hashCode = hashCode * 8191 + ((is_set_component_id()) ? 131071 : 524287);
      if (is_set_component_id())
        hashCode = hashCode * 8191 + component_id.hashCode();

      hashCode = hashCode * 8191 + ((is_set_action()) ? 131071 : 524287);
      if (is_set_action())
        hashCode = hashCode * 8191 + action.getValue();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_id(), other.is_set_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_id()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.id, other.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_component_id(), other.is_set_component_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_component_id()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.component_id, other.component_id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_action(), other.is_set_action());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_action()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.action, other.action);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getComponentPendingProfileActions_args(");
      boolean first = true;

      sb.append("id:");
      if (this.id == null) {
        sb.append("null");
      } else {
        sb.append(this.id);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("component_id:");
      if (this.component_id == null) {
        sb.append("null");
      } else {
        sb.append(this.component_id);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("action:");
      if (this.action == null) {
        sb.append("null");
      } else {
        sb.append(this.action);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getComponentPendingProfileActions_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getComponentPendingProfileActions_argsStandardScheme getScheme() {
        return new getComponentPendingProfileActions_argsStandardScheme();
      }
    }

    private static class getComponentPendingProfileActions_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getComponentPendingProfileActions_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getComponentPendingProfileActions_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // ID
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.id = iprot.readString();
                struct.set_id_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // COMPONENT_ID
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.component_id = iprot.readString();
                struct.set_component_id_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // ACTION
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.I32) {
                struct.action = org.apache.storm.generated.ProfileAction.findByValue(iprot.readI32());
                struct.set_action_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getComponentPendingProfileActions_args struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.id != null) {
          oprot.writeFieldBegin(ID_FIELD_DESC);
          oprot.writeString(struct.id);
          oprot.writeFieldEnd();
        }
        if (struct.component_id != null) {
          oprot.writeFieldBegin(COMPONENT_ID_FIELD_DESC);
          oprot.writeString(struct.component_id);
          oprot.writeFieldEnd();
        }
        if (struct.action != null) {
          oprot.writeFieldBegin(ACTION_FIELD_DESC);
          oprot.writeI32(struct.action.getValue());
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getComponentPendingProfileActions_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getComponentPendingProfileActions_argsTupleScheme getScheme() {
        return new getComponentPendingProfileActions_argsTupleScheme();
      }
    }

    private static class getComponentPendingProfileActions_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getComponentPendingProfileActions_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getComponentPendingProfileActions_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_id()) {
          optionals.set(0);
        }
        if (struct.is_set_component_id()) {
          optionals.set(1);
        }
        if (struct.is_set_action()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_id()) {
          oprot.writeString(struct.id);
        }
        if (struct.is_set_component_id()) {
          oprot.writeString(struct.component_id);
        }
        if (struct.is_set_action()) {
          oprot.writeI32(struct.action.getValue());
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getComponentPendingProfileActions_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.id = iprot.readString();
          struct.set_id_isSet(true);
        }
        if (incoming.get(1)) {
          struct.component_id = iprot.readString();
          struct.set_component_id_isSet(true);
        }
        if (incoming.get(2)) {
          struct.action = org.apache.storm.generated.ProfileAction.findByValue(iprot.readI32());
          struct.set_action_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getComponentPendingProfileActions_result implements org.apache.storm.thrift.TBase<getComponentPendingProfileActions_result, getComponentPendingProfileActions_result._Fields>, java.io.Serializable, Cloneable, Comparable<getComponentPendingProfileActions_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getComponentPendingProfileActions_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.LIST, (short)0);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getComponentPendingProfileActions_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getComponentPendingProfileActions_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.util.List<ProfileRequest> success; // required

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

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.ListMetaData(org.apache.storm.thrift.protocol.TType.LIST, 
              new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, ProfileRequest.class))));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getComponentPendingProfileActions_result.class, metaDataMap);
    }

    public getComponentPendingProfileActions_result() {
    }

    public getComponentPendingProfileActions_result(
      java.util.List<ProfileRequest> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getComponentPendingProfileActions_result(getComponentPendingProfileActions_result other) {
      if (other.is_set_success()) {
        java.util.List<ProfileRequest> __this__success = new java.util.ArrayList<ProfileRequest>(other.success.size());
        for (ProfileRequest other_element : other.success) {
          __this__success.add(new ProfileRequest(other_element));
        }
        this.success = __this__success;
      }
    }

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

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

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

    @org.apache.storm.thrift.annotation.Nullable
    public java.util.Iterator<ProfileRequest> get_success_iterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void add_to_success(ProfileRequest elem) {
      if (this.success == null) {
        this.success = new java.util.ArrayList<ProfileRequest>();
      }
      this.success.add(elem);
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.util.List<ProfileRequest> get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable java.util.List<ProfileRequest> 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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((java.util.List<ProfileRequest>)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getComponentPendingProfileActions_result)
        return this.equals((getComponentPendingProfileActions_result)that);
      return false;
    }

    public boolean equals(getComponentPendingProfileActions_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getComponentPendingProfileActions_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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getComponentPendingProfileActions_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getComponentPendingProfileActions_resultStandardScheme getScheme() {
        return new getComponentPendingProfileActions_resultStandardScheme();
      }
    }

    private static class getComponentPendingProfileActions_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getComponentPendingProfileActions_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getComponentPendingProfileActions_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.LIST) {
                {
                  org.apache.storm.thrift.protocol.TList _list970 = iprot.readListBegin();
                  struct.success = new java.util.ArrayList<ProfileRequest>(_list970.size);
                  @org.apache.storm.thrift.annotation.Nullable ProfileRequest _elem971;
                  for (int _i972 = 0; _i972 < _list970.size; ++_i972)
                  {
                    _elem971 = new ProfileRequest();
                    _elem971.read(iprot);
                    struct.success.add(_elem971);
                  }
                  iprot.readListEnd();
                }
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getComponentPendingProfileActions_result struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.storm.thrift.protocol.TList(org.apache.storm.thrift.protocol.TType.STRUCT, struct.success.size()));
            for (ProfileRequest _iter973 : struct.success)
            {
              _iter973.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getComponentPendingProfileActions_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getComponentPendingProfileActions_resultTupleScheme getScheme() {
        return new getComponentPendingProfileActions_resultTupleScheme();
      }
    }

    private static class getComponentPendingProfileActions_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getComponentPendingProfileActions_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getComponentPendingProfileActions_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.is_set_success()) {
          {
            oprot.writeI32(struct.success.size());
            for (ProfileRequest _iter974 : struct.success)
            {
              _iter974.write(oprot);
            }
          }
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getComponentPendingProfileActions_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          {
            org.apache.storm.thrift.protocol.TList _list975 = iprot.readListBegin(org.apache.storm.thrift.protocol.TType.STRUCT);
            struct.success = new java.util.ArrayList<ProfileRequest>(_list975.size);
            @org.apache.storm.thrift.annotation.Nullable ProfileRequest _elem976;
            for (int _i977 = 0; _i977 < _list975.size; ++_i977)
            {
              _elem976 = new ProfileRequest();
              _elem976.read(iprot);
              struct.success.add(_elem976);
            }
          }
          struct.set_success_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class uploadNewCredentials_args implements org.apache.storm.thrift.TBase<uploadNewCredentials_args, uploadNewCredentials_args._Fields>, java.io.Serializable, Cloneable, Comparable<uploadNewCredentials_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("uploadNewCredentials_args");

    private static final org.apache.storm.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("name", org.apache.storm.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.storm.thrift.protocol.TField CREDS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("creds", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new uploadNewCredentials_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new uploadNewCredentials_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String name; // required
    private @org.apache.storm.thrift.annotation.Nullable Credentials creds; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      NAME((short)1, "name"),
      CREDS((short)2, "creds");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // NAME
            return NAME;
          case 2: // CREDS
            return CREDS;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NAME, new org.apache.storm.thrift.meta_data.FieldMetaData("name", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.CREDS, new org.apache.storm.thrift.meta_data.FieldMetaData("creds", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, Credentials.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(uploadNewCredentials_args.class, metaDataMap);
    }

    public uploadNewCredentials_args() {
    }

    public uploadNewCredentials_args(
      java.lang.String name,
      Credentials creds)
    {
      this();
      this.name = name;
      this.creds = creds;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public uploadNewCredentials_args(uploadNewCredentials_args other) {
      if (other.is_set_name()) {
        this.name = other.name;
      }
      if (other.is_set_creds()) {
        this.creds = new Credentials(other.creds);
      }
    }

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

    @Override
    public void clear() {
      this.name = null;
      this.creds = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_name() {
      return this.name;
    }

    public void set_name(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public Credentials get_creds() {
      return this.creds;
    }

    public void set_creds(@org.apache.storm.thrift.annotation.Nullable Credentials creds) {
      this.creds = creds;
    }

    public void unset_creds() {
      this.creds = null;
    }

    /** Returns true if field creds is set (has been assigned a value) and false otherwise */
    public boolean is_set_creds() {
      return this.creds != null;
    }

    public void set_creds_isSet(boolean value) {
      if (!value) {
        this.creds = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case NAME:
        if (value == null) {
          unset_name();
        } else {
          set_name((java.lang.String)value);
        }
        break;

      case CREDS:
        if (value == null) {
          unset_creds();
        } else {
          set_creds((Credentials)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case NAME:
        return get_name();

      case CREDS:
        return get_creds();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case NAME:
        return is_set_name();
      case CREDS:
        return is_set_creds();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof uploadNewCredentials_args)
        return this.equals((uploadNewCredentials_args)that);
      return false;
    }

    public boolean equals(uploadNewCredentials_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_creds = true && this.is_set_creds();
      boolean that_present_creds = true && that.is_set_creds();
      if (this_present_creds || that_present_creds) {
        if (!(this_present_creds && that_present_creds))
          return false;
        if (!this.creds.equals(that.creds))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_name()) ? 131071 : 524287);
      if (is_set_name())
        hashCode = hashCode * 8191 + name.hashCode();

      hashCode = hashCode * 8191 + ((is_set_creds()) ? 131071 : 524287);
      if (is_set_creds())
        hashCode = hashCode * 8191 + creds.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_name(), other.is_set_name());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_name()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.name, other.name);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_creds(), other.is_set_creds());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_creds()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.creds, other.creds);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("uploadNewCredentials_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("creds:");
      if (this.creds == null) {
        sb.append("null");
      } else {
        sb.append(this.creds);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.thrift.TException {
      // check for required fields
      // check for sub-struct validity
      if (creds != null) {
        creds.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class uploadNewCredentials_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public uploadNewCredentials_argsStandardScheme getScheme() {
        return new uploadNewCredentials_argsStandardScheme();
      }
    }

    private static class uploadNewCredentials_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<uploadNewCredentials_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, uploadNewCredentials_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NAME
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.name = iprot.readString();
                struct.set_name_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // CREDS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.creds = new Credentials();
                struct.creds.read(iprot);
                struct.set_creds_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, uploadNewCredentials_args struct) throws org.apache.storm.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.creds != null) {
          oprot.writeFieldBegin(CREDS_FIELD_DESC);
          struct.creds.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class uploadNewCredentials_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public uploadNewCredentials_argsTupleScheme getScheme() {
        return new uploadNewCredentials_argsTupleScheme();
      }
    }

    private static class uploadNewCredentials_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<uploadNewCredentials_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, uploadNewCredentials_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_name()) {
          optionals.set(0);
        }
        if (struct.is_set_creds()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_name()) {
          oprot.writeString(struct.name);
        }
        if (struct.is_set_creds()) {
          struct.creds.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, uploadNewCredentials_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.name = iprot.readString();
          struct.set_name_isSet(true);
        }
        if (incoming.get(1)) {
          struct.creds = new Credentials();
          struct.creds.read(iprot);
          struct.set_creds_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class uploadNewCredentials_result implements org.apache.storm.thrift.TBase<uploadNewCredentials_result, uploadNewCredentials_result._Fields>, java.io.Serializable, Cloneable, Comparable<uploadNewCredentials_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("uploadNewCredentials_result");

    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField ITE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("ite", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)3);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new uploadNewCredentials_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new uploadNewCredentials_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable NotAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable InvalidTopologyException ite; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      E((short)1, "e"),
      ITE((short)2, "ite"),
      AZE((short)3, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // E
            return E;
          case 2: // ITE
            return ITE;
          case 3: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NotAliveException.class)));
      tmpMap.put(_Fields.ITE, new org.apache.storm.thrift.meta_data.FieldMetaData("ite", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, InvalidTopologyException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(uploadNewCredentials_result.class, metaDataMap);
    }

    public uploadNewCredentials_result() {
    }

    public uploadNewCredentials_result(
      NotAliveException e,
      InvalidTopologyException ite,
      AuthorizationException aze)
    {
      this();
      this.e = e;
      this.ite = ite;
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public uploadNewCredentials_result(uploadNewCredentials_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_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.e = null;
      this.ite = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NotAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public InvalidTopologyException get_ite() {
      return this.ite;
    }

    public void set_ite(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.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 AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case E:
        return get_e();

      case ITE:
        return get_ite();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case E:
        return is_set_e();
      case ITE:
        return is_set_ite();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof uploadNewCredentials_result)
        return this.equals((uploadNewCredentials_result)that);
      return false;
    }

    public boolean equals(uploadNewCredentials_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_ite()) ? 131071 : 524287);
      if (is_set_ite())
        hashCode = hashCode * 8191 + ite.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_ite(), other.is_set_ite());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_ite()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.ite, other.ite);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("uploadNewCredentials_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class uploadNewCredentials_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public uploadNewCredentials_resultStandardScheme getScheme() {
        return new uploadNewCredentials_resultStandardScheme();
      }
    }

    private static class uploadNewCredentials_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<uploadNewCredentials_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, uploadNewCredentials_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new NotAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // ITE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.ite = new InvalidTopologyException();
                struct.ite.read(iprot);
                struct.set_ite_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, uploadNewCredentials_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class uploadNewCredentials_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public uploadNewCredentials_resultTupleScheme getScheme() {
        return new uploadNewCredentials_resultTupleScheme();
      }
    }

    private static class uploadNewCredentials_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<uploadNewCredentials_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, uploadNewCredentials_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_e()) {
          optionals.set(0);
        }
        if (struct.is_set_ite()) {
          optionals.set(1);
        }
        if (struct.is_set_aze()) {
          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_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, uploadNewCredentials_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.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.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class beginCreateBlob_args implements org.apache.storm.thrift.TBase<beginCreateBlob_args, beginCreateBlob_args._Fields>, java.io.Serializable, Cloneable, Comparable<beginCreateBlob_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("beginCreateBlob_args");

    private static final org.apache.storm.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("key", org.apache.storm.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.storm.thrift.protocol.TField META_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("meta", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new beginCreateBlob_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new beginCreateBlob_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String key; // required
    private @org.apache.storm.thrift.annotation.Nullable 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.storm.thrift.TFieldIdEnum {
      KEY((short)1, "key"),
      META((short)2, "meta");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.KEY, new org.apache.storm.thrift.meta_data.FieldMetaData("key", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.META, new org.apache.storm.thrift.meta_data.FieldMetaData("meta", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, SettableBlobMeta.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginCreateBlob_args.class, metaDataMap);
    }

    public beginCreateBlob_args() {
    }

    public beginCreateBlob_args(
      java.lang.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);
      }
    }

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

    @Override
    public void clear() {
      this.key = null;
      this.meta = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_key() {
      return this.key;
    }

    public void set_key(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public SettableBlobMeta get_meta() {
      return this.meta;
    }

    public void set_meta(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case KEY:
        if (value == null) {
          unset_key();
        } else {
          set_key((java.lang.String)value);
        }
        break;

      case META:
        if (value == null) {
          unset_meta();
        } else {
          set_meta((SettableBlobMeta)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case KEY:
        return get_key();

      case META:
        return get_meta();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case KEY:
        return is_set_key();
      case META:
        return is_set_meta();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof beginCreateBlob_args)
        return this.equals((beginCreateBlob_args)that);
      return false;
    }

    public boolean equals(beginCreateBlob_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_key()) ? 131071 : 524287);
      if (is_set_key())
        hashCode = hashCode * 8191 + key.hashCode();

      hashCode = hashCode * 8191 + ((is_set_meta()) ? 131071 : 524287);
      if (is_set_meta())
        hashCode = hashCode * 8191 + meta.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_key(), other.is_set_key());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_key()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.key, other.key);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_meta(), other.is_set_meta());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_meta()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.meta, other.meta);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class beginCreateBlob_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public beginCreateBlob_argsStandardScheme getScheme() {
        return new beginCreateBlob_argsStandardScheme();
      }
    }

    private static class beginCreateBlob_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<beginCreateBlob_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, beginCreateBlob_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // KEY
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.key = iprot.readString();
                struct.set_key_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // META
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.meta = new SettableBlobMeta();
                struct.meta.read(iprot);
                struct.set_meta_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, beginCreateBlob_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public beginCreateBlob_argsTupleScheme getScheme() {
        return new beginCreateBlob_argsTupleScheme();
      }
    }

    private static class beginCreateBlob_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<beginCreateBlob_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, beginCreateBlob_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, beginCreateBlob_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.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);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class beginCreateBlob_result implements org.apache.storm.thrift.TBase<beginCreateBlob_result, beginCreateBlob_result._Fields>, java.io.Serializable, Cloneable, Comparable<beginCreateBlob_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("beginCreateBlob_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRING, (short)0);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField KAE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("kae", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new beginCreateBlob_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new beginCreateBlob_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String success; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required
    private @org.apache.storm.thrift.annotation.Nullable 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.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      AZE((short)1, "aze"),
      KAE((short)2, "kae");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // AZE
            return AZE;
          case 2: // 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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      tmpMap.put(_Fields.KAE, new org.apache.storm.thrift.meta_data.FieldMetaData("kae", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, KeyAlreadyExistsException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginCreateBlob_result.class, metaDataMap);
    }

    public beginCreateBlob_result() {
    }

    public beginCreateBlob_result(
      java.lang.String success,
      AuthorizationException aze,
      KeyAlreadyExistsException kae)
    {
      this();
      this.success = success;
      this.aze = aze;
      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_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
      if (other.is_set_kae()) {
        this.kae = new KeyAlreadyExistsException(other.kae);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.aze = null;
      this.kae = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public KeyAlreadyExistsException get_kae() {
      return this.kae;
    }

    public void set_kae(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((java.lang.String)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      case KAE:
        if (value == null) {
          unset_kae();
        } else {
          set_kae((KeyAlreadyExistsException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case AZE:
        return get_aze();

      case KAE:
        return get_kae();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case AZE:
        return is_set_aze();
      case KAE:
        return is_set_kae();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof beginCreateBlob_result)
        return this.equals((beginCreateBlob_result)that);
      return false;
    }

    public boolean equals(beginCreateBlob_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      hashCode = hashCode * 8191 + ((is_set_kae()) ? 131071 : 524287);
      if (is_set_kae())
        hashCode = hashCode * 8191 + kae.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_kae(), other.is_set_kae());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_kae()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.kae, other.kae);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class beginCreateBlob_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public beginCreateBlob_resultStandardScheme getScheme() {
        return new beginCreateBlob_resultStandardScheme();
      }
    }

    private static class beginCreateBlob_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<beginCreateBlob_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, beginCreateBlob_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // KAE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.kae = new KeyAlreadyExistsException();
                struct.kae.read(iprot);
                struct.set_kae_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, beginCreateBlob_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public beginCreateBlob_resultTupleScheme getScheme() {
        return new beginCreateBlob_resultTupleScheme();
      }
    }

    private static class beginCreateBlob_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<beginCreateBlob_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, beginCreateBlob_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        if (struct.is_set_kae()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_success()) {
          oprot.writeString(struct.success);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
        if (struct.is_set_kae()) {
          struct.kae.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, beginCreateBlob_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.set_success_isSet(true);
        }
        if (incoming.get(1)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
        if (incoming.get(2)) {
          struct.kae = new KeyAlreadyExistsException();
          struct.kae.read(iprot);
          struct.set_kae_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class beginUpdateBlob_args implements org.apache.storm.thrift.TBase<beginUpdateBlob_args, beginUpdateBlob_args._Fields>, java.io.Serializable, Cloneable, Comparable<beginUpdateBlob_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("beginUpdateBlob_args");

    private static final org.apache.storm.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("key", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new beginUpdateBlob_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new beginUpdateBlob_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      KEY((short)1, "key");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.KEY, new org.apache.storm.thrift.meta_data.FieldMetaData("key", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginUpdateBlob_args.class, metaDataMap);
    }

    public beginUpdateBlob_args() {
    }

    public beginUpdateBlob_args(
      java.lang.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;
      }
    }

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

    @Override
    public void clear() {
      this.key = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_key() {
      return this.key;
    }

    public void set_key(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case KEY:
        if (value == null) {
          unset_key();
        } else {
          set_key((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case KEY:
        return get_key();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case KEY:
        return is_set_key();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof beginUpdateBlob_args)
        return this.equals((beginUpdateBlob_args)that);
      return false;
    }

    public boolean equals(beginUpdateBlob_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_key()) ? 131071 : 524287);
      if (is_set_key())
        hashCode = hashCode * 8191 + key.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_key(), other.is_set_key());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_key()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.key, other.key);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class beginUpdateBlob_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public beginUpdateBlob_argsStandardScheme getScheme() {
        return new beginUpdateBlob_argsStandardScheme();
      }
    }

    private static class beginUpdateBlob_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<beginUpdateBlob_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, beginUpdateBlob_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // KEY
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.key = iprot.readString();
                struct.set_key_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, beginUpdateBlob_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public beginUpdateBlob_argsTupleScheme getScheme() {
        return new beginUpdateBlob_argsTupleScheme();
      }
    }

    private static class beginUpdateBlob_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<beginUpdateBlob_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, beginUpdateBlob_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, beginUpdateBlob_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.key = iprot.readString();
          struct.set_key_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class beginUpdateBlob_result implements org.apache.storm.thrift.TBase<beginUpdateBlob_result, beginUpdateBlob_result._Fields>, java.io.Serializable, Cloneable, Comparable<beginUpdateBlob_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("beginUpdateBlob_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRING, (short)0);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField KNF_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("knf", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new beginUpdateBlob_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new beginUpdateBlob_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String success; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required
    private @org.apache.storm.thrift.annotation.Nullable 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.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      AZE((short)1, "aze"),
      KNF((short)2, "knf");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // AZE
            return AZE;
          case 2: // 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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      tmpMap.put(_Fields.KNF, new org.apache.storm.thrift.meta_data.FieldMetaData("knf", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, KeyNotFoundException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginUpdateBlob_result.class, metaDataMap);
    }

    public beginUpdateBlob_result() {
    }

    public beginUpdateBlob_result(
      java.lang.String success,
      AuthorizationException aze,
      KeyNotFoundException knf)
    {
      this();
      this.success = success;
      this.aze = aze;
      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_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
      if (other.is_set_knf()) {
        this.knf = new KeyNotFoundException(other.knf);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.aze = null;
      this.knf = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public KeyNotFoundException get_knf() {
      return this.knf;
    }

    public void set_knf(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((java.lang.String)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      case KNF:
        if (value == null) {
          unset_knf();
        } else {
          set_knf((KeyNotFoundException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case AZE:
        return get_aze();

      case KNF:
        return get_knf();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case AZE:
        return is_set_aze();
      case KNF:
        return is_set_knf();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof beginUpdateBlob_result)
        return this.equals((beginUpdateBlob_result)that);
      return false;
    }

    public boolean equals(beginUpdateBlob_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      hashCode = hashCode * 8191 + ((is_set_knf()) ? 131071 : 524287);
      if (is_set_knf())
        hashCode = hashCode * 8191 + knf.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_knf(), other.is_set_knf());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_knf()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.knf, other.knf);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class beginUpdateBlob_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public beginUpdateBlob_resultStandardScheme getScheme() {
        return new beginUpdateBlob_resultStandardScheme();
      }
    }

    private static class beginUpdateBlob_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<beginUpdateBlob_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, beginUpdateBlob_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // KNF
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.knf = new KeyNotFoundException();
                struct.knf.read(iprot);
                struct.set_knf_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, beginUpdateBlob_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.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 beginUpdateBlob_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public beginUpdateBlob_resultTupleScheme getScheme() {
        return new beginUpdateBlob_resultTupleScheme();
      }
    }

    private static class beginUpdateBlob_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<beginUpdateBlob_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, beginUpdateBlob_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        if (struct.is_set_knf()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_success()) {
          oprot.writeString(struct.success);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
        if (struct.is_set_knf()) {
          struct.knf.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, beginUpdateBlob_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.set_success_isSet(true);
        }
        if (incoming.get(1)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
        if (incoming.get(2)) {
          struct.knf = new KeyNotFoundException();
          struct.knf.read(iprot);
          struct.set_knf_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class uploadBlobChunk_args implements org.apache.storm.thrift.TBase<uploadBlobChunk_args, uploadBlobChunk_args._Fields>, java.io.Serializable, Cloneable, Comparable<uploadBlobChunk_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("uploadBlobChunk_args");

    private static final org.apache.storm.thrift.protocol.TField SESSION_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("session", org.apache.storm.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.storm.thrift.protocol.TField CHUNK_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("chunk", org.apache.storm.thrift.protocol.TType.STRING, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new uploadBlobChunk_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new uploadBlobChunk_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String session; // required
    private @org.apache.storm.thrift.annotation.Nullable java.nio.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.storm.thrift.TFieldIdEnum {
      SESSION((short)1, "session"),
      CHUNK((short)2, "chunk");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SESSION, new org.apache.storm.thrift.meta_data.FieldMetaData("session", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.CHUNK, new org.apache.storm.thrift.meta_data.FieldMetaData("chunk", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING          , true)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(uploadBlobChunk_args.class, metaDataMap);
    }

    public uploadBlobChunk_args() {
    }

    public uploadBlobChunk_args(
      java.lang.String session,
      java.nio.ByteBuffer chunk)
    {
      this();
      this.session = session;
      this.chunk = org.apache.storm.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.storm.thrift.TBaseHelper.copyBinary(other.chunk);
      }
    }

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

    @Override
    public void clear() {
      this.session = null;
      this.chunk = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_session() {
      return this.session;
    }

    public void set_session(@org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TBaseHelper.rightSize(chunk));
      return chunk == null ? null : chunk.array();
    }

    public java.nio.ByteBuffer buffer_for_chunk() {
      return org.apache.storm.thrift.TBaseHelper.copyBinary(chunk);
    }

    public void set_chunk(byte[] chunk) {
      this.chunk = chunk == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(chunk.clone());
    }

    public void set_chunk(@org.apache.storm.thrift.annotation.Nullable java.nio.ByteBuffer chunk) {
      this.chunk = org.apache.storm.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SESSION:
        if (value == null) {
          unset_session();
        } else {
          set_session((java.lang.String)value);
        }
        break;

      case CHUNK:
        if (value == null) {
          unset_chunk();
        } else {
          if (value instanceof byte[]) {
            set_chunk((byte[])value);
          } else {
            set_chunk((java.nio.ByteBuffer)value);
          }
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SESSION:
        return get_session();

      case CHUNK:
        return get_chunk();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SESSION:
        return is_set_session();
      case CHUNK:
        return is_set_chunk();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof uploadBlobChunk_args)
        return this.equals((uploadBlobChunk_args)that);
      return false;
    }

    public boolean equals(uploadBlobChunk_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_session()) ? 131071 : 524287);
      if (is_set_session())
        hashCode = hashCode * 8191 + session.hashCode();

      hashCode = hashCode * 8191 + ((is_set_chunk()) ? 131071 : 524287);
      if (is_set_chunk())
        hashCode = hashCode * 8191 + chunk.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_session(), other.is_set_session());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_session()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.session, other.session);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_chunk(), other.is_set_chunk());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_chunk()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.chunk, other.chunk);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.thrift.TBaseHelper.toString(this.chunk, sb);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class uploadBlobChunk_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public uploadBlobChunk_argsStandardScheme getScheme() {
        return new uploadBlobChunk_argsStandardScheme();
      }
    }

    private static class uploadBlobChunk_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<uploadBlobChunk_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, uploadBlobChunk_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // SESSION
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.session = iprot.readString();
                struct.set_session_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // CHUNK
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.chunk = iprot.readBinary();
                struct.set_chunk_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, uploadBlobChunk_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public uploadBlobChunk_argsTupleScheme getScheme() {
        return new uploadBlobChunk_argsTupleScheme();
      }
    }

    private static class uploadBlobChunk_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<uploadBlobChunk_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, uploadBlobChunk_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, uploadBlobChunk_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.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);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class uploadBlobChunk_result implements org.apache.storm.thrift.TBase<uploadBlobChunk_result, uploadBlobChunk_result._Fields>, java.io.Serializable, Cloneable, Comparable<uploadBlobChunk_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("uploadBlobChunk_result");

    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new uploadBlobChunk_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new uploadBlobChunk_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      AZE((short)1, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(uploadBlobChunk_result.class, metaDataMap);
    }

    public uploadBlobChunk_result() {
    }

    public uploadBlobChunk_result(
      AuthorizationException aze)
    {
      this();
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public uploadBlobChunk_result(uploadBlobChunk_result other) {
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof uploadBlobChunk_result)
        return this.equals((uploadBlobChunk_result)that);
      return false;
    }

    public boolean equals(uploadBlobChunk_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("uploadBlobChunk_result(");
      boolean first = true;

      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class uploadBlobChunk_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public uploadBlobChunk_resultStandardScheme getScheme() {
        return new uploadBlobChunk_resultStandardScheme();
      }
    }

    private static class uploadBlobChunk_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<uploadBlobChunk_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, uploadBlobChunk_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, uploadBlobChunk_result struct) throws org.apache.storm.thrift.TException {
        struct.validate();

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

    }

    private static class uploadBlobChunk_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public uploadBlobChunk_resultTupleScheme getScheme() {
        return new uploadBlobChunk_resultTupleScheme();
      }
    }

    private static class uploadBlobChunk_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<uploadBlobChunk_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, uploadBlobChunk_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_aze()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, uploadBlobChunk_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class finishBlobUpload_args implements org.apache.storm.thrift.TBase<finishBlobUpload_args, finishBlobUpload_args._Fields>, java.io.Serializable, Cloneable, Comparable<finishBlobUpload_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("finishBlobUpload_args");

    private static final org.apache.storm.thrift.protocol.TField SESSION_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("session", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new finishBlobUpload_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new finishBlobUpload_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      SESSION((short)1, "session");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SESSION, new org.apache.storm.thrift.meta_data.FieldMetaData("session", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(finishBlobUpload_args.class, metaDataMap);
    }

    public finishBlobUpload_args() {
    }

    public finishBlobUpload_args(
      java.lang.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;
      }
    }

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

    @Override
    public void clear() {
      this.session = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_session() {
      return this.session;
    }

    public void set_session(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SESSION:
        if (value == null) {
          unset_session();
        } else {
          set_session((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SESSION:
        return get_session();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SESSION:
        return is_set_session();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof finishBlobUpload_args)
        return this.equals((finishBlobUpload_args)that);
      return false;
    }

    public boolean equals(finishBlobUpload_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_session()) ? 131071 : 524287);
      if (is_set_session())
        hashCode = hashCode * 8191 + session.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_session(), other.is_set_session());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_session()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.session, other.session);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class finishBlobUpload_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public finishBlobUpload_argsStandardScheme getScheme() {
        return new finishBlobUpload_argsStandardScheme();
      }
    }

    private static class finishBlobUpload_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<finishBlobUpload_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, finishBlobUpload_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // SESSION
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.session = iprot.readString();
                struct.set_session_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, finishBlobUpload_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public finishBlobUpload_argsTupleScheme getScheme() {
        return new finishBlobUpload_argsTupleScheme();
      }
    }

    private static class finishBlobUpload_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<finishBlobUpload_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, finishBlobUpload_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, finishBlobUpload_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.session = iprot.readString();
          struct.set_session_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class finishBlobUpload_result implements org.apache.storm.thrift.TBase<finishBlobUpload_result, finishBlobUpload_result._Fields>, java.io.Serializable, Cloneable, Comparable<finishBlobUpload_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("finishBlobUpload_result");

    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new finishBlobUpload_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new finishBlobUpload_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      AZE((short)1, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(finishBlobUpload_result.class, metaDataMap);
    }

    public finishBlobUpload_result() {
    }

    public finishBlobUpload_result(
      AuthorizationException aze)
    {
      this();
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public finishBlobUpload_result(finishBlobUpload_result other) {
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof finishBlobUpload_result)
        return this.equals((finishBlobUpload_result)that);
      return false;
    }

    public boolean equals(finishBlobUpload_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("finishBlobUpload_result(");
      boolean first = true;

      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class finishBlobUpload_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public finishBlobUpload_resultStandardScheme getScheme() {
        return new finishBlobUpload_resultStandardScheme();
      }
    }

    private static class finishBlobUpload_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<finishBlobUpload_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, finishBlobUpload_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, finishBlobUpload_result struct) throws org.apache.storm.thrift.TException {
        struct.validate();

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

    }

    private static class finishBlobUpload_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public finishBlobUpload_resultTupleScheme getScheme() {
        return new finishBlobUpload_resultTupleScheme();
      }
    }

    private static class finishBlobUpload_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<finishBlobUpload_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, finishBlobUpload_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_aze()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, finishBlobUpload_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class cancelBlobUpload_args implements org.apache.storm.thrift.TBase<cancelBlobUpload_args, cancelBlobUpload_args._Fields>, java.io.Serializable, Cloneable, Comparable<cancelBlobUpload_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("cancelBlobUpload_args");

    private static final org.apache.storm.thrift.protocol.TField SESSION_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("session", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cancelBlobUpload_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cancelBlobUpload_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      SESSION((short)1, "session");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SESSION, new org.apache.storm.thrift.meta_data.FieldMetaData("session", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(cancelBlobUpload_args.class, metaDataMap);
    }

    public cancelBlobUpload_args() {
    }

    public cancelBlobUpload_args(
      java.lang.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;
      }
    }

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

    @Override
    public void clear() {
      this.session = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_session() {
      return this.session;
    }

    public void set_session(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SESSION:
        if (value == null) {
          unset_session();
        } else {
          set_session((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SESSION:
        return get_session();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SESSION:
        return is_set_session();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof cancelBlobUpload_args)
        return this.equals((cancelBlobUpload_args)that);
      return false;
    }

    public boolean equals(cancelBlobUpload_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_session()) ? 131071 : 524287);
      if (is_set_session())
        hashCode = hashCode * 8191 + session.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_session(), other.is_set_session());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_session()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.session, other.session);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class cancelBlobUpload_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public cancelBlobUpload_argsStandardScheme getScheme() {
        return new cancelBlobUpload_argsStandardScheme();
      }
    }

    private static class cancelBlobUpload_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<cancelBlobUpload_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, cancelBlobUpload_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // SESSION
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.session = iprot.readString();
                struct.set_session_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, cancelBlobUpload_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public cancelBlobUpload_argsTupleScheme getScheme() {
        return new cancelBlobUpload_argsTupleScheme();
      }
    }

    private static class cancelBlobUpload_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<cancelBlobUpload_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, cancelBlobUpload_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, cancelBlobUpload_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.session = iprot.readString();
          struct.set_session_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class cancelBlobUpload_result implements org.apache.storm.thrift.TBase<cancelBlobUpload_result, cancelBlobUpload_result._Fields>, java.io.Serializable, Cloneable, Comparable<cancelBlobUpload_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("cancelBlobUpload_result");

    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cancelBlobUpload_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cancelBlobUpload_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      AZE((short)1, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(cancelBlobUpload_result.class, metaDataMap);
    }

    public cancelBlobUpload_result() {
    }

    public cancelBlobUpload_result(
      AuthorizationException aze)
    {
      this();
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public cancelBlobUpload_result(cancelBlobUpload_result other) {
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof cancelBlobUpload_result)
        return this.equals((cancelBlobUpload_result)that);
      return false;
    }

    public boolean equals(cancelBlobUpload_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("cancelBlobUpload_result(");
      boolean first = true;

      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class cancelBlobUpload_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public cancelBlobUpload_resultStandardScheme getScheme() {
        return new cancelBlobUpload_resultStandardScheme();
      }
    }

    private static class cancelBlobUpload_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<cancelBlobUpload_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, cancelBlobUpload_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, cancelBlobUpload_result struct) throws org.apache.storm.thrift.TException {
        struct.validate();

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

    }

    private static class cancelBlobUpload_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public cancelBlobUpload_resultTupleScheme getScheme() {
        return new cancelBlobUpload_resultTupleScheme();
      }
    }

    private static class cancelBlobUpload_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<cancelBlobUpload_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, cancelBlobUpload_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_aze()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, cancelBlobUpload_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getBlobMeta_args implements org.apache.storm.thrift.TBase<getBlobMeta_args, getBlobMeta_args._Fields>, java.io.Serializable, Cloneable, Comparable<getBlobMeta_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getBlobMeta_args");

    private static final org.apache.storm.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("key", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getBlobMeta_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getBlobMeta_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      KEY((short)1, "key");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.KEY, new org.apache.storm.thrift.meta_data.FieldMetaData("key", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBlobMeta_args.class, metaDataMap);
    }

    public getBlobMeta_args() {
    }

    public getBlobMeta_args(
      java.lang.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;
      }
    }

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

    @Override
    public void clear() {
      this.key = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_key() {
      return this.key;
    }

    public void set_key(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case KEY:
        if (value == null) {
          unset_key();
        } else {
          set_key((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case KEY:
        return get_key();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case KEY:
        return is_set_key();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getBlobMeta_args)
        return this.equals((getBlobMeta_args)that);
      return false;
    }

    public boolean equals(getBlobMeta_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_key()) ? 131071 : 524287);
      if (is_set_key())
        hashCode = hashCode * 8191 + key.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_key(), other.is_set_key());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_key()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.key, other.key);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getBlobMeta_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getBlobMeta_argsStandardScheme getScheme() {
        return new getBlobMeta_argsStandardScheme();
      }
    }

    private static class getBlobMeta_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getBlobMeta_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getBlobMeta_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // KEY
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.key = iprot.readString();
                struct.set_key_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getBlobMeta_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getBlobMeta_argsTupleScheme getScheme() {
        return new getBlobMeta_argsTupleScheme();
      }
    }

    private static class getBlobMeta_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getBlobMeta_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getBlobMeta_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, getBlobMeta_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.key = iprot.readString();
          struct.set_key_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getBlobMeta_result implements org.apache.storm.thrift.TBase<getBlobMeta_result, getBlobMeta_result._Fields>, java.io.Serializable, Cloneable, Comparable<getBlobMeta_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getBlobMeta_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField KNF_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("knf", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getBlobMeta_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getBlobMeta_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable ReadableBlobMeta success; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required
    private @org.apache.storm.thrift.annotation.Nullable 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.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      AZE((short)1, "aze"),
      KNF((short)2, "knf");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // AZE
            return AZE;
          case 2: // 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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, ReadableBlobMeta.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      tmpMap.put(_Fields.KNF, new org.apache.storm.thrift.meta_data.FieldMetaData("knf", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, KeyNotFoundException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBlobMeta_result.class, metaDataMap);
    }

    public getBlobMeta_result() {
    }

    public getBlobMeta_result(
      ReadableBlobMeta success,
      AuthorizationException aze,
      KeyNotFoundException knf)
    {
      this();
      this.success = success;
      this.aze = aze;
      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_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
      if (other.is_set_knf()) {
        this.knf = new KeyNotFoundException(other.knf);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.aze = null;
      this.knf = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public ReadableBlobMeta get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public KeyNotFoundException get_knf() {
      return this.knf;
    }

    public void set_knf(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((ReadableBlobMeta)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      case KNF:
        if (value == null) {
          unset_knf();
        } else {
          set_knf((KeyNotFoundException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case AZE:
        return get_aze();

      case KNF:
        return get_knf();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case AZE:
        return is_set_aze();
      case KNF:
        return is_set_knf();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getBlobMeta_result)
        return this.equals((getBlobMeta_result)that);
      return false;
    }

    public boolean equals(getBlobMeta_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      hashCode = hashCode * 8191 + ((is_set_knf()) ? 131071 : 524287);
      if (is_set_knf())
        hashCode = hashCode * 8191 + knf.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_knf(), other.is_set_knf());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_knf()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.knf, other.knf);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getBlobMeta_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getBlobMeta_resultStandardScheme getScheme() {
        return new getBlobMeta_resultStandardScheme();
      }
    }

    private static class getBlobMeta_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getBlobMeta_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getBlobMeta_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.success = new ReadableBlobMeta();
                struct.success.read(iprot);
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // KNF
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.knf = new KeyNotFoundException();
                struct.knf.read(iprot);
                struct.set_knf_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getBlobMeta_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getBlobMeta_resultTupleScheme getScheme() {
        return new getBlobMeta_resultTupleScheme();
      }
    }

    private static class getBlobMeta_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getBlobMeta_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getBlobMeta_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        if (struct.is_set_knf()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_success()) {
          struct.success.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
        if (struct.is_set_knf()) {
          struct.knf.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getBlobMeta_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.success = new ReadableBlobMeta();
          struct.success.read(iprot);
          struct.set_success_isSet(true);
        }
        if (incoming.get(1)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
        if (incoming.get(2)) {
          struct.knf = new KeyNotFoundException();
          struct.knf.read(iprot);
          struct.set_knf_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class setBlobMeta_args implements org.apache.storm.thrift.TBase<setBlobMeta_args, setBlobMeta_args._Fields>, java.io.Serializable, Cloneable, Comparable<setBlobMeta_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("setBlobMeta_args");

    private static final org.apache.storm.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("key", org.apache.storm.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.storm.thrift.protocol.TField META_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("meta", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new setBlobMeta_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new setBlobMeta_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String key; // required
    private @org.apache.storm.thrift.annotation.Nullable 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.storm.thrift.TFieldIdEnum {
      KEY((short)1, "key"),
      META((short)2, "meta");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.KEY, new org.apache.storm.thrift.meta_data.FieldMetaData("key", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.META, new org.apache.storm.thrift.meta_data.FieldMetaData("meta", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, SettableBlobMeta.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(setBlobMeta_args.class, metaDataMap);
    }

    public setBlobMeta_args() {
    }

    public setBlobMeta_args(
      java.lang.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);
      }
    }

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

    @Override
    public void clear() {
      this.key = null;
      this.meta = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_key() {
      return this.key;
    }

    public void set_key(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public SettableBlobMeta get_meta() {
      return this.meta;
    }

    public void set_meta(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case KEY:
        if (value == null) {
          unset_key();
        } else {
          set_key((java.lang.String)value);
        }
        break;

      case META:
        if (value == null) {
          unset_meta();
        } else {
          set_meta((SettableBlobMeta)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case KEY:
        return get_key();

      case META:
        return get_meta();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case KEY:
        return is_set_key();
      case META:
        return is_set_meta();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof setBlobMeta_args)
        return this.equals((setBlobMeta_args)that);
      return false;
    }

    public boolean equals(setBlobMeta_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_key()) ? 131071 : 524287);
      if (is_set_key())
        hashCode = hashCode * 8191 + key.hashCode();

      hashCode = hashCode * 8191 + ((is_set_meta()) ? 131071 : 524287);
      if (is_set_meta())
        hashCode = hashCode * 8191 + meta.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_key(), other.is_set_key());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_key()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.key, other.key);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_meta(), other.is_set_meta());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_meta()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.meta, other.meta);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class setBlobMeta_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public setBlobMeta_argsStandardScheme getScheme() {
        return new setBlobMeta_argsStandardScheme();
      }
    }

    private static class setBlobMeta_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<setBlobMeta_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, setBlobMeta_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // KEY
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.key = iprot.readString();
                struct.set_key_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // META
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.meta = new SettableBlobMeta();
                struct.meta.read(iprot);
                struct.set_meta_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, setBlobMeta_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public setBlobMeta_argsTupleScheme getScheme() {
        return new setBlobMeta_argsTupleScheme();
      }
    }

    private static class setBlobMeta_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<setBlobMeta_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, setBlobMeta_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, setBlobMeta_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.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);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class setBlobMeta_result implements org.apache.storm.thrift.TBase<setBlobMeta_result, setBlobMeta_result._Fields>, java.io.Serializable, Cloneable, Comparable<setBlobMeta_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("setBlobMeta_result");

    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField KNF_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("knf", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new setBlobMeta_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new setBlobMeta_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required
    private @org.apache.storm.thrift.annotation.Nullable 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.storm.thrift.TFieldIdEnum {
      AZE((short)1, "aze"),
      KNF((short)2, "knf");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // AZE
            return AZE;
          case 2: // 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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      tmpMap.put(_Fields.KNF, new org.apache.storm.thrift.meta_data.FieldMetaData("knf", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, KeyNotFoundException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(setBlobMeta_result.class, metaDataMap);
    }

    public setBlobMeta_result() {
    }

    public setBlobMeta_result(
      AuthorizationException aze,
      KeyNotFoundException knf)
    {
      this();
      this.aze = aze;
      this.knf = knf;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public setBlobMeta_result(setBlobMeta_result other) {
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
      if (other.is_set_knf()) {
        this.knf = new KeyNotFoundException(other.knf);
      }
    }

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

    @Override
    public void clear() {
      this.aze = null;
      this.knf = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public KeyNotFoundException get_knf() {
      return this.knf;
    }

    public void set_knf(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      case KNF:
        if (value == null) {
          unset_knf();
        } else {
          set_knf((KeyNotFoundException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case AZE:
        return get_aze();

      case KNF:
        return get_knf();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case AZE:
        return is_set_aze();
      case KNF:
        return is_set_knf();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof setBlobMeta_result)
        return this.equals((setBlobMeta_result)that);
      return false;
    }

    public boolean equals(setBlobMeta_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      hashCode = hashCode * 8191 + ((is_set_knf()) ? 131071 : 524287);
      if (is_set_knf())
        hashCode = hashCode * 8191 + knf.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_knf(), other.is_set_knf());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_knf()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.knf, other.knf);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("setBlobMeta_result(");
      boolean first = true;

      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class setBlobMeta_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public setBlobMeta_resultStandardScheme getScheme() {
        return new setBlobMeta_resultStandardScheme();
      }
    }

    private static class setBlobMeta_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<setBlobMeta_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, setBlobMeta_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // KNF
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.knf = new KeyNotFoundException();
                struct.knf.read(iprot);
                struct.set_knf_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, setBlobMeta_result struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.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 setBlobMeta_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public setBlobMeta_resultTupleScheme getScheme() {
        return new setBlobMeta_resultTupleScheme();
      }
    }

    private static class setBlobMeta_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<setBlobMeta_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, setBlobMeta_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_aze()) {
          optionals.set(0);
        }
        if (struct.is_set_knf()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
        if (struct.is_set_knf()) {
          struct.knf.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, setBlobMeta_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
        if (incoming.get(1)) {
          struct.knf = new KeyNotFoundException();
          struct.knf.read(iprot);
          struct.set_knf_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class beginBlobDownload_args implements org.apache.storm.thrift.TBase<beginBlobDownload_args, beginBlobDownload_args._Fields>, java.io.Serializable, Cloneable, Comparable<beginBlobDownload_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("beginBlobDownload_args");

    private static final org.apache.storm.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("key", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new beginBlobDownload_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new beginBlobDownload_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      KEY((short)1, "key");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.KEY, new org.apache.storm.thrift.meta_data.FieldMetaData("key", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginBlobDownload_args.class, metaDataMap);
    }

    public beginBlobDownload_args() {
    }

    public beginBlobDownload_args(
      java.lang.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;
      }
    }

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

    @Override
    public void clear() {
      this.key = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_key() {
      return this.key;
    }

    public void set_key(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case KEY:
        if (value == null) {
          unset_key();
        } else {
          set_key((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case KEY:
        return get_key();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case KEY:
        return is_set_key();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof beginBlobDownload_args)
        return this.equals((beginBlobDownload_args)that);
      return false;
    }

    public boolean equals(beginBlobDownload_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_key()) ? 131071 : 524287);
      if (is_set_key())
        hashCode = hashCode * 8191 + key.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_key(), other.is_set_key());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_key()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.key, other.key);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class beginBlobDownload_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public beginBlobDownload_argsStandardScheme getScheme() {
        return new beginBlobDownload_argsStandardScheme();
      }
    }

    private static class beginBlobDownload_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<beginBlobDownload_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, beginBlobDownload_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // KEY
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.key = iprot.readString();
                struct.set_key_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, beginBlobDownload_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public beginBlobDownload_argsTupleScheme getScheme() {
        return new beginBlobDownload_argsTupleScheme();
      }
    }

    private static class beginBlobDownload_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<beginBlobDownload_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, beginBlobDownload_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, beginBlobDownload_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.key = iprot.readString();
          struct.set_key_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class beginBlobDownload_result implements org.apache.storm.thrift.TBase<beginBlobDownload_result, beginBlobDownload_result._Fields>, java.io.Serializable, Cloneable, Comparable<beginBlobDownload_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("beginBlobDownload_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField KNF_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("knf", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new beginBlobDownload_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new beginBlobDownload_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable BeginDownloadResult success; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required
    private @org.apache.storm.thrift.annotation.Nullable 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.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      AZE((short)1, "aze"),
      KNF((short)2, "knf");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // AZE
            return AZE;
          case 2: // 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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, BeginDownloadResult.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      tmpMap.put(_Fields.KNF, new org.apache.storm.thrift.meta_data.FieldMetaData("knf", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, KeyNotFoundException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginBlobDownload_result.class, metaDataMap);
    }

    public beginBlobDownload_result() {
    }

    public beginBlobDownload_result(
      BeginDownloadResult success,
      AuthorizationException aze,
      KeyNotFoundException knf)
    {
      this();
      this.success = success;
      this.aze = aze;
      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_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
      if (other.is_set_knf()) {
        this.knf = new KeyNotFoundException(other.knf);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.aze = null;
      this.knf = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public BeginDownloadResult get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public KeyNotFoundException get_knf() {
      return this.knf;
    }

    public void set_knf(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((BeginDownloadResult)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      case KNF:
        if (value == null) {
          unset_knf();
        } else {
          set_knf((KeyNotFoundException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case AZE:
        return get_aze();

      case KNF:
        return get_knf();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case AZE:
        return is_set_aze();
      case KNF:
        return is_set_knf();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof beginBlobDownload_result)
        return this.equals((beginBlobDownload_result)that);
      return false;
    }

    public boolean equals(beginBlobDownload_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      hashCode = hashCode * 8191 + ((is_set_knf()) ? 131071 : 524287);
      if (is_set_knf())
        hashCode = hashCode * 8191 + knf.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_knf(), other.is_set_knf());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_knf()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.knf, other.knf);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class beginBlobDownload_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public beginBlobDownload_resultStandardScheme getScheme() {
        return new beginBlobDownload_resultStandardScheme();
      }
    }

    private static class beginBlobDownload_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<beginBlobDownload_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, beginBlobDownload_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.success = new BeginDownloadResult();
                struct.success.read(iprot);
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // KNF
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.knf = new KeyNotFoundException();
                struct.knf.read(iprot);
                struct.set_knf_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, beginBlobDownload_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public beginBlobDownload_resultTupleScheme getScheme() {
        return new beginBlobDownload_resultTupleScheme();
      }
    }

    private static class beginBlobDownload_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<beginBlobDownload_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, beginBlobDownload_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        if (struct.is_set_knf()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_success()) {
          struct.success.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
        if (struct.is_set_knf()) {
          struct.knf.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, beginBlobDownload_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.success = new BeginDownloadResult();
          struct.success.read(iprot);
          struct.set_success_isSet(true);
        }
        if (incoming.get(1)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
        if (incoming.get(2)) {
          struct.knf = new KeyNotFoundException();
          struct.knf.read(iprot);
          struct.set_knf_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class downloadBlobChunk_args implements org.apache.storm.thrift.TBase<downloadBlobChunk_args, downloadBlobChunk_args._Fields>, java.io.Serializable, Cloneable, Comparable<downloadBlobChunk_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("downloadBlobChunk_args");

    private static final org.apache.storm.thrift.protocol.TField SESSION_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("session", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new downloadBlobChunk_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new downloadBlobChunk_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      SESSION((short)1, "session");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SESSION, new org.apache.storm.thrift.meta_data.FieldMetaData("session", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(downloadBlobChunk_args.class, metaDataMap);
    }

    public downloadBlobChunk_args() {
    }

    public downloadBlobChunk_args(
      java.lang.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;
      }
    }

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

    @Override
    public void clear() {
      this.session = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_session() {
      return this.session;
    }

    public void set_session(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SESSION:
        if (value == null) {
          unset_session();
        } else {
          set_session((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SESSION:
        return get_session();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SESSION:
        return is_set_session();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof downloadBlobChunk_args)
        return this.equals((downloadBlobChunk_args)that);
      return false;
    }

    public boolean equals(downloadBlobChunk_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_session()) ? 131071 : 524287);
      if (is_set_session())
        hashCode = hashCode * 8191 + session.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_session(), other.is_set_session());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_session()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.session, other.session);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class downloadBlobChunk_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public downloadBlobChunk_argsStandardScheme getScheme() {
        return new downloadBlobChunk_argsStandardScheme();
      }
    }

    private static class downloadBlobChunk_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<downloadBlobChunk_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, downloadBlobChunk_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // SESSION
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.session = iprot.readString();
                struct.set_session_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, downloadBlobChunk_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public downloadBlobChunk_argsTupleScheme getScheme() {
        return new downloadBlobChunk_argsTupleScheme();
      }
    }

    private static class downloadBlobChunk_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<downloadBlobChunk_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, downloadBlobChunk_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, downloadBlobChunk_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.session = iprot.readString();
          struct.set_session_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class downloadBlobChunk_result implements org.apache.storm.thrift.TBase<downloadBlobChunk_result, downloadBlobChunk_result._Fields>, java.io.Serializable, Cloneable, Comparable<downloadBlobChunk_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("downloadBlobChunk_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRING, (short)0);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new downloadBlobChunk_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new downloadBlobChunk_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.nio.ByteBuffer success; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      AZE((short)1, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING          , true)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(downloadBlobChunk_result.class, metaDataMap);
    }

    public downloadBlobChunk_result() {
    }

    public downloadBlobChunk_result(
      java.nio.ByteBuffer success,
      AuthorizationException aze)
    {
      this();
      this.success = org.apache.storm.thrift.TBaseHelper.copyBinary(success);
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public downloadBlobChunk_result(downloadBlobChunk_result other) {
      if (other.is_set_success()) {
        this.success = org.apache.storm.thrift.TBaseHelper.copyBinary(other.success);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.aze = null;
    }

    public byte[] get_success() {
      set_success(org.apache.storm.thrift.TBaseHelper.rightSize(success));
      return success == null ? null : success.array();
    }

    public java.nio.ByteBuffer buffer_for_success() {
      return org.apache.storm.thrift.TBaseHelper.copyBinary(success);
    }

    public void set_success(byte[] success) {
      this.success = success == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(success.clone());
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable java.nio.ByteBuffer success) {
      this.success = org.apache.storm.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          if (value instanceof byte[]) {
            set_success((byte[])value);
          } else {
            set_success((java.nio.ByteBuffer)value);
          }
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof downloadBlobChunk_result)
        return this.equals((downloadBlobChunk_result)that);
      return false;
    }

    public boolean equals(downloadBlobChunk_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("downloadBlobChunk_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        org.apache.storm.thrift.TBaseHelper.toString(this.success, sb);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class downloadBlobChunk_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public downloadBlobChunk_resultStandardScheme getScheme() {
        return new downloadBlobChunk_resultStandardScheme();
      }
    }

    private static class downloadBlobChunk_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<downloadBlobChunk_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, downloadBlobChunk_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.success = iprot.readBinary();
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, downloadBlobChunk_result struct) throws org.apache.storm.thrift.TException {
        struct.validate();

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

    }

    private static class downloadBlobChunk_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public downloadBlobChunk_resultTupleScheme getScheme() {
        return new downloadBlobChunk_resultTupleScheme();
      }
    }

    private static class downloadBlobChunk_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<downloadBlobChunk_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, downloadBlobChunk_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_success()) {
          oprot.writeBinary(struct.success);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, downloadBlobChunk_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.success = iprot.readBinary();
          struct.set_success_isSet(true);
        }
        if (incoming.get(1)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class deleteBlob_args implements org.apache.storm.thrift.TBase<deleteBlob_args, deleteBlob_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteBlob_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("deleteBlob_args");

    private static final org.apache.storm.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("key", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteBlob_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteBlob_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      KEY((short)1, "key");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.KEY, new org.apache.storm.thrift.meta_data.FieldMetaData("key", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteBlob_args.class, metaDataMap);
    }

    public deleteBlob_args() {
    }

    public deleteBlob_args(
      java.lang.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;
      }
    }

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

    @Override
    public void clear() {
      this.key = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_key() {
      return this.key;
    }

    public void set_key(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case KEY:
        if (value == null) {
          unset_key();
        } else {
          set_key((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case KEY:
        return get_key();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case KEY:
        return is_set_key();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof deleteBlob_args)
        return this.equals((deleteBlob_args)that);
      return false;
    }

    public boolean equals(deleteBlob_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_key()) ? 131071 : 524287);
      if (is_set_key())
        hashCode = hashCode * 8191 + key.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_key(), other.is_set_key());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_key()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.key, other.key);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class deleteBlob_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public deleteBlob_argsStandardScheme getScheme() {
        return new deleteBlob_argsStandardScheme();
      }
    }

    private static class deleteBlob_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<deleteBlob_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, deleteBlob_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // KEY
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.key = iprot.readString();
                struct.set_key_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, deleteBlob_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public deleteBlob_argsTupleScheme getScheme() {
        return new deleteBlob_argsTupleScheme();
      }
    }

    private static class deleteBlob_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<deleteBlob_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, deleteBlob_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, deleteBlob_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.key = iprot.readString();
          struct.set_key_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class deleteBlob_result implements org.apache.storm.thrift.TBase<deleteBlob_result, deleteBlob_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteBlob_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("deleteBlob_result");

    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField KNF_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("knf", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);
    private static final org.apache.storm.thrift.protocol.TField ISE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("ise", org.apache.storm.thrift.protocol.TType.STRUCT, (short)3);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteBlob_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteBlob_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required
    private @org.apache.storm.thrift.annotation.Nullable KeyNotFoundException knf; // required
    private @org.apache.storm.thrift.annotation.Nullable IllegalStateException ise; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      AZE((short)1, "aze"),
      KNF((short)2, "knf"),
      ISE((short)3, "ise");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // AZE
            return AZE;
          case 2: // KNF
            return KNF;
          case 3: // ISE
            return ISE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      tmpMap.put(_Fields.KNF, new org.apache.storm.thrift.meta_data.FieldMetaData("knf", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, KeyNotFoundException.class)));
      tmpMap.put(_Fields.ISE, new org.apache.storm.thrift.meta_data.FieldMetaData("ise", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, IllegalStateException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteBlob_result.class, metaDataMap);
    }

    public deleteBlob_result() {
    }

    public deleteBlob_result(
      AuthorizationException aze,
      KeyNotFoundException knf,
      IllegalStateException ise)
    {
      this();
      this.aze = aze;
      this.knf = knf;
      this.ise = ise;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public deleteBlob_result(deleteBlob_result other) {
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
      if (other.is_set_knf()) {
        this.knf = new KeyNotFoundException(other.knf);
      }
      if (other.is_set_ise()) {
        this.ise = new IllegalStateException(other.ise);
      }
    }

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

    @Override
    public void clear() {
      this.aze = null;
      this.knf = null;
      this.ise = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public KeyNotFoundException get_knf() {
      return this.knf;
    }

    public void set_knf(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public IllegalStateException get_ise() {
      return this.ise;
    }

    public void set_ise(@org.apache.storm.thrift.annotation.Nullable IllegalStateException ise) {
      this.ise = ise;
    }

    public void unset_ise() {
      this.ise = null;
    }

    /** Returns true if field ise is set (has been assigned a value) and false otherwise */
    public boolean is_set_ise() {
      return this.ise != null;
    }

    public void set_ise_isSet(boolean value) {
      if (!value) {
        this.ise = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      case KNF:
        if (value == null) {
          unset_knf();
        } else {
          set_knf((KeyNotFoundException)value);
        }
        break;

      case ISE:
        if (value == null) {
          unset_ise();
        } else {
          set_ise((IllegalStateException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case AZE:
        return get_aze();

      case KNF:
        return get_knf();

      case ISE:
        return get_ise();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case AZE:
        return is_set_aze();
      case KNF:
        return is_set_knf();
      case ISE:
        return is_set_ise();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof deleteBlob_result)
        return this.equals((deleteBlob_result)that);
      return false;
    }

    public boolean equals(deleteBlob_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          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;
      }

      boolean this_present_ise = true && this.is_set_ise();
      boolean that_present_ise = true && that.is_set_ise();
      if (this_present_ise || that_present_ise) {
        if (!(this_present_ise && that_present_ise))
          return false;
        if (!this.ise.equals(that.ise))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      hashCode = hashCode * 8191 + ((is_set_knf()) ? 131071 : 524287);
      if (is_set_knf())
        hashCode = hashCode * 8191 + knf.hashCode();

      hashCode = hashCode * 8191 + ((is_set_ise()) ? 131071 : 524287);
      if (is_set_ise())
        hashCode = hashCode * 8191 + ise.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_knf(), other.is_set_knf());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_knf()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.knf, other.knf);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_ise(), other.is_set_ise());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_ise()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.ise, other.ise);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("deleteBlob_result(");
      boolean first = true;

      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("knf:");
      if (this.knf == null) {
        sb.append("null");
      } else {
        sb.append(this.knf);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ise:");
      if (this.ise == null) {
        sb.append("null");
      } else {
        sb.append(this.ise);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class deleteBlob_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public deleteBlob_resultStandardScheme getScheme() {
        return new deleteBlob_resultStandardScheme();
      }
    }

    private static class deleteBlob_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<deleteBlob_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, deleteBlob_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // KNF
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.knf = new KeyNotFoundException();
                struct.knf.read(iprot);
                struct.set_knf_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // ISE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.ise = new IllegalStateException();
                struct.ise.read(iprot);
                struct.set_ise_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, deleteBlob_result struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        if (struct.knf != null) {
          oprot.writeFieldBegin(KNF_FIELD_DESC);
          struct.knf.write(oprot);
          oprot.writeFieldEnd();
        }
        if (struct.ise != null) {
          oprot.writeFieldBegin(ISE_FIELD_DESC);
          struct.ise.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class deleteBlob_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public deleteBlob_resultTupleScheme getScheme() {
        return new deleteBlob_resultTupleScheme();
      }
    }

    private static class deleteBlob_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<deleteBlob_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, deleteBlob_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_aze()) {
          optionals.set(0);
        }
        if (struct.is_set_knf()) {
          optionals.set(1);
        }
        if (struct.is_set_ise()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
        if (struct.is_set_knf()) {
          struct.knf.write(oprot);
        }
        if (struct.is_set_ise()) {
          struct.ise.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, deleteBlob_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
        if (incoming.get(1)) {
          struct.knf = new KeyNotFoundException();
          struct.knf.read(iprot);
          struct.set_knf_isSet(true);
        }
        if (incoming.get(2)) {
          struct.ise = new IllegalStateException();
          struct.ise.read(iprot);
          struct.set_ise_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class listBlobs_args implements org.apache.storm.thrift.TBase<listBlobs_args, listBlobs_args._Fields>, java.io.Serializable, Cloneable, Comparable<listBlobs_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("listBlobs_args");

    private static final org.apache.storm.thrift.protocol.TField SESSION_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("session", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listBlobs_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listBlobs_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      SESSION((short)1, "session");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SESSION, new org.apache.storm.thrift.meta_data.FieldMetaData("session", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(listBlobs_args.class, metaDataMap);
    }

    public listBlobs_args() {
    }

    public listBlobs_args(
      java.lang.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;
      }
    }

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

    @Override
    public void clear() {
      this.session = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_session() {
      return this.session;
    }

    public void set_session(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SESSION:
        if (value == null) {
          unset_session();
        } else {
          set_session((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SESSION:
        return get_session();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SESSION:
        return is_set_session();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof listBlobs_args)
        return this.equals((listBlobs_args)that);
      return false;
    }

    public boolean equals(listBlobs_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_session()) ? 131071 : 524287);
      if (is_set_session())
        hashCode = hashCode * 8191 + session.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_session(), other.is_set_session());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_session()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.session, other.session);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class listBlobs_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public listBlobs_argsStandardScheme getScheme() {
        return new listBlobs_argsStandardScheme();
      }
    }

    private static class listBlobs_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<listBlobs_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, listBlobs_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // SESSION
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.session = iprot.readString();
                struct.set_session_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, listBlobs_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public listBlobs_argsTupleScheme getScheme() {
        return new listBlobs_argsTupleScheme();
      }
    }

    private static class listBlobs_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<listBlobs_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, listBlobs_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, listBlobs_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.session = iprot.readString();
          struct.set_session_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class listBlobs_result implements org.apache.storm.thrift.TBase<listBlobs_result, listBlobs_result._Fields>, java.io.Serializable, Cloneable, Comparable<listBlobs_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("listBlobs_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRUCT, (short)0);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listBlobs_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listBlobs_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable 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.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, ListBlobsResult.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.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);
      }
    }

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

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

    @org.apache.storm.thrift.annotation.Nullable
    public ListBlobsResult get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((ListBlobsResult)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof listBlobs_result)
        return this.equals((listBlobs_result)that);
      return false;
    }

    public boolean equals(listBlobs_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class listBlobs_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public listBlobs_resultStandardScheme getScheme() {
        return new listBlobs_resultStandardScheme();
      }
    }

    private static class listBlobs_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<listBlobs_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, listBlobs_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.success = new ListBlobsResult();
                struct.success.read(iprot);
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, listBlobs_result struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public listBlobs_resultTupleScheme getScheme() {
        return new listBlobs_resultTupleScheme();
      }
    }

    private static class listBlobs_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<listBlobs_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, listBlobs_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, listBlobs_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.success = new ListBlobsResult();
          struct.success.read(iprot);
          struct.set_success_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getBlobReplication_args implements org.apache.storm.thrift.TBase<getBlobReplication_args, getBlobReplication_args._Fields>, java.io.Serializable, Cloneable, Comparable<getBlobReplication_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getBlobReplication_args");

    private static final org.apache.storm.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("key", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getBlobReplication_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getBlobReplication_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      KEY((short)1, "key");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.KEY, new org.apache.storm.thrift.meta_data.FieldMetaData("key", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBlobReplication_args.class, metaDataMap);
    }

    public getBlobReplication_args() {
    }

    public getBlobReplication_args(
      java.lang.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;
      }
    }

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

    @Override
    public void clear() {
      this.key = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_key() {
      return this.key;
    }

    public void set_key(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case KEY:
        if (value == null) {
          unset_key();
        } else {
          set_key((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case KEY:
        return get_key();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case KEY:
        return is_set_key();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getBlobReplication_args)
        return this.equals((getBlobReplication_args)that);
      return false;
    }

    public boolean equals(getBlobReplication_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_key()) ? 131071 : 524287);
      if (is_set_key())
        hashCode = hashCode * 8191 + key.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_key(), other.is_set_key());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_key()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.key, other.key);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getBlobReplication_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getBlobReplication_argsStandardScheme getScheme() {
        return new getBlobReplication_argsStandardScheme();
      }
    }

    private static class getBlobReplication_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getBlobReplication_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getBlobReplication_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // KEY
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.key = iprot.readString();
                struct.set_key_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getBlobReplication_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getBlobReplication_argsTupleScheme getScheme() {
        return new getBlobReplication_argsTupleScheme();
      }
    }

    private static class getBlobReplication_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getBlobReplication_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getBlobReplication_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, getBlobReplication_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.key = iprot.readString();
          struct.set_key_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getBlobReplication_result implements org.apache.storm.thrift.TBase<getBlobReplication_result, getBlobReplication_result._Fields>, java.io.Serializable, Cloneable, Comparable<getBlobReplication_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getBlobReplication_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.I32, (short)0);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField KNF_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("knf", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getBlobReplication_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getBlobReplication_resultTupleSchemeFactory();

    private int success; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required
    private @org.apache.storm.thrift.annotation.Nullable 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.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      AZE((short)1, "aze"),
      KNF((short)2, "knf");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // AZE
            return AZE;
          case 2: // 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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private byte __isset_bitfield = 0;
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.I32)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      tmpMap.put(_Fields.KNF, new org.apache.storm.thrift.meta_data.FieldMetaData("knf", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, KeyNotFoundException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBlobReplication_result.class, metaDataMap);
    }

    public getBlobReplication_result() {
    }

    public getBlobReplication_result(
      int success,
      AuthorizationException aze,
      KeyNotFoundException knf)
    {
      this();
      this.success = success;
      set_success_isSet(true);
      this.aze = aze;
      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_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
      if (other.is_set_knf()) {
        this.knf = new KeyNotFoundException(other.knf);
      }
    }

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

    @Override
    public void clear() {
      set_success_isSet(false);
      this.success = 0;
      this.aze = null;
      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 = org.apache.storm.thrift.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 org.apache.storm.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
    }

    public void set_success_isSet(boolean value) {
      __isset_bitfield = org.apache.storm.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public KeyNotFoundException get_knf() {
      return this.knf;
    }

    public void set_knf(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((java.lang.Integer)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      case KNF:
        if (value == null) {
          unset_knf();
        } else {
          set_knf((KeyNotFoundException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case AZE:
        return get_aze();

      case KNF:
        return get_knf();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case AZE:
        return is_set_aze();
      case KNF:
        return is_set_knf();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getBlobReplication_result)
        return this.equals((getBlobReplication_result)that);
      return false;
    }

    public boolean equals(getBlobReplication_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + success;

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      hashCode = hashCode * 8191 + ((is_set_knf()) ? 131071 : 524287);
      if (is_set_knf())
        hashCode = hashCode * 8191 + knf.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_knf(), other.is_set_knf());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_knf()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.knf, other.knf);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getBlobReplication_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        // 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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getBlobReplication_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getBlobReplication_resultStandardScheme getScheme() {
        return new getBlobReplication_resultStandardScheme();
      }
    }

    private static class getBlobReplication_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getBlobReplication_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getBlobReplication_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.I32) {
                struct.success = iprot.readI32();
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // KNF
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.knf = new KeyNotFoundException();
                struct.knf.read(iprot);
                struct.set_knf_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getBlobReplication_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.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 getBlobReplication_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getBlobReplication_resultTupleScheme getScheme() {
        return new getBlobReplication_resultTupleScheme();
      }
    }

    private static class getBlobReplication_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getBlobReplication_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getBlobReplication_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        if (struct.is_set_knf()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_success()) {
          oprot.writeI32(struct.success);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
        if (struct.is_set_knf()) {
          struct.knf.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getBlobReplication_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.success = iprot.readI32();
          struct.set_success_isSet(true);
        }
        if (incoming.get(1)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
        if (incoming.get(2)) {
          struct.knf = new KeyNotFoundException();
          struct.knf.read(iprot);
          struct.set_knf_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class updateBlobReplication_args implements org.apache.storm.thrift.TBase<updateBlobReplication_args, updateBlobReplication_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateBlobReplication_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("updateBlobReplication_args");

    private static final org.apache.storm.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("key", org.apache.storm.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.storm.thrift.protocol.TField REPLICATION_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("replication", org.apache.storm.thrift.protocol.TType.I32, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateBlobReplication_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateBlobReplication_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      KEY((short)1, "key"),
      REPLICATION((short)2, "replication");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __REPLICATION_ISSET_ID = 0;
    private byte __isset_bitfield = 0;
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.KEY, new org.apache.storm.thrift.meta_data.FieldMetaData("key", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.REPLICATION, new org.apache.storm.thrift.meta_data.FieldMetaData("replication", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.I32)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateBlobReplication_args.class, metaDataMap);
    }

    public updateBlobReplication_args() {
    }

    public updateBlobReplication_args(
      java.lang.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;
    }

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

    @Override
    public void clear() {
      this.key = null;
      set_replication_isSet(false);
      this.replication = 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_key() {
      return this.key;
    }

    public void set_key(@org.apache.storm.thrift.annotation.Nullable java.lang.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 = org.apache.storm.thrift.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 org.apache.storm.thrift.EncodingUtils.testBit(__isset_bitfield, __REPLICATION_ISSET_ID);
    }

    public void set_replication_isSet(boolean value) {
      __isset_bitfield = org.apache.storm.thrift.EncodingUtils.setBit(__isset_bitfield, __REPLICATION_ISSET_ID, value);
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case KEY:
        if (value == null) {
          unset_key();
        } else {
          set_key((java.lang.String)value);
        }
        break;

      case REPLICATION:
        if (value == null) {
          unset_replication();
        } else {
          set_replication((java.lang.Integer)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case KEY:
        return get_key();

      case REPLICATION:
        return get_replication();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case KEY:
        return is_set_key();
      case REPLICATION:
        return is_set_replication();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof updateBlobReplication_args)
        return this.equals((updateBlobReplication_args)that);
      return false;
    }

    public boolean equals(updateBlobReplication_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_key()) ? 131071 : 524287);
      if (is_set_key())
        hashCode = hashCode * 8191 + key.hashCode();

      hashCode = hashCode * 8191 + replication;

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_key(), other.is_set_key());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_key()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.key, other.key);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_replication(), other.is_set_replication());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_replication()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.replication, other.replication);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        // 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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class updateBlobReplication_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public updateBlobReplication_argsStandardScheme getScheme() {
        return new updateBlobReplication_argsStandardScheme();
      }
    }

    private static class updateBlobReplication_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<updateBlobReplication_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, updateBlobReplication_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // KEY
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.key = iprot.readString();
                struct.set_key_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // REPLICATION
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.I32) {
                struct.replication = iprot.readI32();
                struct.set_replication_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, updateBlobReplication_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public updateBlobReplication_argsTupleScheme getScheme() {
        return new updateBlobReplication_argsTupleScheme();
      }
    }

    private static class updateBlobReplication_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<updateBlobReplication_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, updateBlobReplication_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, updateBlobReplication_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.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);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class updateBlobReplication_result implements org.apache.storm.thrift.TBase<updateBlobReplication_result, updateBlobReplication_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateBlobReplication_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("updateBlobReplication_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.I32, (short)0);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField KNF_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("knf", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateBlobReplication_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateBlobReplication_resultTupleSchemeFactory();

    private int success; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required
    private @org.apache.storm.thrift.annotation.Nullable 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.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      AZE((short)1, "aze"),
      KNF((short)2, "knf");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // AZE
            return AZE;
          case 2: // 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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private byte __isset_bitfield = 0;
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.I32)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      tmpMap.put(_Fields.KNF, new org.apache.storm.thrift.meta_data.FieldMetaData("knf", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, KeyNotFoundException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateBlobReplication_result.class, metaDataMap);
    }

    public updateBlobReplication_result() {
    }

    public updateBlobReplication_result(
      int success,
      AuthorizationException aze,
      KeyNotFoundException knf)
    {
      this();
      this.success = success;
      set_success_isSet(true);
      this.aze = aze;
      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_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
      if (other.is_set_knf()) {
        this.knf = new KeyNotFoundException(other.knf);
      }
    }

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

    @Override
    public void clear() {
      set_success_isSet(false);
      this.success = 0;
      this.aze = null;
      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 = org.apache.storm.thrift.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 org.apache.storm.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
    }

    public void set_success_isSet(boolean value) {
      __isset_bitfield = org.apache.storm.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public KeyNotFoundException get_knf() {
      return this.knf;
    }

    public void set_knf(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((java.lang.Integer)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      case KNF:
        if (value == null) {
          unset_knf();
        } else {
          set_knf((KeyNotFoundException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case AZE:
        return get_aze();

      case KNF:
        return get_knf();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case AZE:
        return is_set_aze();
      case KNF:
        return is_set_knf();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof updateBlobReplication_result)
        return this.equals((updateBlobReplication_result)that);
      return false;
    }

    public boolean equals(updateBlobReplication_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + success;

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      hashCode = hashCode * 8191 + ((is_set_knf()) ? 131071 : 524287);
      if (is_set_knf())
        hashCode = hashCode * 8191 + knf.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_knf(), other.is_set_knf());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_knf()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.knf, other.knf);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("updateBlobReplication_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        // 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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class updateBlobReplication_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public updateBlobReplication_resultStandardScheme getScheme() {
        return new updateBlobReplication_resultStandardScheme();
      }
    }

    private static class updateBlobReplication_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<updateBlobReplication_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, updateBlobReplication_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.I32) {
                struct.success = iprot.readI32();
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // KNF
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.knf = new KeyNotFoundException();
                struct.knf.read(iprot);
                struct.set_knf_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, updateBlobReplication_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.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 updateBlobReplication_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public updateBlobReplication_resultTupleScheme getScheme() {
        return new updateBlobReplication_resultTupleScheme();
      }
    }

    private static class updateBlobReplication_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<updateBlobReplication_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, updateBlobReplication_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        if (struct.is_set_knf()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_success()) {
          oprot.writeI32(struct.success);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
        if (struct.is_set_knf()) {
          struct.knf.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, updateBlobReplication_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.success = iprot.readI32();
          struct.set_success_isSet(true);
        }
        if (incoming.get(1)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
        if (incoming.get(2)) {
          struct.knf = new KeyNotFoundException();
          struct.knf.read(iprot);
          struct.set_knf_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class createStateInZookeeper_args implements org.apache.storm.thrift.TBase<createStateInZookeeper_args, createStateInZookeeper_args._Fields>, java.io.Serializable, Cloneable, Comparable<createStateInZookeeper_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("createStateInZookeeper_args");

    private static final org.apache.storm.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("key", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createStateInZookeeper_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createStateInZookeeper_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      KEY((short)1, "key");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.KEY, new org.apache.storm.thrift.meta_data.FieldMetaData("key", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createStateInZookeeper_args.class, metaDataMap);
    }

    public createStateInZookeeper_args() {
    }

    public createStateInZookeeper_args(
      java.lang.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;
      }
    }

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

    @Override
    public void clear() {
      this.key = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_key() {
      return this.key;
    }

    public void set_key(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case KEY:
        if (value == null) {
          unset_key();
        } else {
          set_key((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case KEY:
        return get_key();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case KEY:
        return is_set_key();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof createStateInZookeeper_args)
        return this.equals((createStateInZookeeper_args)that);
      return false;
    }

    public boolean equals(createStateInZookeeper_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_key()) ? 131071 : 524287);
      if (is_set_key())
        hashCode = hashCode * 8191 + key.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_key(), other.is_set_key());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_key()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.key, other.key);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class createStateInZookeeper_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public createStateInZookeeper_argsStandardScheme getScheme() {
        return new createStateInZookeeper_argsStandardScheme();
      }
    }

    private static class createStateInZookeeper_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<createStateInZookeeper_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, createStateInZookeeper_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // KEY
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.key = iprot.readString();
                struct.set_key_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, createStateInZookeeper_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public createStateInZookeeper_argsTupleScheme getScheme() {
        return new createStateInZookeeper_argsTupleScheme();
      }
    }

    private static class createStateInZookeeper_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<createStateInZookeeper_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, createStateInZookeeper_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, createStateInZookeeper_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.key = iprot.readString();
          struct.set_key_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class createStateInZookeeper_result implements org.apache.storm.thrift.TBase<createStateInZookeeper_result, createStateInZookeeper_result._Fields>, java.io.Serializable, Cloneable, Comparable<createStateInZookeeper_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("createStateInZookeeper_result");


    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createStateInZookeeper_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = 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.storm.thrift.TFieldIdEnum {
;

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.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) {
    }

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

    @Override
    public void clear() {
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof createStateInZookeeper_result)
        return this.equals((createStateInZookeeper_result)that);
      return false;
    }

    public boolean equals(createStateInZookeeper_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      return 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;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("createStateInZookeeper_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class createStateInZookeeper_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public createStateInZookeeper_resultStandardScheme getScheme() {
        return new createStateInZookeeper_resultStandardScheme();
      }
    }

    private static class createStateInZookeeper_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<createStateInZookeeper_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, createStateInZookeeper_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, createStateInZookeeper_result struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class createStateInZookeeper_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public createStateInZookeeper_resultTupleScheme getScheme() {
        return new createStateInZookeeper_resultTupleScheme();
      }
    }

    private static class createStateInZookeeper_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<createStateInZookeeper_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, createStateInZookeeper_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, createStateInZookeeper_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class beginFileUpload_args implements org.apache.storm.thrift.TBase<beginFileUpload_args, beginFileUpload_args._Fields>, java.io.Serializable, Cloneable, Comparable<beginFileUpload_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("beginFileUpload_args");


    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new beginFileUpload_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = 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.storm.thrift.TFieldIdEnum {
;

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.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) {
    }

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

    @Override
    public void clear() {
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof beginFileUpload_args)
        return this.equals((beginFileUpload_args)that);
      return false;
    }

    public boolean equals(beginFileUpload_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      return 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;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("beginFileUpload_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class beginFileUpload_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public beginFileUpload_argsStandardScheme getScheme() {
        return new beginFileUpload_argsStandardScheme();
      }
    }

    private static class beginFileUpload_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<beginFileUpload_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, beginFileUpload_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, beginFileUpload_args struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class beginFileUpload_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public beginFileUpload_argsTupleScheme getScheme() {
        return new beginFileUpload_argsTupleScheme();
      }
    }

    private static class beginFileUpload_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<beginFileUpload_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, beginFileUpload_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, beginFileUpload_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class beginFileUpload_result implements org.apache.storm.thrift.TBase<beginFileUpload_result, beginFileUpload_result._Fields>, java.io.Serializable, Cloneable, Comparable<beginFileUpload_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("beginFileUpload_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRING, (short)0);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new beginFileUpload_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new beginFileUpload_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String success; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      AZE((short)1, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(beginFileUpload_result.class, metaDataMap);
    }

    public beginFileUpload_result() {
    }

    public beginFileUpload_result(
      java.lang.String success,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public beginFileUpload_result(beginFileUpload_result other) {
      if (other.is_set_success()) {
        this.success = other.success;
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((java.lang.String)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof beginFileUpload_result)
        return this.equals((beginFileUpload_result)that);
      return false;
    }

    public boolean equals(beginFileUpload_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("beginFileUpload_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class beginFileUpload_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public beginFileUpload_resultStandardScheme getScheme() {
        return new beginFileUpload_resultStandardScheme();
      }
    }

    private static class beginFileUpload_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<beginFileUpload_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, beginFileUpload_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, beginFileUpload_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class beginFileUpload_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public beginFileUpload_resultTupleScheme getScheme() {
        return new beginFileUpload_resultTupleScheme();
      }
    }

    private static class beginFileUpload_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<beginFileUpload_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, beginFileUpload_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_success()) {
          oprot.writeString(struct.success);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, beginFileUpload_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.set_success_isSet(true);
        }
        if (incoming.get(1)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class uploadChunk_args implements org.apache.storm.thrift.TBase<uploadChunk_args, uploadChunk_args._Fields>, java.io.Serializable, Cloneable, Comparable<uploadChunk_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("uploadChunk_args");

    private static final org.apache.storm.thrift.protocol.TField LOCATION_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("location", org.apache.storm.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.storm.thrift.protocol.TField CHUNK_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("chunk", org.apache.storm.thrift.protocol.TType.STRING, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new uploadChunk_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new uploadChunk_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String location; // required
    private @org.apache.storm.thrift.annotation.Nullable java.nio.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.storm.thrift.TFieldIdEnum {
      LOCATION((short)1, "location"),
      CHUNK((short)2, "chunk");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.LOCATION, new org.apache.storm.thrift.meta_data.FieldMetaData("location", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.CHUNK, new org.apache.storm.thrift.meta_data.FieldMetaData("chunk", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING          , true)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(uploadChunk_args.class, metaDataMap);
    }

    public uploadChunk_args() {
    }

    public uploadChunk_args(
      java.lang.String location,
      java.nio.ByteBuffer chunk)
    {
      this();
      this.location = location;
      this.chunk = org.apache.storm.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.storm.thrift.TBaseHelper.copyBinary(other.chunk);
      }
    }

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

    @Override
    public void clear() {
      this.location = null;
      this.chunk = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_location() {
      return this.location;
    }

    public void set_location(@org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TBaseHelper.rightSize(chunk));
      return chunk == null ? null : chunk.array();
    }

    public java.nio.ByteBuffer buffer_for_chunk() {
      return org.apache.storm.thrift.TBaseHelper.copyBinary(chunk);
    }

    public void set_chunk(byte[] chunk) {
      this.chunk = chunk == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(chunk.clone());
    }

    public void set_chunk(@org.apache.storm.thrift.annotation.Nullable java.nio.ByteBuffer chunk) {
      this.chunk = org.apache.storm.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case LOCATION:
        if (value == null) {
          unset_location();
        } else {
          set_location((java.lang.String)value);
        }
        break;

      case CHUNK:
        if (value == null) {
          unset_chunk();
        } else {
          if (value instanceof byte[]) {
            set_chunk((byte[])value);
          } else {
            set_chunk((java.nio.ByteBuffer)value);
          }
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case LOCATION:
        return get_location();

      case CHUNK:
        return get_chunk();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case LOCATION:
        return is_set_location();
      case CHUNK:
        return is_set_chunk();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof uploadChunk_args)
        return this.equals((uploadChunk_args)that);
      return false;
    }

    public boolean equals(uploadChunk_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_location()) ? 131071 : 524287);
      if (is_set_location())
        hashCode = hashCode * 8191 + location.hashCode();

      hashCode = hashCode * 8191 + ((is_set_chunk()) ? 131071 : 524287);
      if (is_set_chunk())
        hashCode = hashCode * 8191 + chunk.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_location(), other.is_set_location());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_location()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.location, other.location);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_chunk(), other.is_set_chunk());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_chunk()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.chunk, other.chunk);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.thrift.TBaseHelper.toString(this.chunk, sb);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class uploadChunk_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public uploadChunk_argsStandardScheme getScheme() {
        return new uploadChunk_argsStandardScheme();
      }
    }

    private static class uploadChunk_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<uploadChunk_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, uploadChunk_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // LOCATION
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.location = iprot.readString();
                struct.set_location_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // CHUNK
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.chunk = iprot.readBinary();
                struct.set_chunk_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, uploadChunk_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public uploadChunk_argsTupleScheme getScheme() {
        return new uploadChunk_argsTupleScheme();
      }
    }

    private static class uploadChunk_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<uploadChunk_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, uploadChunk_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, uploadChunk_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.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);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class uploadChunk_result implements org.apache.storm.thrift.TBase<uploadChunk_result, uploadChunk_result._Fields>, java.io.Serializable, Cloneable, Comparable<uploadChunk_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("uploadChunk_result");

    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new uploadChunk_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new uploadChunk_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      AZE((short)1, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(uploadChunk_result.class, metaDataMap);
    }

    public uploadChunk_result() {
    }

    public uploadChunk_result(
      AuthorizationException aze)
    {
      this();
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public uploadChunk_result(uploadChunk_result other) {
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof uploadChunk_result)
        return this.equals((uploadChunk_result)that);
      return false;
    }

    public boolean equals(uploadChunk_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("uploadChunk_result(");
      boolean first = true;

      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class uploadChunk_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public uploadChunk_resultStandardScheme getScheme() {
        return new uploadChunk_resultStandardScheme();
      }
    }

    private static class uploadChunk_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<uploadChunk_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, uploadChunk_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, uploadChunk_result struct) throws org.apache.storm.thrift.TException {
        struct.validate();

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

    }

    private static class uploadChunk_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public uploadChunk_resultTupleScheme getScheme() {
        return new uploadChunk_resultTupleScheme();
      }
    }

    private static class uploadChunk_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<uploadChunk_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, uploadChunk_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_aze()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, uploadChunk_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class finishFileUpload_args implements org.apache.storm.thrift.TBase<finishFileUpload_args, finishFileUpload_args._Fields>, java.io.Serializable, Cloneable, Comparable<finishFileUpload_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("finishFileUpload_args");

    private static final org.apache.storm.thrift.protocol.TField LOCATION_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("location", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new finishFileUpload_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new finishFileUpload_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      LOCATION((short)1, "location");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.LOCATION, new org.apache.storm.thrift.meta_data.FieldMetaData("location", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(finishFileUpload_args.class, metaDataMap);
    }

    public finishFileUpload_args() {
    }

    public finishFileUpload_args(
      java.lang.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;
      }
    }

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

    @Override
    public void clear() {
      this.location = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_location() {
      return this.location;
    }

    public void set_location(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case LOCATION:
        if (value == null) {
          unset_location();
        } else {
          set_location((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case LOCATION:
        return get_location();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case LOCATION:
        return is_set_location();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof finishFileUpload_args)
        return this.equals((finishFileUpload_args)that);
      return false;
    }

    public boolean equals(finishFileUpload_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_location()) ? 131071 : 524287);
      if (is_set_location())
        hashCode = hashCode * 8191 + location.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_location(), other.is_set_location());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_location()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.location, other.location);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class finishFileUpload_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public finishFileUpload_argsStandardScheme getScheme() {
        return new finishFileUpload_argsStandardScheme();
      }
    }

    private static class finishFileUpload_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<finishFileUpload_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, finishFileUpload_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // LOCATION
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.location = iprot.readString();
                struct.set_location_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, finishFileUpload_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public finishFileUpload_argsTupleScheme getScheme() {
        return new finishFileUpload_argsTupleScheme();
      }
    }

    private static class finishFileUpload_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<finishFileUpload_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, finishFileUpload_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, finishFileUpload_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.location = iprot.readString();
          struct.set_location_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class finishFileUpload_result implements org.apache.storm.thrift.TBase<finishFileUpload_result, finishFileUpload_result._Fields>, java.io.Serializable, Cloneable, Comparable<finishFileUpload_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("finishFileUpload_result");

    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new finishFileUpload_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new finishFileUpload_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      AZE((short)1, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(finishFileUpload_result.class, metaDataMap);
    }

    public finishFileUpload_result() {
    }

    public finishFileUpload_result(
      AuthorizationException aze)
    {
      this();
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public finishFileUpload_result(finishFileUpload_result other) {
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof finishFileUpload_result)
        return this.equals((finishFileUpload_result)that);
      return false;
    }

    public boolean equals(finishFileUpload_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("finishFileUpload_result(");
      boolean first = true;

      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class finishFileUpload_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public finishFileUpload_resultStandardScheme getScheme() {
        return new finishFileUpload_resultStandardScheme();
      }
    }

    private static class finishFileUpload_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<finishFileUpload_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, finishFileUpload_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, finishFileUpload_result struct) throws org.apache.storm.thrift.TException {
        struct.validate();

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

    }

    private static class finishFileUpload_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public finishFileUpload_resultTupleScheme getScheme() {
        return new finishFileUpload_resultTupleScheme();
      }
    }

    private static class finishFileUpload_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<finishFileUpload_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, finishFileUpload_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_aze()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, finishFileUpload_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class downloadChunk_args implements org.apache.storm.thrift.TBase<downloadChunk_args, downloadChunk_args._Fields>, java.io.Serializable, Cloneable, Comparable<downloadChunk_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("downloadChunk_args");

    private static final org.apache.storm.thrift.protocol.TField ID_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("id", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new downloadChunk_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new downloadChunk_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      ID((short)1, "id");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.storm.thrift.meta_data.FieldMetaData("id", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(downloadChunk_args.class, metaDataMap);
    }

    public downloadChunk_args() {
    }

    public downloadChunk_args(
      java.lang.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;
      }
    }

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

    @Override
    public void clear() {
      this.id = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_id() {
      return this.id;
    }

    public void set_id(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unset_id();
        } else {
          set_id((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return get_id();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case ID:
        return is_set_id();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof downloadChunk_args)
        return this.equals((downloadChunk_args)that);
      return false;
    }

    public boolean equals(downloadChunk_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_id()) ? 131071 : 524287);
      if (is_set_id())
        hashCode = hashCode * 8191 + id.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_id(), other.is_set_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_id()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.id, other.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class downloadChunk_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public downloadChunk_argsStandardScheme getScheme() {
        return new downloadChunk_argsStandardScheme();
      }
    }

    private static class downloadChunk_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<downloadChunk_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, downloadChunk_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // ID
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.id = iprot.readString();
                struct.set_id_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, downloadChunk_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public downloadChunk_argsTupleScheme getScheme() {
        return new downloadChunk_argsTupleScheme();
      }
    }

    private static class downloadChunk_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<downloadChunk_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, downloadChunk_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, downloadChunk_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.id = iprot.readString();
          struct.set_id_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class downloadChunk_result implements org.apache.storm.thrift.TBase<downloadChunk_result, downloadChunk_result._Fields>, java.io.Serializable, Cloneable, Comparable<downloadChunk_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("downloadChunk_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRING, (short)0);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new downloadChunk_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new downloadChunk_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.nio.ByteBuffer success; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      AZE((short)1, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING          , true)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(downloadChunk_result.class, metaDataMap);
    }

    public downloadChunk_result() {
    }

    public downloadChunk_result(
      java.nio.ByteBuffer success,
      AuthorizationException aze)
    {
      this();
      this.success = org.apache.storm.thrift.TBaseHelper.copyBinary(success);
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public downloadChunk_result(downloadChunk_result other) {
      if (other.is_set_success()) {
        this.success = org.apache.storm.thrift.TBaseHelper.copyBinary(other.success);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.aze = null;
    }

    public byte[] get_success() {
      set_success(org.apache.storm.thrift.TBaseHelper.rightSize(success));
      return success == null ? null : success.array();
    }

    public java.nio.ByteBuffer buffer_for_success() {
      return org.apache.storm.thrift.TBaseHelper.copyBinary(success);
    }

    public void set_success(byte[] success) {
      this.success = success == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(success.clone());
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable java.nio.ByteBuffer success) {
      this.success = org.apache.storm.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          if (value instanceof byte[]) {
            set_success((byte[])value);
          } else {
            set_success((java.nio.ByteBuffer)value);
          }
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof downloadChunk_result)
        return this.equals((downloadChunk_result)that);
      return false;
    }

    public boolean equals(downloadChunk_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("downloadChunk_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        org.apache.storm.thrift.TBaseHelper.toString(this.success, sb);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class downloadChunk_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public downloadChunk_resultStandardScheme getScheme() {
        return new downloadChunk_resultStandardScheme();
      }
    }

    private static class downloadChunk_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<downloadChunk_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, downloadChunk_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.success = iprot.readBinary();
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, downloadChunk_result struct) throws org.apache.storm.thrift.TException {
        struct.validate();

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

    }

    private static class downloadChunk_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public downloadChunk_resultTupleScheme getScheme() {
        return new downloadChunk_resultTupleScheme();
      }
    }

    private static class downloadChunk_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<downloadChunk_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, downloadChunk_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_success()) {
          oprot.writeBinary(struct.success);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, downloadChunk_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.success = iprot.readBinary();
          struct.set_success_isSet(true);
        }
        if (incoming.get(1)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getNimbusConf_args implements org.apache.storm.thrift.TBase<getNimbusConf_args, getNimbusConf_args._Fields>, java.io.Serializable, Cloneable, Comparable<getNimbusConf_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getNimbusConf_args");


    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getNimbusConf_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = 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.storm.thrift.TFieldIdEnum {
;

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.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) {
    }

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

    @Override
    public void clear() {
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getNimbusConf_args)
        return this.equals((getNimbusConf_args)that);
      return false;
    }

    public boolean equals(getNimbusConf_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      return 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;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getNimbusConf_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getNimbusConf_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getNimbusConf_argsStandardScheme getScheme() {
        return new getNimbusConf_argsStandardScheme();
      }
    }

    private static class getNimbusConf_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getNimbusConf_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getNimbusConf_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getNimbusConf_args struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getNimbusConf_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getNimbusConf_argsTupleScheme getScheme() {
        return new getNimbusConf_argsTupleScheme();
      }
    }

    private static class getNimbusConf_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getNimbusConf_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getNimbusConf_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getNimbusConf_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getNimbusConf_result implements org.apache.storm.thrift.TBase<getNimbusConf_result, getNimbusConf_result._Fields>, java.io.Serializable, Cloneable, Comparable<getNimbusConf_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getNimbusConf_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRING, (short)0);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getNimbusConf_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getNimbusConf_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String success; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      AZE((short)1, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getNimbusConf_result.class, metaDataMap);
    }

    public getNimbusConf_result() {
    }

    public getNimbusConf_result(
      java.lang.String success,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getNimbusConf_result(getNimbusConf_result other) {
      if (other.is_set_success()) {
        this.success = other.success;
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((java.lang.String)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getNimbusConf_result)
        return this.equals((getNimbusConf_result)that);
      return false;
    }

    public boolean equals(getNimbusConf_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getNimbusConf_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getNimbusConf_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getNimbusConf_resultStandardScheme getScheme() {
        return new getNimbusConf_resultStandardScheme();
      }
    }

    private static class getNimbusConf_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getNimbusConf_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getNimbusConf_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getNimbusConf_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getNimbusConf_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getNimbusConf_resultTupleScheme getScheme() {
        return new getNimbusConf_resultTupleScheme();
      }
    }

    private static class getNimbusConf_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getNimbusConf_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getNimbusConf_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_success()) {
          oprot.writeString(struct.success);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getNimbusConf_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.success = iprot.readString();
          struct.set_success_isSet(true);
        }
        if (incoming.get(1)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getClusterInfo_args implements org.apache.storm.thrift.TBase<getClusterInfo_args, getClusterInfo_args._Fields>, java.io.Serializable, Cloneable, Comparable<getClusterInfo_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getClusterInfo_args");


    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getClusterInfo_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = 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.storm.thrift.TFieldIdEnum {
;

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.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) {
    }

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

    @Override
    public void clear() {
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getClusterInfo_args)
        return this.equals((getClusterInfo_args)that);
      return false;
    }

    public boolean equals(getClusterInfo_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      return 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;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getClusterInfo_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getClusterInfo_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getClusterInfo_argsStandardScheme getScheme() {
        return new getClusterInfo_argsStandardScheme();
      }
    }

    private static class getClusterInfo_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getClusterInfo_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getClusterInfo_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getClusterInfo_args struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getClusterInfo_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getClusterInfo_argsTupleScheme getScheme() {
        return new getClusterInfo_argsTupleScheme();
      }
    }

    private static class getClusterInfo_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getClusterInfo_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getClusterInfo_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getClusterInfo_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getClusterInfo_result implements org.apache.storm.thrift.TBase<getClusterInfo_result, getClusterInfo_result._Fields>, java.io.Serializable, Cloneable, Comparable<getClusterInfo_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getClusterInfo_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getClusterInfo_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getClusterInfo_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable ClusterSummary success; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      AZE((short)1, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, ClusterSummary.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getClusterInfo_result.class, metaDataMap);
    }

    public getClusterInfo_result() {
    }

    public getClusterInfo_result(
      ClusterSummary success,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      this.aze = aze;
    }

    /**
     * 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);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public ClusterSummary get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((ClusterSummary)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getClusterInfo_result)
        return this.equals((getClusterInfo_result)that);
      return false;
    }

    public boolean equals(getClusterInfo_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getClusterInfo_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getClusterInfo_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getClusterInfo_resultStandardScheme getScheme() {
        return new getClusterInfo_resultStandardScheme();
      }
    }

    private static class getClusterInfo_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getClusterInfo_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getClusterInfo_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.success = new ClusterSummary();
                struct.success.read(iprot);
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getClusterInfo_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getClusterInfo_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getClusterInfo_resultTupleScheme getScheme() {
        return new getClusterInfo_resultTupleScheme();
      }
    }

    private static class getClusterInfo_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getClusterInfo_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getClusterInfo_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_success()) {
          struct.success.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getClusterInfo_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.success = new ClusterSummary();
          struct.success.read(iprot);
          struct.set_success_isSet(true);
        }
        if (incoming.get(1)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopologySummaries_args implements org.apache.storm.thrift.TBase<getTopologySummaries_args, getTopologySummaries_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologySummaries_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopologySummaries_args");


    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopologySummaries_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopologySummaries_argsTupleSchemeFactory();


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
;

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologySummaries_args.class, metaDataMap);
    }

    public getTopologySummaries_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTopologySummaries_args(getTopologySummaries_args other) {
    }

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

    @Override
    public void clear() {
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopologySummaries_args)
        return this.equals((getTopologySummaries_args)that);
      return false;
    }

    public boolean equals(getTopologySummaries_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      return hashCode;
    }

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

      int lastComparison = 0;

      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getTopologySummaries_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopologySummaries_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologySummaries_argsStandardScheme getScheme() {
        return new getTopologySummaries_argsStandardScheme();
      }
    }

    private static class getTopologySummaries_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopologySummaries_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopologySummaries_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopologySummaries_args struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTopologySummaries_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologySummaries_argsTupleScheme getScheme() {
        return new getTopologySummaries_argsTupleScheme();
      }
    }

    private static class getTopologySummaries_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopologySummaries_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopologySummaries_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getTopologySummaries_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopologySummaries_result implements org.apache.storm.thrift.TBase<getTopologySummaries_result, getTopologySummaries_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologySummaries_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopologySummaries_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopologySummaries_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopologySummaries_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.util.List<TopologySummary> success; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      AZE((short)1, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.ListMetaData(org.apache.storm.thrift.protocol.TType.LIST, 
              new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, TopologySummary.class))));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologySummaries_result.class, metaDataMap);
    }

    public getTopologySummaries_result() {
    }

    public getTopologySummaries_result(
      java.util.List<TopologySummary> success,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTopologySummaries_result(getTopologySummaries_result other) {
      if (other.is_set_success()) {
        java.util.List<TopologySummary> __this__success = new java.util.ArrayList<TopologySummary>(other.success.size());
        for (TopologySummary other_element : other.success) {
          __this__success.add(new TopologySummary(other_element));
        }
        this.success = __this__success;
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.aze = null;
    }

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

    @org.apache.storm.thrift.annotation.Nullable
    public java.util.Iterator<TopologySummary> get_success_iterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void add_to_success(TopologySummary elem) {
      if (this.success == null) {
        this.success = new java.util.ArrayList<TopologySummary>();
      }
      this.success.add(elem);
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.util.List<TopologySummary> get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable java.util.List<TopologySummary> 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((java.util.List<TopologySummary>)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopologySummaries_result)
        return this.equals((getTopologySummaries_result)that);
      return false;
    }

    public boolean equals(getTopologySummaries_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getTopologySummaries_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopologySummaries_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologySummaries_resultStandardScheme getScheme() {
        return new getTopologySummaries_resultStandardScheme();
      }
    }

    private static class getTopologySummaries_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopologySummaries_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopologySummaries_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.LIST) {
                {
                  org.apache.storm.thrift.protocol.TList _list978 = iprot.readListBegin();
                  struct.success = new java.util.ArrayList<TopologySummary>(_list978.size);
                  @org.apache.storm.thrift.annotation.Nullable TopologySummary _elem979;
                  for (int _i980 = 0; _i980 < _list978.size; ++_i980)
                  {
                    _elem979 = new TopologySummary();
                    _elem979.read(iprot);
                    struct.success.add(_elem979);
                  }
                  iprot.readListEnd();
                }
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopologySummaries_result struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.storm.thrift.protocol.TList(org.apache.storm.thrift.protocol.TType.STRUCT, struct.success.size()));
            for (TopologySummary _iter981 : struct.success)
            {
              _iter981.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
        if (struct.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTopologySummaries_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologySummaries_resultTupleScheme getScheme() {
        return new getTopologySummaries_resultTupleScheme();
      }
    }

    private static class getTopologySummaries_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopologySummaries_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopologySummaries_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_success()) {
          {
            oprot.writeI32(struct.success.size());
            for (TopologySummary _iter982 : struct.success)
            {
              _iter982.write(oprot);
            }
          }
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getTopologySummaries_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          {
            org.apache.storm.thrift.protocol.TList _list983 = iprot.readListBegin(org.apache.storm.thrift.protocol.TType.STRUCT);
            struct.success = new java.util.ArrayList<TopologySummary>(_list983.size);
            @org.apache.storm.thrift.annotation.Nullable TopologySummary _elem984;
            for (int _i985 = 0; _i985 < _list983.size; ++_i985)
            {
              _elem984 = new TopologySummary();
              _elem984.read(iprot);
              struct.success.add(_elem984);
            }
          }
          struct.set_success_isSet(true);
        }
        if (incoming.get(1)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopologySummaryByName_args implements org.apache.storm.thrift.TBase<getTopologySummaryByName_args, getTopologySummaryByName_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologySummaryByName_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopologySummaryByName_args");

    private static final org.apache.storm.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("name", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopologySummaryByName_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopologySummaryByName_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      NAME((short)1, "name");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NAME, new org.apache.storm.thrift.meta_data.FieldMetaData("name", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologySummaryByName_args.class, metaDataMap);
    }

    public getTopologySummaryByName_args() {
    }

    public getTopologySummaryByName_args(
      java.lang.String name)
    {
      this();
      this.name = name;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTopologySummaryByName_args(getTopologySummaryByName_args other) {
      if (other.is_set_name()) {
        this.name = other.name;
      }
    }

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

    @Override
    public void clear() {
      this.name = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_name() {
      return this.name;
    }

    public void set_name(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case NAME:
        if (value == null) {
          unset_name();
        } else {
          set_name((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case NAME:
        return get_name();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case NAME:
        return is_set_name();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopologySummaryByName_args)
        return this.equals((getTopologySummaryByName_args)that);
      return false;
    }

    public boolean equals(getTopologySummaryByName_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_name()) ? 131071 : 524287);
      if (is_set_name())
        hashCode = hashCode * 8191 + name.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_name(), other.is_set_name());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_name()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.name, other.name);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getTopologySummaryByName_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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopologySummaryByName_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologySummaryByName_argsStandardScheme getScheme() {
        return new getTopologySummaryByName_argsStandardScheme();
      }
    }

    private static class getTopologySummaryByName_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopologySummaryByName_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopologySummaryByName_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NAME
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.name = iprot.readString();
                struct.set_name_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopologySummaryByName_args struct) throws org.apache.storm.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 getTopologySummaryByName_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologySummaryByName_argsTupleScheme getScheme() {
        return new getTopologySummaryByName_argsTupleScheme();
      }
    }

    private static class getTopologySummaryByName_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopologySummaryByName_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopologySummaryByName_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, getTopologySummaryByName_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.name = iprot.readString();
          struct.set_name_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopologySummaryByName_result implements org.apache.storm.thrift.TBase<getTopologySummaryByName_result, getTopologySummaryByName_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologySummaryByName_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopologySummaryByName_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopologySummaryByName_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopologySummaryByName_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable TopologySummary success; // required
    private @org.apache.storm.thrift.annotation.Nullable NotAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E((short)1, "e"),
      AZE((short)2, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E
            return E;
          case 2: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, TopologySummary.class)));
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NotAliveException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologySummaryByName_result.class, metaDataMap);
    }

    public getTopologySummaryByName_result() {
    }

    public getTopologySummaryByName_result(
      TopologySummary success,
      NotAliveException e,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      this.e = e;
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTopologySummaryByName_result(getTopologySummaryByName_result other) {
      if (other.is_set_success()) {
        this.success = new TopologySummary(other.success);
      }
      if (other.is_set_e()) {
        this.e = new NotAliveException(other.e);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.e = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public TopologySummary get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable TopologySummary 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NotAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((TopologySummary)value);
        }
        break;

      case E:
        if (value == null) {
          unset_e();
        } else {
          set_e((NotAliveException)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case E:
        return get_e();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case E:
        return is_set_e();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopologySummaryByName_result)
        return this.equals((getTopologySummaryByName_result)that);
      return false;
    }

    public boolean equals(getTopologySummaryByName_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getTopologySummaryByName_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopologySummaryByName_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologySummaryByName_resultStandardScheme getScheme() {
        return new getTopologySummaryByName_resultStandardScheme();
      }
    }

    private static class getTopologySummaryByName_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopologySummaryByName_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopologySummaryByName_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.success = new TopologySummary();
                struct.success.read(iprot);
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new NotAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopologySummaryByName_result struct) throws org.apache.storm.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();
        }
        if (struct.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTopologySummaryByName_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologySummaryByName_resultTupleScheme getScheme() {
        return new getTopologySummaryByName_resultTupleScheme();
      }
    }

    private static class getTopologySummaryByName_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopologySummaryByName_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopologySummaryByName_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_e()) {
          optionals.set(1);
        }
        if (struct.is_set_aze()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_success()) {
          struct.success.write(oprot);
        }
        if (struct.is_set_e()) {
          struct.e.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getTopologySummaryByName_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.success = new TopologySummary();
          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);
        }
        if (incoming.get(2)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopologySummary_args implements org.apache.storm.thrift.TBase<getTopologySummary_args, getTopologySummary_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologySummary_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopologySummary_args");

    private static final org.apache.storm.thrift.protocol.TField ID_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("id", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopologySummary_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopologySummary_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      ID((short)1, "id");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.storm.thrift.meta_data.FieldMetaData("id", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologySummary_args.class, metaDataMap);
    }

    public getTopologySummary_args() {
    }

    public getTopologySummary_args(
      java.lang.String id)
    {
      this();
      this.id = id;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTopologySummary_args(getTopologySummary_args other) {
      if (other.is_set_id()) {
        this.id = other.id;
      }
    }

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

    @Override
    public void clear() {
      this.id = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_id() {
      return this.id;
    }

    public void set_id(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unset_id();
        } else {
          set_id((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return get_id();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case ID:
        return is_set_id();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopologySummary_args)
        return this.equals((getTopologySummary_args)that);
      return false;
    }

    public boolean equals(getTopologySummary_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_id()) ? 131071 : 524287);
      if (is_set_id())
        hashCode = hashCode * 8191 + id.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_id(), other.is_set_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_id()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.id, other.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getTopologySummary_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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopologySummary_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologySummary_argsStandardScheme getScheme() {
        return new getTopologySummary_argsStandardScheme();
      }
    }

    private static class getTopologySummary_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopologySummary_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopologySummary_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // ID
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.id = iprot.readString();
                struct.set_id_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopologySummary_args struct) throws org.apache.storm.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 getTopologySummary_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologySummary_argsTupleScheme getScheme() {
        return new getTopologySummary_argsTupleScheme();
      }
    }

    private static class getTopologySummary_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopologySummary_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopologySummary_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, getTopologySummary_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.id = iprot.readString();
          struct.set_id_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopologySummary_result implements org.apache.storm.thrift.TBase<getTopologySummary_result, getTopologySummary_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologySummary_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopologySummary_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopologySummary_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopologySummary_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable TopologySummary success; // required
    private @org.apache.storm.thrift.annotation.Nullable NotAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E((short)1, "e"),
      AZE((short)2, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E
            return E;
          case 2: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, TopologySummary.class)));
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NotAliveException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologySummary_result.class, metaDataMap);
    }

    public getTopologySummary_result() {
    }

    public getTopologySummary_result(
      TopologySummary success,
      NotAliveException e,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      this.e = e;
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTopologySummary_result(getTopologySummary_result other) {
      if (other.is_set_success()) {
        this.success = new TopologySummary(other.success);
      }
      if (other.is_set_e()) {
        this.e = new NotAliveException(other.e);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.e = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public TopologySummary get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable TopologySummary 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NotAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((TopologySummary)value);
        }
        break;

      case E:
        if (value == null) {
          unset_e();
        } else {
          set_e((NotAliveException)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case E:
        return get_e();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case E:
        return is_set_e();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopologySummary_result)
        return this.equals((getTopologySummary_result)that);
      return false;
    }

    public boolean equals(getTopologySummary_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getTopologySummary_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopologySummary_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologySummary_resultStandardScheme getScheme() {
        return new getTopologySummary_resultStandardScheme();
      }
    }

    private static class getTopologySummary_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopologySummary_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopologySummary_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.success = new TopologySummary();
                struct.success.read(iprot);
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new NotAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopologySummary_result struct) throws org.apache.storm.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();
        }
        if (struct.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTopologySummary_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologySummary_resultTupleScheme getScheme() {
        return new getTopologySummary_resultTupleScheme();
      }
    }

    private static class getTopologySummary_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopologySummary_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopologySummary_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_e()) {
          optionals.set(1);
        }
        if (struct.is_set_aze()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_success()) {
          struct.success.write(oprot);
        }
        if (struct.is_set_e()) {
          struct.e.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getTopologySummary_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.success = new TopologySummary();
          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);
        }
        if (incoming.get(2)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getLeader_args implements org.apache.storm.thrift.TBase<getLeader_args, getLeader_args._Fields>, java.io.Serializable, Cloneable, Comparable<getLeader_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getLeader_args");


    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getLeader_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getLeader_argsTupleSchemeFactory();


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
;

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getLeader_args.class, metaDataMap);
    }

    public getLeader_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getLeader_args(getLeader_args other) {
    }

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

    @Override
    public void clear() {
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getLeader_args)
        return this.equals((getLeader_args)that);
      return false;
    }

    public boolean equals(getLeader_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      return hashCode;
    }

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

      int lastComparison = 0;

      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getLeader_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getLeader_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getLeader_argsStandardScheme getScheme() {
        return new getLeader_argsStandardScheme();
      }
    }

    private static class getLeader_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getLeader_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getLeader_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getLeader_args struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getLeader_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getLeader_argsTupleScheme getScheme() {
        return new getLeader_argsTupleScheme();
      }
    }

    private static class getLeader_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getLeader_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getLeader_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getLeader_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getLeader_result implements org.apache.storm.thrift.TBase<getLeader_result, getLeader_result._Fields>, java.io.Serializable, Cloneable, Comparable<getLeader_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getLeader_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getLeader_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getLeader_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable NimbusSummary success; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      AZE((short)1, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NimbusSummary.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getLeader_result.class, metaDataMap);
    }

    public getLeader_result() {
    }

    public getLeader_result(
      NimbusSummary success,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getLeader_result(getLeader_result other) {
      if (other.is_set_success()) {
        this.success = new NimbusSummary(other.success);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NimbusSummary get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable NimbusSummary 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((NimbusSummary)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getLeader_result)
        return this.equals((getLeader_result)that);
      return false;
    }

    public boolean equals(getLeader_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getLeader_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getLeader_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getLeader_resultStandardScheme getScheme() {
        return new getLeader_resultStandardScheme();
      }
    }

    private static class getLeader_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getLeader_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getLeader_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.success = new NimbusSummary();
                struct.success.read(iprot);
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getLeader_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getLeader_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getLeader_resultTupleScheme getScheme() {
        return new getLeader_resultTupleScheme();
      }
    }

    private static class getLeader_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getLeader_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getLeader_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_success()) {
          struct.success.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getLeader_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.success = new NimbusSummary();
          struct.success.read(iprot);
          struct.set_success_isSet(true);
        }
        if (incoming.get(1)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class isTopologyNameAllowed_args implements org.apache.storm.thrift.TBase<isTopologyNameAllowed_args, isTopologyNameAllowed_args._Fields>, java.io.Serializable, Cloneable, Comparable<isTopologyNameAllowed_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("isTopologyNameAllowed_args");

    private static final org.apache.storm.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("name", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isTopologyNameAllowed_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isTopologyNameAllowed_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      NAME((short)1, "name");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NAME, new org.apache.storm.thrift.meta_data.FieldMetaData("name", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isTopologyNameAllowed_args.class, metaDataMap);
    }

    public isTopologyNameAllowed_args() {
    }

    public isTopologyNameAllowed_args(
      java.lang.String name)
    {
      this();
      this.name = name;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public isTopologyNameAllowed_args(isTopologyNameAllowed_args other) {
      if (other.is_set_name()) {
        this.name = other.name;
      }
    }

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

    @Override
    public void clear() {
      this.name = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_name() {
      return this.name;
    }

    public void set_name(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case NAME:
        if (value == null) {
          unset_name();
        } else {
          set_name((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case NAME:
        return get_name();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case NAME:
        return is_set_name();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof isTopologyNameAllowed_args)
        return this.equals((isTopologyNameAllowed_args)that);
      return false;
    }

    public boolean equals(isTopologyNameAllowed_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_name()) ? 131071 : 524287);
      if (is_set_name())
        hashCode = hashCode * 8191 + name.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_name(), other.is_set_name());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_name()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.name, other.name);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("isTopologyNameAllowed_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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class isTopologyNameAllowed_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public isTopologyNameAllowed_argsStandardScheme getScheme() {
        return new isTopologyNameAllowed_argsStandardScheme();
      }
    }

    private static class isTopologyNameAllowed_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<isTopologyNameAllowed_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, isTopologyNameAllowed_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NAME
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.name = iprot.readString();
                struct.set_name_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, isTopologyNameAllowed_args struct) throws org.apache.storm.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 isTopologyNameAllowed_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public isTopologyNameAllowed_argsTupleScheme getScheme() {
        return new isTopologyNameAllowed_argsTupleScheme();
      }
    }

    private static class isTopologyNameAllowed_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<isTopologyNameAllowed_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, isTopologyNameAllowed_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, isTopologyNameAllowed_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.name = iprot.readString();
          struct.set_name_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class isTopologyNameAllowed_result implements org.apache.storm.thrift.TBase<isTopologyNameAllowed_result, isTopologyNameAllowed_result._Fields>, java.io.Serializable, Cloneable, Comparable<isTopologyNameAllowed_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("isTopologyNameAllowed_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isTopologyNameAllowed_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isTopologyNameAllowed_resultTupleSchemeFactory();

    private boolean success; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      AZE((short)1, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private byte __isset_bitfield = 0;
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isTopologyNameAllowed_result.class, metaDataMap);
    }

    public isTopologyNameAllowed_result() {
    }

    public isTopologyNameAllowed_result(
      boolean success,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      set_success_isSet(true);
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public isTopologyNameAllowed_result(isTopologyNameAllowed_result other) {
      __isset_bitfield = other.__isset_bitfield;
      this.success = other.success;
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      set_success_isSet(false);
      this.success = false;
      this.aze = null;
    }

    public boolean is_success() {
      return this.success;
    }

    public void set_success(boolean success) {
      this.success = success;
      set_success_isSet(true);
    }

    public void unset_success() {
      __isset_bitfield = org.apache.storm.thrift.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 org.apache.storm.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
    }

    public void set_success_isSet(boolean value) {
      __isset_bitfield = org.apache.storm.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((java.lang.Boolean)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return is_success();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof isTopologyNameAllowed_result)
        return this.equals((isTopologyNameAllowed_result)that);
      return false;
    }

    public boolean equals(isTopologyNameAllowed_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("isTopologyNameAllowed_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        // 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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class isTopologyNameAllowed_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public isTopologyNameAllowed_resultStandardScheme getScheme() {
        return new isTopologyNameAllowed_resultStandardScheme();
      }
    }

    private static class isTopologyNameAllowed_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<isTopologyNameAllowed_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, isTopologyNameAllowed_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.BOOL) {
                struct.success = iprot.readBool();
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, isTopologyNameAllowed_result struct) throws org.apache.storm.thrift.TException {
        struct.validate();

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

    }

    private static class isTopologyNameAllowed_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public isTopologyNameAllowed_resultTupleScheme getScheme() {
        return new isTopologyNameAllowed_resultTupleScheme();
      }
    }

    private static class isTopologyNameAllowed_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<isTopologyNameAllowed_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, isTopologyNameAllowed_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_success()) {
          oprot.writeBool(struct.success);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, isTopologyNameAllowed_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.success = iprot.readBool();
          struct.set_success_isSet(true);
        }
        if (incoming.get(1)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopologyInfoByName_args implements org.apache.storm.thrift.TBase<getTopologyInfoByName_args, getTopologyInfoByName_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyInfoByName_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopologyInfoByName_args");

    private static final org.apache.storm.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("name", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopologyInfoByName_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopologyInfoByName_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      NAME((short)1, "name");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NAME, new org.apache.storm.thrift.meta_data.FieldMetaData("name", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyInfoByName_args.class, metaDataMap);
    }

    public getTopologyInfoByName_args() {
    }

    public getTopologyInfoByName_args(
      java.lang.String name)
    {
      this();
      this.name = name;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTopologyInfoByName_args(getTopologyInfoByName_args other) {
      if (other.is_set_name()) {
        this.name = other.name;
      }
    }

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

    @Override
    public void clear() {
      this.name = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_name() {
      return this.name;
    }

    public void set_name(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case NAME:
        if (value == null) {
          unset_name();
        } else {
          set_name((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case NAME:
        return get_name();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case NAME:
        return is_set_name();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopologyInfoByName_args)
        return this.equals((getTopologyInfoByName_args)that);
      return false;
    }

    public boolean equals(getTopologyInfoByName_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_name()) ? 131071 : 524287);
      if (is_set_name())
        hashCode = hashCode * 8191 + name.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_name(), other.is_set_name());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_name()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.name, other.name);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getTopologyInfoByName_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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopologyInfoByName_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyInfoByName_argsStandardScheme getScheme() {
        return new getTopologyInfoByName_argsStandardScheme();
      }
    }

    private static class getTopologyInfoByName_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopologyInfoByName_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopologyInfoByName_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NAME
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.name = iprot.readString();
                struct.set_name_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopologyInfoByName_args struct) throws org.apache.storm.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 getTopologyInfoByName_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyInfoByName_argsTupleScheme getScheme() {
        return new getTopologyInfoByName_argsTupleScheme();
      }
    }

    private static class getTopologyInfoByName_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopologyInfoByName_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyInfoByName_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, getTopologyInfoByName_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.name = iprot.readString();
          struct.set_name_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopologyInfoByName_result implements org.apache.storm.thrift.TBase<getTopologyInfoByName_result, getTopologyInfoByName_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyInfoByName_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopologyInfoByName_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopologyInfoByName_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopologyInfoByName_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable TopologyInfo success; // required
    private @org.apache.storm.thrift.annotation.Nullable NotAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E((short)1, "e"),
      AZE((short)2, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E
            return E;
          case 2: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, TopologyInfo.class)));
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NotAliveException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyInfoByName_result.class, metaDataMap);
    }

    public getTopologyInfoByName_result() {
    }

    public getTopologyInfoByName_result(
      TopologyInfo success,
      NotAliveException e,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      this.e = e;
      this.aze = aze;
    }

    /**
     * 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);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.e = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public TopologyInfo get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NotAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.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;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case E:
        return get_e();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case E:
        return is_set_e();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopologyInfoByName_result)
        return this.equals((getTopologyInfoByName_result)that);
      return false;
    }

    public boolean equals(getTopologyInfoByName_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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;
      if (!first) sb.append(", ");
      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopologyInfoByName_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyInfoByName_resultStandardScheme getScheme() {
        return new getTopologyInfoByName_resultStandardScheme();
      }
    }

    private static class getTopologyInfoByName_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopologyInfoByName_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopologyInfoByName_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.success = new TopologyInfo();
                struct.success.read(iprot);
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new NotAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopologyInfoByName_result struct) throws org.apache.storm.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();
        }
        if (struct.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTopologyInfoByName_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyInfoByName_resultTupleScheme getScheme() {
        return new getTopologyInfoByName_resultTupleScheme();
      }
    }

    private static class getTopologyInfoByName_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopologyInfoByName_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyInfoByName_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_e()) {
          optionals.set(1);
        }
        if (struct.is_set_aze()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_success()) {
          struct.success.write(oprot);
        }
        if (struct.is_set_e()) {
          struct.e.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyInfoByName_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        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);
        }
        if (incoming.get(2)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopologyInfo_args implements org.apache.storm.thrift.TBase<getTopologyInfo_args, getTopologyInfo_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyInfo_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopologyInfo_args");

    private static final org.apache.storm.thrift.protocol.TField ID_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("id", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopologyInfo_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopologyInfo_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      ID((short)1, "id");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.storm.thrift.meta_data.FieldMetaData("id", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyInfo_args.class, metaDataMap);
    }

    public getTopologyInfo_args() {
    }

    public getTopologyInfo_args(
      java.lang.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;
      }
    }

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

    @Override
    public void clear() {
      this.id = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_id() {
      return this.id;
    }

    public void set_id(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unset_id();
        } else {
          set_id((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return get_id();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case ID:
        return is_set_id();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopologyInfo_args)
        return this.equals((getTopologyInfo_args)that);
      return false;
    }

    public boolean equals(getTopologyInfo_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_id()) ? 131071 : 524287);
      if (is_set_id())
        hashCode = hashCode * 8191 + id.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_id(), other.is_set_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_id()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.id, other.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopologyInfo_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyInfo_argsStandardScheme getScheme() {
        return new getTopologyInfo_argsStandardScheme();
      }
    }

    private static class getTopologyInfo_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopologyInfo_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopologyInfo_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // ID
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.id = iprot.readString();
                struct.set_id_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopologyInfo_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyInfo_argsTupleScheme getScheme() {
        return new getTopologyInfo_argsTupleScheme();
      }
    }

    private static class getTopologyInfo_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopologyInfo_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyInfo_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, getTopologyInfo_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.id = iprot.readString();
          struct.set_id_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopologyInfo_result implements org.apache.storm.thrift.TBase<getTopologyInfo_result, getTopologyInfo_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyInfo_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopologyInfo_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopologyInfo_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopologyInfo_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable TopologyInfo success; // required
    private @org.apache.storm.thrift.annotation.Nullable NotAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E((short)1, "e"),
      AZE((short)2, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E
            return E;
          case 2: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, TopologyInfo.class)));
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NotAliveException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyInfo_result.class, metaDataMap);
    }

    public getTopologyInfo_result() {
    }

    public getTopologyInfo_result(
      TopologyInfo success,
      NotAliveException e,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      this.e = e;
      this.aze = aze;
    }

    /**
     * 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);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.e = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public TopologyInfo get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NotAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.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;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case E:
        return get_e();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case E:
        return is_set_e();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopologyInfo_result)
        return this.equals((getTopologyInfo_result)that);
      return false;
    }

    public boolean equals(getTopologyInfo_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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;
      if (!first) sb.append(", ");
      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopologyInfo_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyInfo_resultStandardScheme getScheme() {
        return new getTopologyInfo_resultStandardScheme();
      }
    }

    private static class getTopologyInfo_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopologyInfo_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopologyInfo_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.success = new TopologyInfo();
                struct.success.read(iprot);
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new NotAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopologyInfo_result struct) throws org.apache.storm.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();
        }
        if (struct.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTopologyInfo_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyInfo_resultTupleScheme getScheme() {
        return new getTopologyInfo_resultTupleScheme();
      }
    }

    private static class getTopologyInfo_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopologyInfo_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyInfo_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_e()) {
          optionals.set(1);
        }
        if (struct.is_set_aze()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_success()) {
          struct.success.write(oprot);
        }
        if (struct.is_set_e()) {
          struct.e.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyInfo_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        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);
        }
        if (incoming.get(2)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopologyInfoByNameWithOpts_args implements org.apache.storm.thrift.TBase<getTopologyInfoByNameWithOpts_args, getTopologyInfoByNameWithOpts_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyInfoByNameWithOpts_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopologyInfoByNameWithOpts_args");

    private static final org.apache.storm.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("name", org.apache.storm.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.storm.thrift.protocol.TField OPTIONS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("options", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopologyInfoByNameWithOpts_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopologyInfoByNameWithOpts_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String name; // required
    private @org.apache.storm.thrift.annotation.Nullable GetInfoOptions options; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      NAME((short)1, "name"),
      OPTIONS((short)2, "options");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NAME, new org.apache.storm.thrift.meta_data.FieldMetaData("name", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.OPTIONS, new org.apache.storm.thrift.meta_data.FieldMetaData("options", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, GetInfoOptions.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyInfoByNameWithOpts_args.class, metaDataMap);
    }

    public getTopologyInfoByNameWithOpts_args() {
    }

    public getTopologyInfoByNameWithOpts_args(
      java.lang.String name,
      GetInfoOptions options)
    {
      this();
      this.name = name;
      this.options = options;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTopologyInfoByNameWithOpts_args(getTopologyInfoByNameWithOpts_args other) {
      if (other.is_set_name()) {
        this.name = other.name;
      }
      if (other.is_set_options()) {
        this.options = new GetInfoOptions(other.options);
      }
    }

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

    @Override
    public void clear() {
      this.name = null;
      this.options = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_name() {
      return this.name;
    }

    public void set_name(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public GetInfoOptions get_options() {
      return this.options;
    }

    public void set_options(@org.apache.storm.thrift.annotation.Nullable GetInfoOptions 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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case NAME:
        if (value == null) {
          unset_name();
        } else {
          set_name((java.lang.String)value);
        }
        break;

      case OPTIONS:
        if (value == null) {
          unset_options();
        } else {
          set_options((GetInfoOptions)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case NAME:
        return get_name();

      case OPTIONS:
        return get_options();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case NAME:
        return is_set_name();
      case OPTIONS:
        return is_set_options();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopologyInfoByNameWithOpts_args)
        return this.equals((getTopologyInfoByNameWithOpts_args)that);
      return false;
    }

    public boolean equals(getTopologyInfoByNameWithOpts_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_name()) ? 131071 : 524287);
      if (is_set_name())
        hashCode = hashCode * 8191 + name.hashCode();

      hashCode = hashCode * 8191 + ((is_set_options()) ? 131071 : 524287);
      if (is_set_options())
        hashCode = hashCode * 8191 + options.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_name(), other.is_set_name());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_name()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.name, other.name);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_options(), other.is_set_options());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_options()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.options, other.options);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getTopologyInfoByNameWithOpts_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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopologyInfoByNameWithOpts_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyInfoByNameWithOpts_argsStandardScheme getScheme() {
        return new getTopologyInfoByNameWithOpts_argsStandardScheme();
      }
    }

    private static class getTopologyInfoByNameWithOpts_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopologyInfoByNameWithOpts_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopologyInfoByNameWithOpts_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NAME
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.name = iprot.readString();
                struct.set_name_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // OPTIONS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.options = new GetInfoOptions();
                struct.options.read(iprot);
                struct.set_options_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopologyInfoByNameWithOpts_args struct) throws org.apache.storm.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 getTopologyInfoByNameWithOpts_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyInfoByNameWithOpts_argsTupleScheme getScheme() {
        return new getTopologyInfoByNameWithOpts_argsTupleScheme();
      }
    }

    private static class getTopologyInfoByNameWithOpts_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopologyInfoByNameWithOpts_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyInfoByNameWithOpts_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, getTopologyInfoByNameWithOpts_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.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 GetInfoOptions();
          struct.options.read(iprot);
          struct.set_options_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopologyInfoByNameWithOpts_result implements org.apache.storm.thrift.TBase<getTopologyInfoByNameWithOpts_result, getTopologyInfoByNameWithOpts_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyInfoByNameWithOpts_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopologyInfoByNameWithOpts_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopologyInfoByNameWithOpts_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopologyInfoByNameWithOpts_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable TopologyInfo success; // required
    private @org.apache.storm.thrift.annotation.Nullable NotAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E((short)1, "e"),
      AZE((short)2, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E
            return E;
          case 2: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, TopologyInfo.class)));
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NotAliveException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyInfoByNameWithOpts_result.class, metaDataMap);
    }

    public getTopologyInfoByNameWithOpts_result() {
    }

    public getTopologyInfoByNameWithOpts_result(
      TopologyInfo success,
      NotAliveException e,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      this.e = e;
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTopologyInfoByNameWithOpts_result(getTopologyInfoByNameWithOpts_result other) {
      if (other.is_set_success()) {
        this.success = new TopologyInfo(other.success);
      }
      if (other.is_set_e()) {
        this.e = new NotAliveException(other.e);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.e = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public TopologyInfo get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NotAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.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;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case E:
        return get_e();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case E:
        return is_set_e();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopologyInfoByNameWithOpts_result)
        return this.equals((getTopologyInfoByNameWithOpts_result)that);
      return false;
    }

    public boolean equals(getTopologyInfoByNameWithOpts_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getTopologyInfoByNameWithOpts_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopologyInfoByNameWithOpts_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyInfoByNameWithOpts_resultStandardScheme getScheme() {
        return new getTopologyInfoByNameWithOpts_resultStandardScheme();
      }
    }

    private static class getTopologyInfoByNameWithOpts_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopologyInfoByNameWithOpts_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopologyInfoByNameWithOpts_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.success = new TopologyInfo();
                struct.success.read(iprot);
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new NotAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopologyInfoByNameWithOpts_result struct) throws org.apache.storm.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();
        }
        if (struct.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTopologyInfoByNameWithOpts_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyInfoByNameWithOpts_resultTupleScheme getScheme() {
        return new getTopologyInfoByNameWithOpts_resultTupleScheme();
      }
    }

    private static class getTopologyInfoByNameWithOpts_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopologyInfoByNameWithOpts_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyInfoByNameWithOpts_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_e()) {
          optionals.set(1);
        }
        if (struct.is_set_aze()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_success()) {
          struct.success.write(oprot);
        }
        if (struct.is_set_e()) {
          struct.e.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyInfoByNameWithOpts_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        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);
        }
        if (incoming.get(2)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopologyInfoWithOpts_args implements org.apache.storm.thrift.TBase<getTopologyInfoWithOpts_args, getTopologyInfoWithOpts_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyInfoWithOpts_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopologyInfoWithOpts_args");

    private static final org.apache.storm.thrift.protocol.TField ID_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("id", org.apache.storm.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.storm.thrift.protocol.TField OPTIONS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("options", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopologyInfoWithOpts_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopologyInfoWithOpts_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String id; // required
    private @org.apache.storm.thrift.annotation.Nullable GetInfoOptions options; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      ID((short)1, "id"),
      OPTIONS((short)2, "options");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ID
            return ID;
          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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.storm.thrift.meta_data.FieldMetaData("id", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.OPTIONS, new org.apache.storm.thrift.meta_data.FieldMetaData("options", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, GetInfoOptions.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyInfoWithOpts_args.class, metaDataMap);
    }

    public getTopologyInfoWithOpts_args() {
    }

    public getTopologyInfoWithOpts_args(
      java.lang.String id,
      GetInfoOptions options)
    {
      this();
      this.id = id;
      this.options = options;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTopologyInfoWithOpts_args(getTopologyInfoWithOpts_args other) {
      if (other.is_set_id()) {
        this.id = other.id;
      }
      if (other.is_set_options()) {
        this.options = new GetInfoOptions(other.options);
      }
    }

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

    @Override
    public void clear() {
      this.id = null;
      this.options = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_id() {
      return this.id;
    }

    public void set_id(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public GetInfoOptions get_options() {
      return this.options;
    }

    public void set_options(@org.apache.storm.thrift.annotation.Nullable GetInfoOptions 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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unset_id();
        } else {
          set_id((java.lang.String)value);
        }
        break;

      case OPTIONS:
        if (value == null) {
          unset_options();
        } else {
          set_options((GetInfoOptions)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return get_id();

      case OPTIONS:
        return get_options();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case ID:
        return is_set_id();
      case OPTIONS:
        return is_set_options();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopologyInfoWithOpts_args)
        return this.equals((getTopologyInfoWithOpts_args)that);
      return false;
    }

    public boolean equals(getTopologyInfoWithOpts_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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;
      }

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_id()) ? 131071 : 524287);
      if (is_set_id())
        hashCode = hashCode * 8191 + id.hashCode();

      hashCode = hashCode * 8191 + ((is_set_options()) ? 131071 : 524287);
      if (is_set_options())
        hashCode = hashCode * 8191 + options.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_id(), other.is_set_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_id()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.id, other.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_options(), other.is_set_options());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_options()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.options, other.options);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getTopologyInfoWithOpts_args(");
      boolean first = true;

      sb.append("id:");
      if (this.id == null) {
        sb.append("null");
      } else {
        sb.append(this.id);
      }
      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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopologyInfoWithOpts_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyInfoWithOpts_argsStandardScheme getScheme() {
        return new getTopologyInfoWithOpts_argsStandardScheme();
      }
    }

    private static class getTopologyInfoWithOpts_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopologyInfoWithOpts_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopologyInfoWithOpts_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // ID
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.id = iprot.readString();
                struct.set_id_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // OPTIONS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.options = new GetInfoOptions();
                struct.options.read(iprot);
                struct.set_options_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopologyInfoWithOpts_args struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.id != null) {
          oprot.writeFieldBegin(ID_FIELD_DESC);
          oprot.writeString(struct.id);
          oprot.writeFieldEnd();
        }
        if (struct.options != null) {
          oprot.writeFieldBegin(OPTIONS_FIELD_DESC);
          struct.options.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTopologyInfoWithOpts_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyInfoWithOpts_argsTupleScheme getScheme() {
        return new getTopologyInfoWithOpts_argsTupleScheme();
      }
    }

    private static class getTopologyInfoWithOpts_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopologyInfoWithOpts_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyInfoWithOpts_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_id()) {
          optionals.set(0);
        }
        if (struct.is_set_options()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_id()) {
          oprot.writeString(struct.id);
        }
        if (struct.is_set_options()) {
          struct.options.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyInfoWithOpts_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.id = iprot.readString();
          struct.set_id_isSet(true);
        }
        if (incoming.get(1)) {
          struct.options = new GetInfoOptions();
          struct.options.read(iprot);
          struct.set_options_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopologyInfoWithOpts_result implements org.apache.storm.thrift.TBase<getTopologyInfoWithOpts_result, getTopologyInfoWithOpts_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyInfoWithOpts_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopologyInfoWithOpts_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopologyInfoWithOpts_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopologyInfoWithOpts_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable TopologyInfo success; // required
    private @org.apache.storm.thrift.annotation.Nullable NotAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E((short)1, "e"),
      AZE((short)2, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E
            return E;
          case 2: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, TopologyInfo.class)));
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NotAliveException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyInfoWithOpts_result.class, metaDataMap);
    }

    public getTopologyInfoWithOpts_result() {
    }

    public getTopologyInfoWithOpts_result(
      TopologyInfo success,
      NotAliveException e,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      this.e = e;
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTopologyInfoWithOpts_result(getTopologyInfoWithOpts_result other) {
      if (other.is_set_success()) {
        this.success = new TopologyInfo(other.success);
      }
      if (other.is_set_e()) {
        this.e = new NotAliveException(other.e);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.e = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public TopologyInfo get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NotAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.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;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case E:
        return get_e();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case E:
        return is_set_e();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopologyInfoWithOpts_result)
        return this.equals((getTopologyInfoWithOpts_result)that);
      return false;
    }

    public boolean equals(getTopologyInfoWithOpts_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getTopologyInfoWithOpts_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopologyInfoWithOpts_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyInfoWithOpts_resultStandardScheme getScheme() {
        return new getTopologyInfoWithOpts_resultStandardScheme();
      }
    }

    private static class getTopologyInfoWithOpts_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopologyInfoWithOpts_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopologyInfoWithOpts_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.success = new TopologyInfo();
                struct.success.read(iprot);
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new NotAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopologyInfoWithOpts_result struct) throws org.apache.storm.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();
        }
        if (struct.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTopologyInfoWithOpts_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyInfoWithOpts_resultTupleScheme getScheme() {
        return new getTopologyInfoWithOpts_resultTupleScheme();
      }
    }

    private static class getTopologyInfoWithOpts_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopologyInfoWithOpts_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyInfoWithOpts_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_e()) {
          optionals.set(1);
        }
        if (struct.is_set_aze()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_success()) {
          struct.success.write(oprot);
        }
        if (struct.is_set_e()) {
          struct.e.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyInfoWithOpts_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        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);
        }
        if (incoming.get(2)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopologyPageInfo_args implements org.apache.storm.thrift.TBase<getTopologyPageInfo_args, getTopologyPageInfo_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyPageInfo_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopologyPageInfo_args");

    private static final org.apache.storm.thrift.protocol.TField ID_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("id", org.apache.storm.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.storm.thrift.protocol.TField WINDOW_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("window", org.apache.storm.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.storm.thrift.protocol.TField IS_INCLUDE_SYS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("is_include_sys", org.apache.storm.thrift.protocol.TType.BOOL, (short)3);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopologyPageInfo_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopologyPageInfo_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String id; // required
    private @org.apache.storm.thrift.annotation.Nullable java.lang.String window; // required
    private boolean is_include_sys; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      ID((short)1, "id"),
      WINDOW((short)2, "window"),
      IS_INCLUDE_SYS((short)3, "is_include_sys");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ID
            return ID;
          case 2: // WINDOW
            return WINDOW;
          case 3: // IS_INCLUDE_SYS
            return IS_INCLUDE_SYS;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __IS_INCLUDE_SYS_ISSET_ID = 0;
    private byte __isset_bitfield = 0;
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.storm.thrift.meta_data.FieldMetaData("id", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.WINDOW, new org.apache.storm.thrift.meta_data.FieldMetaData("window", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.IS_INCLUDE_SYS, new org.apache.storm.thrift.meta_data.FieldMetaData("is_include_sys", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.BOOL)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyPageInfo_args.class, metaDataMap);
    }

    public getTopologyPageInfo_args() {
    }

    public getTopologyPageInfo_args(
      java.lang.String id,
      java.lang.String window,
      boolean is_include_sys)
    {
      this();
      this.id = id;
      this.window = window;
      this.is_include_sys = is_include_sys;
      set_is_include_sys_isSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTopologyPageInfo_args(getTopologyPageInfo_args other) {
      __isset_bitfield = other.__isset_bitfield;
      if (other.is_set_id()) {
        this.id = other.id;
      }
      if (other.is_set_window()) {
        this.window = other.window;
      }
      this.is_include_sys = other.is_include_sys;
    }

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

    @Override
    public void clear() {
      this.id = null;
      this.window = null;
      set_is_include_sys_isSet(false);
      this.is_include_sys = false;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_id() {
      return this.id;
    }

    public void set_id(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_window() {
      return this.window;
    }

    public void set_window(@org.apache.storm.thrift.annotation.Nullable java.lang.String window) {
      this.window = window;
    }

    public void unset_window() {
      this.window = null;
    }

    /** Returns true if field window is set (has been assigned a value) and false otherwise */
    public boolean is_set_window() {
      return this.window != null;
    }

    public void set_window_isSet(boolean value) {
      if (!value) {
        this.window = null;
      }
    }

    public boolean is_is_include_sys() {
      return this.is_include_sys;
    }

    public void set_is_include_sys(boolean is_include_sys) {
      this.is_include_sys = is_include_sys;
      set_is_include_sys_isSet(true);
    }

    public void unset_is_include_sys() {
      __isset_bitfield = org.apache.storm.thrift.EncodingUtils.clearBit(__isset_bitfield, __IS_INCLUDE_SYS_ISSET_ID);
    }

    /** Returns true if field is_include_sys is set (has been assigned a value) and false otherwise */
    public boolean is_set_is_include_sys() {
      return org.apache.storm.thrift.EncodingUtils.testBit(__isset_bitfield, __IS_INCLUDE_SYS_ISSET_ID);
    }

    public void set_is_include_sys_isSet(boolean value) {
      __isset_bitfield = org.apache.storm.thrift.EncodingUtils.setBit(__isset_bitfield, __IS_INCLUDE_SYS_ISSET_ID, value);
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unset_id();
        } else {
          set_id((java.lang.String)value);
        }
        break;

      case WINDOW:
        if (value == null) {
          unset_window();
        } else {
          set_window((java.lang.String)value);
        }
        break;

      case IS_INCLUDE_SYS:
        if (value == null) {
          unset_is_include_sys();
        } else {
          set_is_include_sys((java.lang.Boolean)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return get_id();

      case WINDOW:
        return get_window();

      case IS_INCLUDE_SYS:
        return is_is_include_sys();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case ID:
        return is_set_id();
      case WINDOW:
        return is_set_window();
      case IS_INCLUDE_SYS:
        return is_set_is_include_sys();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopologyPageInfo_args)
        return this.equals((getTopologyPageInfo_args)that);
      return false;
    }

    public boolean equals(getTopologyPageInfo_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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;
      }

      boolean this_present_window = true && this.is_set_window();
      boolean that_present_window = true && that.is_set_window();
      if (this_present_window || that_present_window) {
        if (!(this_present_window && that_present_window))
          return false;
        if (!this.window.equals(that.window))
          return false;
      }

      boolean this_present_is_include_sys = true;
      boolean that_present_is_include_sys = true;
      if (this_present_is_include_sys || that_present_is_include_sys) {
        if (!(this_present_is_include_sys && that_present_is_include_sys))
          return false;
        if (this.is_include_sys != that.is_include_sys)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_id()) ? 131071 : 524287);
      if (is_set_id())
        hashCode = hashCode * 8191 + id.hashCode();

      hashCode = hashCode * 8191 + ((is_set_window()) ? 131071 : 524287);
      if (is_set_window())
        hashCode = hashCode * 8191 + window.hashCode();

      hashCode = hashCode * 8191 + ((is_include_sys) ? 131071 : 524287);

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_id(), other.is_set_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_id()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.id, other.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_window(), other.is_set_window());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_window()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.window, other.window);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_is_include_sys(), other.is_set_is_include_sys());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_is_include_sys()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.is_include_sys, other.is_include_sys);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getTopologyPageInfo_args(");
      boolean first = true;

      sb.append("id:");
      if (this.id == null) {
        sb.append("null");
      } else {
        sb.append(this.id);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("window:");
      if (this.window == null) {
        sb.append("null");
      } else {
        sb.append(this.window);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("is_include_sys:");
      sb.append(this.is_include_sys);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        // 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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopologyPageInfo_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyPageInfo_argsStandardScheme getScheme() {
        return new getTopologyPageInfo_argsStandardScheme();
      }
    }

    private static class getTopologyPageInfo_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopologyPageInfo_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopologyPageInfo_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // ID
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.id = iprot.readString();
                struct.set_id_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // WINDOW
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.window = iprot.readString();
                struct.set_window_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // IS_INCLUDE_SYS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.BOOL) {
                struct.is_include_sys = iprot.readBool();
                struct.set_is_include_sys_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopologyPageInfo_args struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.id != null) {
          oprot.writeFieldBegin(ID_FIELD_DESC);
          oprot.writeString(struct.id);
          oprot.writeFieldEnd();
        }
        if (struct.window != null) {
          oprot.writeFieldBegin(WINDOW_FIELD_DESC);
          oprot.writeString(struct.window);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldBegin(IS_INCLUDE_SYS_FIELD_DESC);
        oprot.writeBool(struct.is_include_sys);
        oprot.writeFieldEnd();
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTopologyPageInfo_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyPageInfo_argsTupleScheme getScheme() {
        return new getTopologyPageInfo_argsTupleScheme();
      }
    }

    private static class getTopologyPageInfo_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopologyPageInfo_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyPageInfo_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_id()) {
          optionals.set(0);
        }
        if (struct.is_set_window()) {
          optionals.set(1);
        }
        if (struct.is_set_is_include_sys()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_id()) {
          oprot.writeString(struct.id);
        }
        if (struct.is_set_window()) {
          oprot.writeString(struct.window);
        }
        if (struct.is_set_is_include_sys()) {
          oprot.writeBool(struct.is_include_sys);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyPageInfo_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.id = iprot.readString();
          struct.set_id_isSet(true);
        }
        if (incoming.get(1)) {
          struct.window = iprot.readString();
          struct.set_window_isSet(true);
        }
        if (incoming.get(2)) {
          struct.is_include_sys = iprot.readBool();
          struct.set_is_include_sys_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopologyPageInfo_result implements org.apache.storm.thrift.TBase<getTopologyPageInfo_result, getTopologyPageInfo_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyPageInfo_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopologyPageInfo_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopologyPageInfo_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopologyPageInfo_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable TopologyPageInfo success; // required
    private @org.apache.storm.thrift.annotation.Nullable NotAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E((short)1, "e"),
      AZE((short)2, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E
            return E;
          case 2: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, TopologyPageInfo.class)));
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NotAliveException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyPageInfo_result.class, metaDataMap);
    }

    public getTopologyPageInfo_result() {
    }

    public getTopologyPageInfo_result(
      TopologyPageInfo success,
      NotAliveException e,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      this.e = e;
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTopologyPageInfo_result(getTopologyPageInfo_result other) {
      if (other.is_set_success()) {
        this.success = new TopologyPageInfo(other.success);
      }
      if (other.is_set_e()) {
        this.e = new NotAliveException(other.e);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.e = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public TopologyPageInfo get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable TopologyPageInfo 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NotAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((TopologyPageInfo)value);
        }
        break;

      case E:
        if (value == null) {
          unset_e();
        } else {
          set_e((NotAliveException)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case E:
        return get_e();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case E:
        return is_set_e();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopologyPageInfo_result)
        return this.equals((getTopologyPageInfo_result)that);
      return false;
    }

    public boolean equals(getTopologyPageInfo_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getTopologyPageInfo_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopologyPageInfo_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyPageInfo_resultStandardScheme getScheme() {
        return new getTopologyPageInfo_resultStandardScheme();
      }
    }

    private static class getTopologyPageInfo_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopologyPageInfo_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopologyPageInfo_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.success = new TopologyPageInfo();
                struct.success.read(iprot);
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new NotAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopologyPageInfo_result struct) throws org.apache.storm.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();
        }
        if (struct.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTopologyPageInfo_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyPageInfo_resultTupleScheme getScheme() {
        return new getTopologyPageInfo_resultTupleScheme();
      }
    }

    private static class getTopologyPageInfo_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopologyPageInfo_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyPageInfo_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_e()) {
          optionals.set(1);
        }
        if (struct.is_set_aze()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_success()) {
          struct.success.write(oprot);
        }
        if (struct.is_set_e()) {
          struct.e.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyPageInfo_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.success = new TopologyPageInfo();
          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);
        }
        if (incoming.get(2)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getSupervisorPageInfo_args implements org.apache.storm.thrift.TBase<getSupervisorPageInfo_args, getSupervisorPageInfo_args._Fields>, java.io.Serializable, Cloneable, Comparable<getSupervisorPageInfo_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getSupervisorPageInfo_args");

    private static final org.apache.storm.thrift.protocol.TField ID_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("id", org.apache.storm.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.storm.thrift.protocol.TField HOST_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("host", org.apache.storm.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.storm.thrift.protocol.TField IS_INCLUDE_SYS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("is_include_sys", org.apache.storm.thrift.protocol.TType.BOOL, (short)3);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getSupervisorPageInfo_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getSupervisorPageInfo_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String id; // required
    private @org.apache.storm.thrift.annotation.Nullable java.lang.String host; // required
    private boolean is_include_sys; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      ID((short)1, "id"),
      HOST((short)2, "host"),
      IS_INCLUDE_SYS((short)3, "is_include_sys");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ID
            return ID;
          case 2: // HOST
            return HOST;
          case 3: // IS_INCLUDE_SYS
            return IS_INCLUDE_SYS;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __IS_INCLUDE_SYS_ISSET_ID = 0;
    private byte __isset_bitfield = 0;
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.storm.thrift.meta_data.FieldMetaData("id", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.HOST, new org.apache.storm.thrift.meta_data.FieldMetaData("host", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.IS_INCLUDE_SYS, new org.apache.storm.thrift.meta_data.FieldMetaData("is_include_sys", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.BOOL)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSupervisorPageInfo_args.class, metaDataMap);
    }

    public getSupervisorPageInfo_args() {
    }

    public getSupervisorPageInfo_args(
      java.lang.String id,
      java.lang.String host,
      boolean is_include_sys)
    {
      this();
      this.id = id;
      this.host = host;
      this.is_include_sys = is_include_sys;
      set_is_include_sys_isSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getSupervisorPageInfo_args(getSupervisorPageInfo_args other) {
      __isset_bitfield = other.__isset_bitfield;
      if (other.is_set_id()) {
        this.id = other.id;
      }
      if (other.is_set_host()) {
        this.host = other.host;
      }
      this.is_include_sys = other.is_include_sys;
    }

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

    @Override
    public void clear() {
      this.id = null;
      this.host = null;
      set_is_include_sys_isSet(false);
      this.is_include_sys = false;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_id() {
      return this.id;
    }

    public void set_id(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_host() {
      return this.host;
    }

    public void set_host(@org.apache.storm.thrift.annotation.Nullable java.lang.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 boolean is_is_include_sys() {
      return this.is_include_sys;
    }

    public void set_is_include_sys(boolean is_include_sys) {
      this.is_include_sys = is_include_sys;
      set_is_include_sys_isSet(true);
    }

    public void unset_is_include_sys() {
      __isset_bitfield = org.apache.storm.thrift.EncodingUtils.clearBit(__isset_bitfield, __IS_INCLUDE_SYS_ISSET_ID);
    }

    /** Returns true if field is_include_sys is set (has been assigned a value) and false otherwise */
    public boolean is_set_is_include_sys() {
      return org.apache.storm.thrift.EncodingUtils.testBit(__isset_bitfield, __IS_INCLUDE_SYS_ISSET_ID);
    }

    public void set_is_include_sys_isSet(boolean value) {
      __isset_bitfield = org.apache.storm.thrift.EncodingUtils.setBit(__isset_bitfield, __IS_INCLUDE_SYS_ISSET_ID, value);
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unset_id();
        } else {
          set_id((java.lang.String)value);
        }
        break;

      case HOST:
        if (value == null) {
          unset_host();
        } else {
          set_host((java.lang.String)value);
        }
        break;

      case IS_INCLUDE_SYS:
        if (value == null) {
          unset_is_include_sys();
        } else {
          set_is_include_sys((java.lang.Boolean)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return get_id();

      case HOST:
        return get_host();

      case IS_INCLUDE_SYS:
        return is_is_include_sys();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case ID:
        return is_set_id();
      case HOST:
        return is_set_host();
      case IS_INCLUDE_SYS:
        return is_set_is_include_sys();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getSupervisorPageInfo_args)
        return this.equals((getSupervisorPageInfo_args)that);
      return false;
    }

    public boolean equals(getSupervisorPageInfo_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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;
      }

      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_is_include_sys = true;
      boolean that_present_is_include_sys = true;
      if (this_present_is_include_sys || that_present_is_include_sys) {
        if (!(this_present_is_include_sys && that_present_is_include_sys))
          return false;
        if (this.is_include_sys != that.is_include_sys)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_id()) ? 131071 : 524287);
      if (is_set_id())
        hashCode = hashCode * 8191 + id.hashCode();

      hashCode = hashCode * 8191 + ((is_set_host()) ? 131071 : 524287);
      if (is_set_host())
        hashCode = hashCode * 8191 + host.hashCode();

      hashCode = hashCode * 8191 + ((is_include_sys) ? 131071 : 524287);

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_id(), other.is_set_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_id()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.id, other.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_host(), other.is_set_host());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_host()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.host, other.host);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_is_include_sys(), other.is_set_is_include_sys());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_is_include_sys()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.is_include_sys, other.is_include_sys);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getSupervisorPageInfo_args(");
      boolean first = true;

      sb.append("id:");
      if (this.id == null) {
        sb.append("null");
      } else {
        sb.append(this.id);
      }
      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("is_include_sys:");
      sb.append(this.is_include_sys);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        // 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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getSupervisorPageInfo_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getSupervisorPageInfo_argsStandardScheme getScheme() {
        return new getSupervisorPageInfo_argsStandardScheme();
      }
    }

    private static class getSupervisorPageInfo_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getSupervisorPageInfo_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getSupervisorPageInfo_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // ID
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.id = iprot.readString();
                struct.set_id_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // HOST
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.host = iprot.readString();
                struct.set_host_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // IS_INCLUDE_SYS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.BOOL) {
                struct.is_include_sys = iprot.readBool();
                struct.set_is_include_sys_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getSupervisorPageInfo_args struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.id != null) {
          oprot.writeFieldBegin(ID_FIELD_DESC);
          oprot.writeString(struct.id);
          oprot.writeFieldEnd();
        }
        if (struct.host != null) {
          oprot.writeFieldBegin(HOST_FIELD_DESC);
          oprot.writeString(struct.host);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldBegin(IS_INCLUDE_SYS_FIELD_DESC);
        oprot.writeBool(struct.is_include_sys);
        oprot.writeFieldEnd();
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getSupervisorPageInfo_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getSupervisorPageInfo_argsTupleScheme getScheme() {
        return new getSupervisorPageInfo_argsTupleScheme();
      }
    }

    private static class getSupervisorPageInfo_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getSupervisorPageInfo_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getSupervisorPageInfo_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_id()) {
          optionals.set(0);
        }
        if (struct.is_set_host()) {
          optionals.set(1);
        }
        if (struct.is_set_is_include_sys()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_id()) {
          oprot.writeString(struct.id);
        }
        if (struct.is_set_host()) {
          oprot.writeString(struct.host);
        }
        if (struct.is_set_is_include_sys()) {
          oprot.writeBool(struct.is_include_sys);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getSupervisorPageInfo_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.id = iprot.readString();
          struct.set_id_isSet(true);
        }
        if (incoming.get(1)) {
          struct.host = iprot.readString();
          struct.set_host_isSet(true);
        }
        if (incoming.get(2)) {
          struct.is_include_sys = iprot.readBool();
          struct.set_is_include_sys_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getSupervisorPageInfo_result implements org.apache.storm.thrift.TBase<getSupervisorPageInfo_result, getSupervisorPageInfo_result._Fields>, java.io.Serializable, Cloneable, Comparable<getSupervisorPageInfo_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getSupervisorPageInfo_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getSupervisorPageInfo_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getSupervisorPageInfo_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable SupervisorPageInfo success; // required
    private @org.apache.storm.thrift.annotation.Nullable NotAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E((short)1, "e"),
      AZE((short)2, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E
            return E;
          case 2: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, SupervisorPageInfo.class)));
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NotAliveException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSupervisorPageInfo_result.class, metaDataMap);
    }

    public getSupervisorPageInfo_result() {
    }

    public getSupervisorPageInfo_result(
      SupervisorPageInfo success,
      NotAliveException e,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      this.e = e;
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getSupervisorPageInfo_result(getSupervisorPageInfo_result other) {
      if (other.is_set_success()) {
        this.success = new SupervisorPageInfo(other.success);
      }
      if (other.is_set_e()) {
        this.e = new NotAliveException(other.e);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.e = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public SupervisorPageInfo get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable SupervisorPageInfo 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NotAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((SupervisorPageInfo)value);
        }
        break;

      case E:
        if (value == null) {
          unset_e();
        } else {
          set_e((NotAliveException)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case E:
        return get_e();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case E:
        return is_set_e();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getSupervisorPageInfo_result)
        return this.equals((getSupervisorPageInfo_result)that);
      return false;
    }

    public boolean equals(getSupervisorPageInfo_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getSupervisorPageInfo_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getSupervisorPageInfo_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getSupervisorPageInfo_resultStandardScheme getScheme() {
        return new getSupervisorPageInfo_resultStandardScheme();
      }
    }

    private static class getSupervisorPageInfo_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getSupervisorPageInfo_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getSupervisorPageInfo_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.success = new SupervisorPageInfo();
                struct.success.read(iprot);
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new NotAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getSupervisorPageInfo_result struct) throws org.apache.storm.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();
        }
        if (struct.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getSupervisorPageInfo_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getSupervisorPageInfo_resultTupleScheme getScheme() {
        return new getSupervisorPageInfo_resultTupleScheme();
      }
    }

    private static class getSupervisorPageInfo_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getSupervisorPageInfo_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getSupervisorPageInfo_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_e()) {
          optionals.set(1);
        }
        if (struct.is_set_aze()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_success()) {
          struct.success.write(oprot);
        }
        if (struct.is_set_e()) {
          struct.e.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getSupervisorPageInfo_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.success = new SupervisorPageInfo();
          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);
        }
        if (incoming.get(2)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getComponentPageInfo_args implements org.apache.storm.thrift.TBase<getComponentPageInfo_args, getComponentPageInfo_args._Fields>, java.io.Serializable, Cloneable, Comparable<getComponentPageInfo_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getComponentPageInfo_args");

    private static final org.apache.storm.thrift.protocol.TField TOPOLOGY_ID_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("topology_id", org.apache.storm.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.storm.thrift.protocol.TField COMPONENT_ID_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("component_id", org.apache.storm.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.storm.thrift.protocol.TField WINDOW_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("window", org.apache.storm.thrift.protocol.TType.STRING, (short)3);
    private static final org.apache.storm.thrift.protocol.TField IS_INCLUDE_SYS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("is_include_sys", org.apache.storm.thrift.protocol.TType.BOOL, (short)4);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getComponentPageInfo_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getComponentPageInfo_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String topology_id; // required
    private @org.apache.storm.thrift.annotation.Nullable java.lang.String component_id; // required
    private @org.apache.storm.thrift.annotation.Nullable java.lang.String window; // required
    private boolean is_include_sys; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      TOPOLOGY_ID((short)1, "topology_id"),
      COMPONENT_ID((short)2, "component_id"),
      WINDOW((short)3, "window"),
      IS_INCLUDE_SYS((short)4, "is_include_sys");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TOPOLOGY_ID
            return TOPOLOGY_ID;
          case 2: // COMPONENT_ID
            return COMPONENT_ID;
          case 3: // WINDOW
            return WINDOW;
          case 4: // IS_INCLUDE_SYS
            return IS_INCLUDE_SYS;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __IS_INCLUDE_SYS_ISSET_ID = 0;
    private byte __isset_bitfield = 0;
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TOPOLOGY_ID, new org.apache.storm.thrift.meta_data.FieldMetaData("topology_id", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.COMPONENT_ID, new org.apache.storm.thrift.meta_data.FieldMetaData("component_id", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.WINDOW, new org.apache.storm.thrift.meta_data.FieldMetaData("window", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.IS_INCLUDE_SYS, new org.apache.storm.thrift.meta_data.FieldMetaData("is_include_sys", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.BOOL)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getComponentPageInfo_args.class, metaDataMap);
    }

    public getComponentPageInfo_args() {
    }

    public getComponentPageInfo_args(
      java.lang.String topology_id,
      java.lang.String component_id,
      java.lang.String window,
      boolean is_include_sys)
    {
      this();
      this.topology_id = topology_id;
      this.component_id = component_id;
      this.window = window;
      this.is_include_sys = is_include_sys;
      set_is_include_sys_isSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getComponentPageInfo_args(getComponentPageInfo_args other) {
      __isset_bitfield = other.__isset_bitfield;
      if (other.is_set_topology_id()) {
        this.topology_id = other.topology_id;
      }
      if (other.is_set_component_id()) {
        this.component_id = other.component_id;
      }
      if (other.is_set_window()) {
        this.window = other.window;
      }
      this.is_include_sys = other.is_include_sys;
    }

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

    @Override
    public void clear() {
      this.topology_id = null;
      this.component_id = null;
      this.window = null;
      set_is_include_sys_isSet(false);
      this.is_include_sys = false;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_topology_id() {
      return this.topology_id;
    }

    public void set_topology_id(@org.apache.storm.thrift.annotation.Nullable java.lang.String topology_id) {
      this.topology_id = topology_id;
    }

    public void unset_topology_id() {
      this.topology_id = null;
    }

    /** Returns true if field topology_id is set (has been assigned a value) and false otherwise */
    public boolean is_set_topology_id() {
      return this.topology_id != null;
    }

    public void set_topology_id_isSet(boolean value) {
      if (!value) {
        this.topology_id = null;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_component_id() {
      return this.component_id;
    }

    public void set_component_id(@org.apache.storm.thrift.annotation.Nullable java.lang.String component_id) {
      this.component_id = component_id;
    }

    public void unset_component_id() {
      this.component_id = null;
    }

    /** Returns true if field component_id is set (has been assigned a value) and false otherwise */
    public boolean is_set_component_id() {
      return this.component_id != null;
    }

    public void set_component_id_isSet(boolean value) {
      if (!value) {
        this.component_id = null;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_window() {
      return this.window;
    }

    public void set_window(@org.apache.storm.thrift.annotation.Nullable java.lang.String window) {
      this.window = window;
    }

    public void unset_window() {
      this.window = null;
    }

    /** Returns true if field window is set (has been assigned a value) and false otherwise */
    public boolean is_set_window() {
      return this.window != null;
    }

    public void set_window_isSet(boolean value) {
      if (!value) {
        this.window = null;
      }
    }

    public boolean is_is_include_sys() {
      return this.is_include_sys;
    }

    public void set_is_include_sys(boolean is_include_sys) {
      this.is_include_sys = is_include_sys;
      set_is_include_sys_isSet(true);
    }

    public void unset_is_include_sys() {
      __isset_bitfield = org.apache.storm.thrift.EncodingUtils.clearBit(__isset_bitfield, __IS_INCLUDE_SYS_ISSET_ID);
    }

    /** Returns true if field is_include_sys is set (has been assigned a value) and false otherwise */
    public boolean is_set_is_include_sys() {
      return org.apache.storm.thrift.EncodingUtils.testBit(__isset_bitfield, __IS_INCLUDE_SYS_ISSET_ID);
    }

    public void set_is_include_sys_isSet(boolean value) {
      __isset_bitfield = org.apache.storm.thrift.EncodingUtils.setBit(__isset_bitfield, __IS_INCLUDE_SYS_ISSET_ID, value);
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case TOPOLOGY_ID:
        if (value == null) {
          unset_topology_id();
        } else {
          set_topology_id((java.lang.String)value);
        }
        break;

      case COMPONENT_ID:
        if (value == null) {
          unset_component_id();
        } else {
          set_component_id((java.lang.String)value);
        }
        break;

      case WINDOW:
        if (value == null) {
          unset_window();
        } else {
          set_window((java.lang.String)value);
        }
        break;

      case IS_INCLUDE_SYS:
        if (value == null) {
          unset_is_include_sys();
        } else {
          set_is_include_sys((java.lang.Boolean)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case TOPOLOGY_ID:
        return get_topology_id();

      case COMPONENT_ID:
        return get_component_id();

      case WINDOW:
        return get_window();

      case IS_INCLUDE_SYS:
        return is_is_include_sys();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case TOPOLOGY_ID:
        return is_set_topology_id();
      case COMPONENT_ID:
        return is_set_component_id();
      case WINDOW:
        return is_set_window();
      case IS_INCLUDE_SYS:
        return is_set_is_include_sys();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getComponentPageInfo_args)
        return this.equals((getComponentPageInfo_args)that);
      return false;
    }

    public boolean equals(getComponentPageInfo_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_topology_id = true && this.is_set_topology_id();
      boolean that_present_topology_id = true && that.is_set_topology_id();
      if (this_present_topology_id || that_present_topology_id) {
        if (!(this_present_topology_id && that_present_topology_id))
          return false;
        if (!this.topology_id.equals(that.topology_id))
          return false;
      }

      boolean this_present_component_id = true && this.is_set_component_id();
      boolean that_present_component_id = true && that.is_set_component_id();
      if (this_present_component_id || that_present_component_id) {
        if (!(this_present_component_id && that_present_component_id))
          return false;
        if (!this.component_id.equals(that.component_id))
          return false;
      }

      boolean this_present_window = true && this.is_set_window();
      boolean that_present_window = true && that.is_set_window();
      if (this_present_window || that_present_window) {
        if (!(this_present_window && that_present_window))
          return false;
        if (!this.window.equals(that.window))
          return false;
      }

      boolean this_present_is_include_sys = true;
      boolean that_present_is_include_sys = true;
      if (this_present_is_include_sys || that_present_is_include_sys) {
        if (!(this_present_is_include_sys && that_present_is_include_sys))
          return false;
        if (this.is_include_sys != that.is_include_sys)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_topology_id()) ? 131071 : 524287);
      if (is_set_topology_id())
        hashCode = hashCode * 8191 + topology_id.hashCode();

      hashCode = hashCode * 8191 + ((is_set_component_id()) ? 131071 : 524287);
      if (is_set_component_id())
        hashCode = hashCode * 8191 + component_id.hashCode();

      hashCode = hashCode * 8191 + ((is_set_window()) ? 131071 : 524287);
      if (is_set_window())
        hashCode = hashCode * 8191 + window.hashCode();

      hashCode = hashCode * 8191 + ((is_include_sys) ? 131071 : 524287);

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_topology_id(), other.is_set_topology_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_topology_id()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.topology_id, other.topology_id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_component_id(), other.is_set_component_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_component_id()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.component_id, other.component_id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_window(), other.is_set_window());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_window()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.window, other.window);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_is_include_sys(), other.is_set_is_include_sys());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_is_include_sys()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.is_include_sys, other.is_include_sys);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getComponentPageInfo_args(");
      boolean first = true;

      sb.append("topology_id:");
      if (this.topology_id == null) {
        sb.append("null");
      } else {
        sb.append(this.topology_id);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("component_id:");
      if (this.component_id == null) {
        sb.append("null");
      } else {
        sb.append(this.component_id);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("window:");
      if (this.window == null) {
        sb.append("null");
      } else {
        sb.append(this.window);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("is_include_sys:");
      sb.append(this.is_include_sys);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        // 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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getComponentPageInfo_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getComponentPageInfo_argsStandardScheme getScheme() {
        return new getComponentPageInfo_argsStandardScheme();
      }
    }

    private static class getComponentPageInfo_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getComponentPageInfo_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getComponentPageInfo_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TOPOLOGY_ID
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.topology_id = iprot.readString();
                struct.set_topology_id_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // COMPONENT_ID
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.component_id = iprot.readString();
                struct.set_component_id_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // WINDOW
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.window = iprot.readString();
                struct.set_window_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 4: // IS_INCLUDE_SYS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.BOOL) {
                struct.is_include_sys = iprot.readBool();
                struct.set_is_include_sys_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getComponentPageInfo_args struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.topology_id != null) {
          oprot.writeFieldBegin(TOPOLOGY_ID_FIELD_DESC);
          oprot.writeString(struct.topology_id);
          oprot.writeFieldEnd();
        }
        if (struct.component_id != null) {
          oprot.writeFieldBegin(COMPONENT_ID_FIELD_DESC);
          oprot.writeString(struct.component_id);
          oprot.writeFieldEnd();
        }
        if (struct.window != null) {
          oprot.writeFieldBegin(WINDOW_FIELD_DESC);
          oprot.writeString(struct.window);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldBegin(IS_INCLUDE_SYS_FIELD_DESC);
        oprot.writeBool(struct.is_include_sys);
        oprot.writeFieldEnd();
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getComponentPageInfo_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getComponentPageInfo_argsTupleScheme getScheme() {
        return new getComponentPageInfo_argsTupleScheme();
      }
    }

    private static class getComponentPageInfo_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getComponentPageInfo_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getComponentPageInfo_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_topology_id()) {
          optionals.set(0);
        }
        if (struct.is_set_component_id()) {
          optionals.set(1);
        }
        if (struct.is_set_window()) {
          optionals.set(2);
        }
        if (struct.is_set_is_include_sys()) {
          optionals.set(3);
        }
        oprot.writeBitSet(optionals, 4);
        if (struct.is_set_topology_id()) {
          oprot.writeString(struct.topology_id);
        }
        if (struct.is_set_component_id()) {
          oprot.writeString(struct.component_id);
        }
        if (struct.is_set_window()) {
          oprot.writeString(struct.window);
        }
        if (struct.is_set_is_include_sys()) {
          oprot.writeBool(struct.is_include_sys);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getComponentPageInfo_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(4);
        if (incoming.get(0)) {
          struct.topology_id = iprot.readString();
          struct.set_topology_id_isSet(true);
        }
        if (incoming.get(1)) {
          struct.component_id = iprot.readString();
          struct.set_component_id_isSet(true);
        }
        if (incoming.get(2)) {
          struct.window = iprot.readString();
          struct.set_window_isSet(true);
        }
        if (incoming.get(3)) {
          struct.is_include_sys = iprot.readBool();
          struct.set_is_include_sys_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getComponentPageInfo_result implements org.apache.storm.thrift.TBase<getComponentPageInfo_result, getComponentPageInfo_result._Fields>, java.io.Serializable, Cloneable, Comparable<getComponentPageInfo_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getComponentPageInfo_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getComponentPageInfo_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getComponentPageInfo_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable ComponentPageInfo success; // required
    private @org.apache.storm.thrift.annotation.Nullable NotAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E((short)1, "e"),
      AZE((short)2, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E
            return E;
          case 2: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, ComponentPageInfo.class)));
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NotAliveException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getComponentPageInfo_result.class, metaDataMap);
    }

    public getComponentPageInfo_result() {
    }

    public getComponentPageInfo_result(
      ComponentPageInfo success,
      NotAliveException e,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      this.e = e;
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getComponentPageInfo_result(getComponentPageInfo_result other) {
      if (other.is_set_success()) {
        this.success = new ComponentPageInfo(other.success);
      }
      if (other.is_set_e()) {
        this.e = new NotAliveException(other.e);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.e = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public ComponentPageInfo get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable ComponentPageInfo 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NotAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((ComponentPageInfo)value);
        }
        break;

      case E:
        if (value == null) {
          unset_e();
        } else {
          set_e((NotAliveException)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case E:
        return get_e();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case E:
        return is_set_e();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getComponentPageInfo_result)
        return this.equals((getComponentPageInfo_result)that);
      return false;
    }

    public boolean equals(getComponentPageInfo_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getComponentPageInfo_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getComponentPageInfo_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getComponentPageInfo_resultStandardScheme getScheme() {
        return new getComponentPageInfo_resultStandardScheme();
      }
    }

    private static class getComponentPageInfo_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getComponentPageInfo_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getComponentPageInfo_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.success = new ComponentPageInfo();
                struct.success.read(iprot);
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new NotAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getComponentPageInfo_result struct) throws org.apache.storm.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();
        }
        if (struct.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getComponentPageInfo_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getComponentPageInfo_resultTupleScheme getScheme() {
        return new getComponentPageInfo_resultTupleScheme();
      }
    }

    private static class getComponentPageInfo_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getComponentPageInfo_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getComponentPageInfo_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_e()) {
          optionals.set(1);
        }
        if (struct.is_set_aze()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_success()) {
          struct.success.write(oprot);
        }
        if (struct.is_set_e()) {
          struct.e.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getComponentPageInfo_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.success = new ComponentPageInfo();
          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);
        }
        if (incoming.get(2)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopologyConf_args implements org.apache.storm.thrift.TBase<getTopologyConf_args, getTopologyConf_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyConf_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopologyConf_args");

    private static final org.apache.storm.thrift.protocol.TField ID_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("id", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopologyConf_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopologyConf_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      ID((short)1, "id");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.storm.thrift.meta_data.FieldMetaData("id", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyConf_args.class, metaDataMap);
    }

    public getTopologyConf_args() {
    }

    public getTopologyConf_args(
      java.lang.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;
      }
    }

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

    @Override
    public void clear() {
      this.id = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_id() {
      return this.id;
    }

    public void set_id(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unset_id();
        } else {
          set_id((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return get_id();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case ID:
        return is_set_id();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopologyConf_args)
        return this.equals((getTopologyConf_args)that);
      return false;
    }

    public boolean equals(getTopologyConf_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_id()) ? 131071 : 524287);
      if (is_set_id())
        hashCode = hashCode * 8191 + id.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_id(), other.is_set_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_id()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.id, other.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopologyConf_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyConf_argsStandardScheme getScheme() {
        return new getTopologyConf_argsStandardScheme();
      }
    }

    private static class getTopologyConf_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopologyConf_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopologyConf_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // ID
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.id = iprot.readString();
                struct.set_id_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopologyConf_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyConf_argsTupleScheme getScheme() {
        return new getTopologyConf_argsTupleScheme();
      }
    }

    private static class getTopologyConf_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopologyConf_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyConf_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, getTopologyConf_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.id = iprot.readString();
          struct.set_id_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopologyConf_result implements org.apache.storm.thrift.TBase<getTopologyConf_result, getTopologyConf_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyConf_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopologyConf_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRING, (short)0);
    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopologyConf_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopologyConf_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String success; // required
    private @org.apache.storm.thrift.annotation.Nullable NotAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E((short)1, "e"),
      AZE((short)2, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E
            return E;
          case 2: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NotAliveException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyConf_result.class, metaDataMap);
    }

    public getTopologyConf_result() {
    }

    public getTopologyConf_result(
      java.lang.String success,
      NotAliveException e,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      this.e = e;
      this.aze = aze;
    }

    /**
     * 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);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.e = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NotAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((java.lang.String)value);
        }
        break;

      case E:
        if (value == null) {
          unset_e();
        } else {
          set_e((NotAliveException)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case E:
        return get_e();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case E:
        return is_set_e();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopologyConf_result)
        return this.equals((getTopologyConf_result)that);
      return false;
    }

    public boolean equals(getTopologyConf_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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;
      if (!first) sb.append(", ");
      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopologyConf_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyConf_resultStandardScheme getScheme() {
        return new getTopologyConf_resultStandardScheme();
      }
    }

    private static class getTopologyConf_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopologyConf_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopologyConf_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.success = iprot.readString();
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new NotAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopologyConf_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTopologyConf_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyConf_resultTupleScheme getScheme() {
        return new getTopologyConf_resultTupleScheme();
      }
    }

    private static class getTopologyConf_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopologyConf_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyConf_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_e()) {
          optionals.set(1);
        }
        if (struct.is_set_aze()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_success()) {
          oprot.writeString(struct.success);
        }
        if (struct.is_set_e()) {
          struct.e.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyConf_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        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);
        }
        if (incoming.get(2)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopology_args implements org.apache.storm.thrift.TBase<getTopology_args, getTopology_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTopology_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopology_args");

    private static final org.apache.storm.thrift.protocol.TField ID_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("id", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopology_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopology_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      ID((short)1, "id");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.storm.thrift.meta_data.FieldMetaData("id", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopology_args.class, metaDataMap);
    }

    public getTopology_args() {
    }

    public getTopology_args(
      java.lang.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;
      }
    }

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

    @Override
    public void clear() {
      this.id = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_id() {
      return this.id;
    }

    public void set_id(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unset_id();
        } else {
          set_id((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return get_id();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case ID:
        return is_set_id();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopology_args)
        return this.equals((getTopology_args)that);
      return false;
    }

    public boolean equals(getTopology_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_id()) ? 131071 : 524287);
      if (is_set_id())
        hashCode = hashCode * 8191 + id.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_id(), other.is_set_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_id()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.id, other.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopology_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopology_argsStandardScheme getScheme() {
        return new getTopology_argsStandardScheme();
      }
    }

    private static class getTopology_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopology_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopology_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // ID
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.id = iprot.readString();
                struct.set_id_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopology_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopology_argsTupleScheme getScheme() {
        return new getTopology_argsTupleScheme();
      }
    }

    private static class getTopology_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopology_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopology_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, getTopology_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.id = iprot.readString();
          struct.set_id_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopology_result implements org.apache.storm.thrift.TBase<getTopology_result, getTopology_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTopology_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopology_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopology_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopology_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable StormTopology success; // required
    private @org.apache.storm.thrift.annotation.Nullable NotAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E((short)1, "e"),
      AZE((short)2, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E
            return E;
          case 2: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, StormTopology.class)));
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NotAliveException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopology_result.class, metaDataMap);
    }

    public getTopology_result() {
    }

    public getTopology_result(
      StormTopology success,
      NotAliveException e,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      this.e = e;
      this.aze = aze;
    }

    /**
     * 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);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.e = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public StormTopology get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NotAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.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;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case E:
        return get_e();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case E:
        return is_set_e();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopology_result)
        return this.equals((getTopology_result)that);
      return false;
    }

    public boolean equals(getTopology_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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;
      if (!first) sb.append(", ");
      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopology_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopology_resultStandardScheme getScheme() {
        return new getTopology_resultStandardScheme();
      }
    }

    private static class getTopology_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopology_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopology_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.success = new StormTopology();
                struct.success.read(iprot);
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new NotAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopology_result struct) throws org.apache.storm.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();
        }
        if (struct.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTopology_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopology_resultTupleScheme getScheme() {
        return new getTopology_resultTupleScheme();
      }
    }

    private static class getTopology_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopology_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopology_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_e()) {
          optionals.set(1);
        }
        if (struct.is_set_aze()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_success()) {
          struct.success.write(oprot);
        }
        if (struct.is_set_e()) {
          struct.e.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getTopology_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        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);
        }
        if (incoming.get(2)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getUserTopology_args implements org.apache.storm.thrift.TBase<getUserTopology_args, getUserTopology_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUserTopology_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getUserTopology_args");

    private static final org.apache.storm.thrift.protocol.TField ID_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("id", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserTopology_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserTopology_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.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.storm.thrift.TFieldIdEnum {
      ID((short)1, "id");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.storm.thrift.meta_data.FieldMetaData("id", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUserTopology_args.class, metaDataMap);
    }

    public getUserTopology_args() {
    }

    public getUserTopology_args(
      java.lang.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;
      }
    }

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

    @Override
    public void clear() {
      this.id = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_id() {
      return this.id;
    }

    public void set_id(@org.apache.storm.thrift.annotation.Nullable java.lang.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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unset_id();
        } else {
          set_id((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return get_id();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case ID:
        return is_set_id();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getUserTopology_args)
        return this.equals((getUserTopology_args)that);
      return false;
    }

    public boolean equals(getUserTopology_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_id()) ? 131071 : 524287);
      if (is_set_id())
        hashCode = hashCode * 8191 + id.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_id(), other.is_set_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_id()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.id, other.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getUserTopology_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getUserTopology_argsStandardScheme getScheme() {
        return new getUserTopology_argsStandardScheme();
      }
    }

    private static class getUserTopology_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getUserTopology_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getUserTopology_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // ID
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.id = iprot.readString();
                struct.set_id_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getUserTopology_args struct) throws org.apache.storm.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 org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getUserTopology_argsTupleScheme getScheme() {
        return new getUserTopology_argsTupleScheme();
      }
    }

    private static class getUserTopology_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getUserTopology_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getUserTopology_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.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.storm.thrift.protocol.TProtocol prot, getUserTopology_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.id = iprot.readString();
          struct.set_id_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getUserTopology_result implements org.apache.storm.thrift.TBase<getUserTopology_result, getUserTopology_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUserTopology_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getUserTopology_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserTopology_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserTopology_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable StormTopology success; // required
    private @org.apache.storm.thrift.annotation.Nullable NotAliveException e; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E((short)1, "e"),
      AZE((short)2, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E
            return E;
          case 2: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, StormTopology.class)));
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NotAliveException.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUserTopology_result.class, metaDataMap);
    }

    public getUserTopology_result() {
    }

    public getUserTopology_result(
      StormTopology success,
      NotAliveException e,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      this.e = e;
      this.aze = aze;
    }

    /**
     * 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);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.e = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public StormTopology get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NotAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.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;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case E:
        return get_e();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case E:
        return is_set_e();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getUserTopology_result)
        return this.equals((getUserTopology_result)that);
      return false;
    }

    public boolean equals(getUserTopology_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.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;
      if (!first) sb.append(", ");
      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getUserTopology_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getUserTopology_resultStandardScheme getScheme() {
        return new getUserTopology_resultStandardScheme();
      }
    }

    private static class getUserTopology_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getUserTopology_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getUserTopology_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.success = new StormTopology();
                struct.success.read(iprot);
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new NotAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getUserTopology_result struct) throws org.apache.storm.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();
        }
        if (struct.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getUserTopology_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getUserTopology_resultTupleScheme getScheme() {
        return new getUserTopology_resultTupleScheme();
      }
    }

    private static class getUserTopology_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getUserTopology_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getUserTopology_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_e()) {
          optionals.set(1);
        }
        if (struct.is_set_aze()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.is_set_success()) {
          struct.success.write(oprot);
        }
        if (struct.is_set_e()) {
          struct.e.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getUserTopology_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(3);
        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);
        }
        if (incoming.get(2)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopologyHistory_args implements org.apache.storm.thrift.TBase<getTopologyHistory_args, getTopologyHistory_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyHistory_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopologyHistory_args");

    private static final org.apache.storm.thrift.protocol.TField USER_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("user", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopologyHistory_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopologyHistory_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String user; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      USER((short)1, "user");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // USER
            return USER;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.USER, new org.apache.storm.thrift.meta_data.FieldMetaData("user", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyHistory_args.class, metaDataMap);
    }

    public getTopologyHistory_args() {
    }

    public getTopologyHistory_args(
      java.lang.String user)
    {
      this();
      this.user = user;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTopologyHistory_args(getTopologyHistory_args other) {
      if (other.is_set_user()) {
        this.user = other.user;
      }
    }

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

    @Override
    public void clear() {
      this.user = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_user() {
      return this.user;
    }

    public void set_user(@org.apache.storm.thrift.annotation.Nullable java.lang.String user) {
      this.user = user;
    }

    public void unset_user() {
      this.user = null;
    }

    /** Returns true if field user is set (has been assigned a value) and false otherwise */
    public boolean is_set_user() {
      return this.user != null;
    }

    public void set_user_isSet(boolean value) {
      if (!value) {
        this.user = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case USER:
        if (value == null) {
          unset_user();
        } else {
          set_user((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case USER:
        return get_user();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case USER:
        return is_set_user();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopologyHistory_args)
        return this.equals((getTopologyHistory_args)that);
      return false;
    }

    public boolean equals(getTopologyHistory_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_user = true && this.is_set_user();
      boolean that_present_user = true && that.is_set_user();
      if (this_present_user || that_present_user) {
        if (!(this_present_user && that_present_user))
          return false;
        if (!this.user.equals(that.user))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_user()) ? 131071 : 524287);
      if (is_set_user())
        hashCode = hashCode * 8191 + user.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_user(), other.is_set_user());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_user()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.user, other.user);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getTopologyHistory_args(");
      boolean first = true;

      sb.append("user:");
      if (this.user == null) {
        sb.append("null");
      } else {
        sb.append(this.user);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopologyHistory_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyHistory_argsStandardScheme getScheme() {
        return new getTopologyHistory_argsStandardScheme();
      }
    }

    private static class getTopologyHistory_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopologyHistory_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopologyHistory_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // USER
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.user = iprot.readString();
                struct.set_user_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopologyHistory_args struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.user != null) {
          oprot.writeFieldBegin(USER_FIELD_DESC);
          oprot.writeString(struct.user);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTopologyHistory_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyHistory_argsTupleScheme getScheme() {
        return new getTopologyHistory_argsTupleScheme();
      }
    }

    private static class getTopologyHistory_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopologyHistory_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyHistory_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_user()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.is_set_user()) {
          oprot.writeString(struct.user);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyHistory_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.user = iprot.readString();
          struct.set_user_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getTopologyHistory_result implements org.apache.storm.thrift.TBase<getTopologyHistory_result, getTopologyHistory_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyHistory_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getTopologyHistory_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTopologyHistory_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTopologyHistory_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable TopologyHistoryInfo success; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      AZE((short)1, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, TopologyHistoryInfo.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyHistory_result.class, metaDataMap);
    }

    public getTopologyHistory_result() {
    }

    public getTopologyHistory_result(
      TopologyHistoryInfo success,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTopologyHistory_result(getTopologyHistory_result other) {
      if (other.is_set_success()) {
        this.success = new TopologyHistoryInfo(other.success);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public TopologyHistoryInfo get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable TopologyHistoryInfo 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((TopologyHistoryInfo)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getTopologyHistory_result)
        return this.equals((getTopologyHistory_result)that);
      return false;
    }

    public boolean equals(getTopologyHistory_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getTopologyHistory_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTopologyHistory_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyHistory_resultStandardScheme getScheme() {
        return new getTopologyHistory_resultStandardScheme();
      }
    }

    private static class getTopologyHistory_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getTopologyHistory_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getTopologyHistory_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.success = new TopologyHistoryInfo();
                struct.success.read(iprot);
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getTopologyHistory_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTopologyHistory_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getTopologyHistory_resultTupleScheme getScheme() {
        return new getTopologyHistory_resultTupleScheme();
      }
    }

    private static class getTopologyHistory_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getTopologyHistory_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyHistory_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_success()) {
          struct.success.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getTopologyHistory_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.success = new TopologyHistoryInfo();
          struct.success.read(iprot);
          struct.set_success_isSet(true);
        }
        if (incoming.get(1)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getOwnerResourceSummaries_args implements org.apache.storm.thrift.TBase<getOwnerResourceSummaries_args, getOwnerResourceSummaries_args._Fields>, java.io.Serializable, Cloneable, Comparable<getOwnerResourceSummaries_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getOwnerResourceSummaries_args");

    private static final org.apache.storm.thrift.protocol.TField OWNER_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("owner", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getOwnerResourceSummaries_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getOwnerResourceSummaries_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String owner; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      OWNER((short)1, "owner");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // OWNER
            return OWNER;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.OWNER, new org.apache.storm.thrift.meta_data.FieldMetaData("owner", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOwnerResourceSummaries_args.class, metaDataMap);
    }

    public getOwnerResourceSummaries_args() {
    }

    public getOwnerResourceSummaries_args(
      java.lang.String owner)
    {
      this();
      this.owner = owner;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOwnerResourceSummaries_args(getOwnerResourceSummaries_args other) {
      if (other.is_set_owner()) {
        this.owner = other.owner;
      }
    }

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

    @Override
    public void clear() {
      this.owner = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_owner() {
      return this.owner;
    }

    public void set_owner(@org.apache.storm.thrift.annotation.Nullable java.lang.String owner) {
      this.owner = owner;
    }

    public void unset_owner() {
      this.owner = null;
    }

    /** Returns true if field owner is set (has been assigned a value) and false otherwise */
    public boolean is_set_owner() {
      return this.owner != null;
    }

    public void set_owner_isSet(boolean value) {
      if (!value) {
        this.owner = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case OWNER:
        if (value == null) {
          unset_owner();
        } else {
          set_owner((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case OWNER:
        return get_owner();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case OWNER:
        return is_set_owner();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getOwnerResourceSummaries_args)
        return this.equals((getOwnerResourceSummaries_args)that);
      return false;
    }

    public boolean equals(getOwnerResourceSummaries_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_owner = true && this.is_set_owner();
      boolean that_present_owner = true && that.is_set_owner();
      if (this_present_owner || that_present_owner) {
        if (!(this_present_owner && that_present_owner))
          return false;
        if (!this.owner.equals(that.owner))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_owner()) ? 131071 : 524287);
      if (is_set_owner())
        hashCode = hashCode * 8191 + owner.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_owner(), other.is_set_owner());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_owner()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.owner, other.owner);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getOwnerResourceSummaries_args(");
      boolean first = true;

      sb.append("owner:");
      if (this.owner == null) {
        sb.append("null");
      } else {
        sb.append(this.owner);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getOwnerResourceSummaries_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getOwnerResourceSummaries_argsStandardScheme getScheme() {
        return new getOwnerResourceSummaries_argsStandardScheme();
      }
    }

    private static class getOwnerResourceSummaries_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getOwnerResourceSummaries_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getOwnerResourceSummaries_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // OWNER
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.owner = iprot.readString();
                struct.set_owner_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getOwnerResourceSummaries_args struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.owner != null) {
          oprot.writeFieldBegin(OWNER_FIELD_DESC);
          oprot.writeString(struct.owner);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getOwnerResourceSummaries_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getOwnerResourceSummaries_argsTupleScheme getScheme() {
        return new getOwnerResourceSummaries_argsTupleScheme();
      }
    }

    private static class getOwnerResourceSummaries_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getOwnerResourceSummaries_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getOwnerResourceSummaries_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_owner()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.is_set_owner()) {
          oprot.writeString(struct.owner);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getOwnerResourceSummaries_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.owner = iprot.readString();
          struct.set_owner_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getOwnerResourceSummaries_result implements org.apache.storm.thrift.TBase<getOwnerResourceSummaries_result, getOwnerResourceSummaries_result._Fields>, java.io.Serializable, Cloneable, Comparable<getOwnerResourceSummaries_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getOwnerResourceSummaries_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getOwnerResourceSummaries_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getOwnerResourceSummaries_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.util.List<OwnerResourceSummary> success; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      AZE((short)1, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.ListMetaData(org.apache.storm.thrift.protocol.TType.LIST, 
              new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, OwnerResourceSummary.class))));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOwnerResourceSummaries_result.class, metaDataMap);
    }

    public getOwnerResourceSummaries_result() {
    }

    public getOwnerResourceSummaries_result(
      java.util.List<OwnerResourceSummary> success,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOwnerResourceSummaries_result(getOwnerResourceSummaries_result other) {
      if (other.is_set_success()) {
        java.util.List<OwnerResourceSummary> __this__success = new java.util.ArrayList<OwnerResourceSummary>(other.success.size());
        for (OwnerResourceSummary other_element : other.success) {
          __this__success.add(new OwnerResourceSummary(other_element));
        }
        this.success = __this__success;
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.aze = null;
    }

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

    @org.apache.storm.thrift.annotation.Nullable
    public java.util.Iterator<OwnerResourceSummary> get_success_iterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void add_to_success(OwnerResourceSummary elem) {
      if (this.success == null) {
        this.success = new java.util.ArrayList<OwnerResourceSummary>();
      }
      this.success.add(elem);
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.util.List<OwnerResourceSummary> get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable java.util.List<OwnerResourceSummary> 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((java.util.List<OwnerResourceSummary>)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getOwnerResourceSummaries_result)
        return this.equals((getOwnerResourceSummaries_result)that);
      return false;
    }

    public boolean equals(getOwnerResourceSummaries_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getOwnerResourceSummaries_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getOwnerResourceSummaries_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getOwnerResourceSummaries_resultStandardScheme getScheme() {
        return new getOwnerResourceSummaries_resultStandardScheme();
      }
    }

    private static class getOwnerResourceSummaries_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getOwnerResourceSummaries_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getOwnerResourceSummaries_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.LIST) {
                {
                  org.apache.storm.thrift.protocol.TList _list986 = iprot.readListBegin();
                  struct.success = new java.util.ArrayList<OwnerResourceSummary>(_list986.size);
                  @org.apache.storm.thrift.annotation.Nullable OwnerResourceSummary _elem987;
                  for (int _i988 = 0; _i988 < _list986.size; ++_i988)
                  {
                    _elem987 = new OwnerResourceSummary();
                    _elem987.read(iprot);
                    struct.success.add(_elem987);
                  }
                  iprot.readListEnd();
                }
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getOwnerResourceSummaries_result struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.storm.thrift.protocol.TList(org.apache.storm.thrift.protocol.TType.STRUCT, struct.success.size()));
            for (OwnerResourceSummary _iter989 : struct.success)
            {
              _iter989.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
        if (struct.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getOwnerResourceSummaries_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getOwnerResourceSummaries_resultTupleScheme getScheme() {
        return new getOwnerResourceSummaries_resultTupleScheme();
      }
    }

    private static class getOwnerResourceSummaries_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getOwnerResourceSummaries_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getOwnerResourceSummaries_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_success()) {
          {
            oprot.writeI32(struct.success.size());
            for (OwnerResourceSummary _iter990 : struct.success)
            {
              _iter990.write(oprot);
            }
          }
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getOwnerResourceSummaries_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          {
            org.apache.storm.thrift.protocol.TList _list991 = iprot.readListBegin(org.apache.storm.thrift.protocol.TType.STRUCT);
            struct.success = new java.util.ArrayList<OwnerResourceSummary>(_list991.size);
            @org.apache.storm.thrift.annotation.Nullable OwnerResourceSummary _elem992;
            for (int _i993 = 0; _i993 < _list991.size; ++_i993)
            {
              _elem992 = new OwnerResourceSummary();
              _elem992.read(iprot);
              struct.success.add(_elem992);
            }
          }
          struct.set_success_isSet(true);
        }
        if (incoming.get(1)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getSupervisorAssignments_args implements org.apache.storm.thrift.TBase<getSupervisorAssignments_args, getSupervisorAssignments_args._Fields>, java.io.Serializable, Cloneable, Comparable<getSupervisorAssignments_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getSupervisorAssignments_args");

    private static final org.apache.storm.thrift.protocol.TField NODE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("node", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getSupervisorAssignments_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getSupervisorAssignments_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String node; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      NODE((short)1, "node");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // NODE
            return NODE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NODE, new org.apache.storm.thrift.meta_data.FieldMetaData("node", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSupervisorAssignments_args.class, metaDataMap);
    }

    public getSupervisorAssignments_args() {
    }

    public getSupervisorAssignments_args(
      java.lang.String node)
    {
      this();
      this.node = node;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getSupervisorAssignments_args(getSupervisorAssignments_args other) {
      if (other.is_set_node()) {
        this.node = other.node;
      }
    }

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

    @Override
    public void clear() {
      this.node = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_node() {
      return this.node;
    }

    public void set_node(@org.apache.storm.thrift.annotation.Nullable java.lang.String node) {
      this.node = node;
    }

    public void unset_node() {
      this.node = null;
    }

    /** Returns true if field node is set (has been assigned a value) and false otherwise */
    public boolean is_set_node() {
      return this.node != null;
    }

    public void set_node_isSet(boolean value) {
      if (!value) {
        this.node = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case NODE:
        if (value == null) {
          unset_node();
        } else {
          set_node((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case NODE:
        return get_node();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case NODE:
        return is_set_node();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getSupervisorAssignments_args)
        return this.equals((getSupervisorAssignments_args)that);
      return false;
    }

    public boolean equals(getSupervisorAssignments_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_node = true && this.is_set_node();
      boolean that_present_node = true && that.is_set_node();
      if (this_present_node || that_present_node) {
        if (!(this_present_node && that_present_node))
          return false;
        if (!this.node.equals(that.node))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_node()) ? 131071 : 524287);
      if (is_set_node())
        hashCode = hashCode * 8191 + node.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_node(), other.is_set_node());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_node()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.node, other.node);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getSupervisorAssignments_args(");
      boolean first = true;

      sb.append("node:");
      if (this.node == null) {
        sb.append("null");
      } else {
        sb.append(this.node);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getSupervisorAssignments_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getSupervisorAssignments_argsStandardScheme getScheme() {
        return new getSupervisorAssignments_argsStandardScheme();
      }
    }

    private static class getSupervisorAssignments_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getSupervisorAssignments_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getSupervisorAssignments_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // NODE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.node = iprot.readString();
                struct.set_node_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getSupervisorAssignments_args struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.node != null) {
          oprot.writeFieldBegin(NODE_FIELD_DESC);
          oprot.writeString(struct.node);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getSupervisorAssignments_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getSupervisorAssignments_argsTupleScheme getScheme() {
        return new getSupervisorAssignments_argsTupleScheme();
      }
    }

    private static class getSupervisorAssignments_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getSupervisorAssignments_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getSupervisorAssignments_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_node()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.is_set_node()) {
          oprot.writeString(struct.node);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getSupervisorAssignments_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.node = iprot.readString();
          struct.set_node_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class getSupervisorAssignments_result implements org.apache.storm.thrift.TBase<getSupervisorAssignments_result, getSupervisorAssignments_result._Fields>, java.io.Serializable, Cloneable, Comparable<getSupervisorAssignments_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("getSupervisorAssignments_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getSupervisorAssignments_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getSupervisorAssignments_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable SupervisorAssignments success; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      AZE((short)1, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, SupervisorAssignments.class)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSupervisorAssignments_result.class, metaDataMap);
    }

    public getSupervisorAssignments_result() {
    }

    public getSupervisorAssignments_result(
      SupervisorAssignments success,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getSupervisorAssignments_result(getSupervisorAssignments_result other) {
      if (other.is_set_success()) {
        this.success = new SupervisorAssignments(other.success);
      }
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.success = null;
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public SupervisorAssignments get_success() {
      return this.success;
    }

    public void set_success(@org.apache.storm.thrift.annotation.Nullable SupervisorAssignments 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;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((SupervisorAssignments)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return get_success();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof getSupervisorAssignments_result)
        return this.equals((getSupervisorAssignments_result)that);
      return false;
    }

    public boolean equals(getSupervisorAssignments_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_success()) ? 131071 : 524287);
      if (is_set_success())
        hashCode = hashCode * 8191 + success.hashCode();

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("getSupervisorAssignments_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("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getSupervisorAssignments_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getSupervisorAssignments_resultStandardScheme getScheme() {
        return new getSupervisorAssignments_resultStandardScheme();
      }
    }

    private static class getSupervisorAssignments_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<getSupervisorAssignments_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, getSupervisorAssignments_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.success = new SupervisorAssignments();
                struct.success.read(iprot);
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, getSupervisorAssignments_result struct) throws org.apache.storm.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.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getSupervisorAssignments_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public getSupervisorAssignments_resultTupleScheme getScheme() {
        return new getSupervisorAssignments_resultTupleScheme();
      }
    }

    private static class getSupervisorAssignments_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<getSupervisorAssignments_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, getSupervisorAssignments_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_success()) {
          struct.success.write(oprot);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, getSupervisorAssignments_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.success = new SupervisorAssignments();
          struct.success.read(iprot);
          struct.set_success_isSet(true);
        }
        if (incoming.get(1)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class sendSupervisorWorkerHeartbeats_args implements org.apache.storm.thrift.TBase<sendSupervisorWorkerHeartbeats_args, sendSupervisorWorkerHeartbeats_args._Fields>, java.io.Serializable, Cloneable, Comparable<sendSupervisorWorkerHeartbeats_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("sendSupervisorWorkerHeartbeats_args");

    private static final org.apache.storm.thrift.protocol.TField HEARTBEATS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("heartbeats", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new sendSupervisorWorkerHeartbeats_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new sendSupervisorWorkerHeartbeats_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable SupervisorWorkerHeartbeats heartbeats; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      HEARTBEATS((short)1, "heartbeats");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // HEARTBEATS
            return HEARTBEATS;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.HEARTBEATS, new org.apache.storm.thrift.meta_data.FieldMetaData("heartbeats", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, SupervisorWorkerHeartbeats.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(sendSupervisorWorkerHeartbeats_args.class, metaDataMap);
    }

    public sendSupervisorWorkerHeartbeats_args() {
    }

    public sendSupervisorWorkerHeartbeats_args(
      SupervisorWorkerHeartbeats heartbeats)
    {
      this();
      this.heartbeats = heartbeats;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public sendSupervisorWorkerHeartbeats_args(sendSupervisorWorkerHeartbeats_args other) {
      if (other.is_set_heartbeats()) {
        this.heartbeats = new SupervisorWorkerHeartbeats(other.heartbeats);
      }
    }

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

    @Override
    public void clear() {
      this.heartbeats = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public SupervisorWorkerHeartbeats get_heartbeats() {
      return this.heartbeats;
    }

    public void set_heartbeats(@org.apache.storm.thrift.annotation.Nullable SupervisorWorkerHeartbeats heartbeats) {
      this.heartbeats = heartbeats;
    }

    public void unset_heartbeats() {
      this.heartbeats = null;
    }

    /** Returns true if field heartbeats is set (has been assigned a value) and false otherwise */
    public boolean is_set_heartbeats() {
      return this.heartbeats != null;
    }

    public void set_heartbeats_isSet(boolean value) {
      if (!value) {
        this.heartbeats = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case HEARTBEATS:
        if (value == null) {
          unset_heartbeats();
        } else {
          set_heartbeats((SupervisorWorkerHeartbeats)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case HEARTBEATS:
        return get_heartbeats();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case HEARTBEATS:
        return is_set_heartbeats();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof sendSupervisorWorkerHeartbeats_args)
        return this.equals((sendSupervisorWorkerHeartbeats_args)that);
      return false;
    }

    public boolean equals(sendSupervisorWorkerHeartbeats_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_heartbeats = true && this.is_set_heartbeats();
      boolean that_present_heartbeats = true && that.is_set_heartbeats();
      if (this_present_heartbeats || that_present_heartbeats) {
        if (!(this_present_heartbeats && that_present_heartbeats))
          return false;
        if (!this.heartbeats.equals(that.heartbeats))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_heartbeats()) ? 131071 : 524287);
      if (is_set_heartbeats())
        hashCode = hashCode * 8191 + heartbeats.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_heartbeats(), other.is_set_heartbeats());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_heartbeats()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.heartbeats, other.heartbeats);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("sendSupervisorWorkerHeartbeats_args(");
      boolean first = true;

      sb.append("heartbeats:");
      if (this.heartbeats == null) {
        sb.append("null");
      } else {
        sb.append(this.heartbeats);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.thrift.TException {
      // check for required fields
      // check for sub-struct validity
      if (heartbeats != null) {
        heartbeats.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class sendSupervisorWorkerHeartbeats_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public sendSupervisorWorkerHeartbeats_argsStandardScheme getScheme() {
        return new sendSupervisorWorkerHeartbeats_argsStandardScheme();
      }
    }

    private static class sendSupervisorWorkerHeartbeats_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<sendSupervisorWorkerHeartbeats_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, sendSupervisorWorkerHeartbeats_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // HEARTBEATS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.heartbeats = new SupervisorWorkerHeartbeats();
                struct.heartbeats.read(iprot);
                struct.set_heartbeats_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, sendSupervisorWorkerHeartbeats_args struct) throws org.apache.storm.thrift.TException {
        struct.validate();

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

    }

    private static class sendSupervisorWorkerHeartbeats_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public sendSupervisorWorkerHeartbeats_argsTupleScheme getScheme() {
        return new sendSupervisorWorkerHeartbeats_argsTupleScheme();
      }
    }

    private static class sendSupervisorWorkerHeartbeats_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<sendSupervisorWorkerHeartbeats_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, sendSupervisorWorkerHeartbeats_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_heartbeats()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.is_set_heartbeats()) {
          struct.heartbeats.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, sendSupervisorWorkerHeartbeats_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.heartbeats = new SupervisorWorkerHeartbeats();
          struct.heartbeats.read(iprot);
          struct.set_heartbeats_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class sendSupervisorWorkerHeartbeats_result implements org.apache.storm.thrift.TBase<sendSupervisorWorkerHeartbeats_result, sendSupervisorWorkerHeartbeats_result._Fields>, java.io.Serializable, Cloneable, Comparable<sendSupervisorWorkerHeartbeats_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("sendSupervisorWorkerHeartbeats_result");

    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new sendSupervisorWorkerHeartbeats_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new sendSupervisorWorkerHeartbeats_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      AZE((short)1, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(sendSupervisorWorkerHeartbeats_result.class, metaDataMap);
    }

    public sendSupervisorWorkerHeartbeats_result() {
    }

    public sendSupervisorWorkerHeartbeats_result(
      AuthorizationException aze)
    {
      this();
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public sendSupervisorWorkerHeartbeats_result(sendSupervisorWorkerHeartbeats_result other) {
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      this.aze = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof sendSupervisorWorkerHeartbeats_result)
        return this.equals((sendSupervisorWorkerHeartbeats_result)that);
      return false;
    }

    public boolean equals(sendSupervisorWorkerHeartbeats_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("sendSupervisorWorkerHeartbeats_result(");
      boolean first = true;

      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class sendSupervisorWorkerHeartbeats_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public sendSupervisorWorkerHeartbeats_resultStandardScheme getScheme() {
        return new sendSupervisorWorkerHeartbeats_resultStandardScheme();
      }
    }

    private static class sendSupervisorWorkerHeartbeats_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<sendSupervisorWorkerHeartbeats_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, sendSupervisorWorkerHeartbeats_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, sendSupervisorWorkerHeartbeats_result struct) throws org.apache.storm.thrift.TException {
        struct.validate();

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

    }

    private static class sendSupervisorWorkerHeartbeats_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public sendSupervisorWorkerHeartbeats_resultTupleScheme getScheme() {
        return new sendSupervisorWorkerHeartbeats_resultTupleScheme();
      }
    }

    private static class sendSupervisorWorkerHeartbeats_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<sendSupervisorWorkerHeartbeats_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, sendSupervisorWorkerHeartbeats_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_aze()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, sendSupervisorWorkerHeartbeats_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class sendSupervisorWorkerHeartbeat_args implements org.apache.storm.thrift.TBase<sendSupervisorWorkerHeartbeat_args, sendSupervisorWorkerHeartbeat_args._Fields>, java.io.Serializable, Cloneable, Comparable<sendSupervisorWorkerHeartbeat_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("sendSupervisorWorkerHeartbeat_args");

    private static final org.apache.storm.thrift.protocol.TField HEATBEAT_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("heatbeat", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new sendSupervisorWorkerHeartbeat_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new sendSupervisorWorkerHeartbeat_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable SupervisorWorkerHeartbeat heatbeat; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      HEATBEAT((short)1, "heatbeat");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // HEATBEAT
            return HEATBEAT;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.HEATBEAT, new org.apache.storm.thrift.meta_data.FieldMetaData("heatbeat", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, SupervisorWorkerHeartbeat.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(sendSupervisorWorkerHeartbeat_args.class, metaDataMap);
    }

    public sendSupervisorWorkerHeartbeat_args() {
    }

    public sendSupervisorWorkerHeartbeat_args(
      SupervisorWorkerHeartbeat heatbeat)
    {
      this();
      this.heatbeat = heatbeat;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public sendSupervisorWorkerHeartbeat_args(sendSupervisorWorkerHeartbeat_args other) {
      if (other.is_set_heatbeat()) {
        this.heatbeat = new SupervisorWorkerHeartbeat(other.heatbeat);
      }
    }

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

    @Override
    public void clear() {
      this.heatbeat = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public SupervisorWorkerHeartbeat get_heatbeat() {
      return this.heatbeat;
    }

    public void set_heatbeat(@org.apache.storm.thrift.annotation.Nullable SupervisorWorkerHeartbeat heatbeat) {
      this.heatbeat = heatbeat;
    }

    public void unset_heatbeat() {
      this.heatbeat = null;
    }

    /** Returns true if field heatbeat is set (has been assigned a value) and false otherwise */
    public boolean is_set_heatbeat() {
      return this.heatbeat != null;
    }

    public void set_heatbeat_isSet(boolean value) {
      if (!value) {
        this.heatbeat = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case HEATBEAT:
        if (value == null) {
          unset_heatbeat();
        } else {
          set_heatbeat((SupervisorWorkerHeartbeat)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case HEATBEAT:
        return get_heatbeat();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case HEATBEAT:
        return is_set_heatbeat();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof sendSupervisorWorkerHeartbeat_args)
        return this.equals((sendSupervisorWorkerHeartbeat_args)that);
      return false;
    }

    public boolean equals(sendSupervisorWorkerHeartbeat_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_heatbeat = true && this.is_set_heatbeat();
      boolean that_present_heatbeat = true && that.is_set_heatbeat();
      if (this_present_heatbeat || that_present_heatbeat) {
        if (!(this_present_heatbeat && that_present_heatbeat))
          return false;
        if (!this.heatbeat.equals(that.heatbeat))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_heatbeat()) ? 131071 : 524287);
      if (is_set_heatbeat())
        hashCode = hashCode * 8191 + heatbeat.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_heatbeat(), other.is_set_heatbeat());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_heatbeat()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.heatbeat, other.heatbeat);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("sendSupervisorWorkerHeartbeat_args(");
      boolean first = true;

      sb.append("heatbeat:");
      if (this.heatbeat == null) {
        sb.append("null");
      } else {
        sb.append(this.heatbeat);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.thrift.TException {
      // check for required fields
      // check for sub-struct validity
      if (heatbeat != null) {
        heatbeat.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class sendSupervisorWorkerHeartbeat_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public sendSupervisorWorkerHeartbeat_argsStandardScheme getScheme() {
        return new sendSupervisorWorkerHeartbeat_argsStandardScheme();
      }
    }

    private static class sendSupervisorWorkerHeartbeat_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<sendSupervisorWorkerHeartbeat_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, sendSupervisorWorkerHeartbeat_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // HEATBEAT
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.heatbeat = new SupervisorWorkerHeartbeat();
                struct.heatbeat.read(iprot);
                struct.set_heatbeat_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, sendSupervisorWorkerHeartbeat_args struct) throws org.apache.storm.thrift.TException {
        struct.validate();

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

    }

    private static class sendSupervisorWorkerHeartbeat_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public sendSupervisorWorkerHeartbeat_argsTupleScheme getScheme() {
        return new sendSupervisorWorkerHeartbeat_argsTupleScheme();
      }
    }

    private static class sendSupervisorWorkerHeartbeat_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<sendSupervisorWorkerHeartbeat_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, sendSupervisorWorkerHeartbeat_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_heatbeat()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.is_set_heatbeat()) {
          struct.heatbeat.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, sendSupervisorWorkerHeartbeat_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.heatbeat = new SupervisorWorkerHeartbeat();
          struct.heatbeat.read(iprot);
          struct.set_heatbeat_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class sendSupervisorWorkerHeartbeat_result implements org.apache.storm.thrift.TBase<sendSupervisorWorkerHeartbeat_result, sendSupervisorWorkerHeartbeat_result._Fields>, java.io.Serializable, Cloneable, Comparable<sendSupervisorWorkerHeartbeat_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("sendSupervisorWorkerHeartbeat_result");

    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.storm.thrift.protocol.TField E_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("e", org.apache.storm.thrift.protocol.TType.STRUCT, (short)2);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new sendSupervisorWorkerHeartbeat_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new sendSupervisorWorkerHeartbeat_resultTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required
    private @org.apache.storm.thrift.annotation.Nullable 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.storm.thrift.TFieldIdEnum {
      AZE((short)1, "aze"),
      E((short)2, "e");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // AZE
            return AZE;
          case 2: // 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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      tmpMap.put(_Fields.E, new org.apache.storm.thrift.meta_data.FieldMetaData("e", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, NotAliveException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(sendSupervisorWorkerHeartbeat_result.class, metaDataMap);
    }

    public sendSupervisorWorkerHeartbeat_result() {
    }

    public sendSupervisorWorkerHeartbeat_result(
      AuthorizationException aze,
      NotAliveException e)
    {
      this();
      this.aze = aze;
      this.e = e;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public sendSupervisorWorkerHeartbeat_result(sendSupervisorWorkerHeartbeat_result other) {
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
      if (other.is_set_e()) {
        this.e = new NotAliveException(other.e);
      }
    }

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

    @Override
    public void clear() {
      this.aze = null;
      this.e = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    public NotAliveException get_e() {
      return this.e;
    }

    public void set_e(@org.apache.storm.thrift.annotation.Nullable 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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      case E:
        if (value == null) {
          unset_e();
        } else {
          set_e((NotAliveException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case AZE:
        return get_aze();

      case E:
        return get_e();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case AZE:
        return is_set_aze();
      case E:
        return is_set_e();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof sendSupervisorWorkerHeartbeat_result)
        return this.equals((sendSupervisorWorkerHeartbeat_result)that);
      return false;
    }

    public boolean equals(sendSupervisorWorkerHeartbeat_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      hashCode = hashCode * 8191 + ((is_set_e()) ? 131071 : 524287);
      if (is_set_e())
        hashCode = hashCode * 8191 + e.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_e(), other.is_set_e());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_e()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.e, other.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("sendSupervisorWorkerHeartbeat_result(");
      boolean first = true;

      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      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.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class sendSupervisorWorkerHeartbeat_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public sendSupervisorWorkerHeartbeat_resultStandardScheme getScheme() {
        return new sendSupervisorWorkerHeartbeat_resultStandardScheme();
      }
    }

    private static class sendSupervisorWorkerHeartbeat_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<sendSupervisorWorkerHeartbeat_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, sendSupervisorWorkerHeartbeat_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // E
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.e = new NotAliveException();
                struct.e.read(iprot);
                struct.set_e_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, sendSupervisorWorkerHeartbeat_result struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.aze != null) {
          oprot.writeFieldBegin(AZE_FIELD_DESC);
          struct.aze.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 sendSupervisorWorkerHeartbeat_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public sendSupervisorWorkerHeartbeat_resultTupleScheme getScheme() {
        return new sendSupervisorWorkerHeartbeat_resultTupleScheme();
      }
    }

    private static class sendSupervisorWorkerHeartbeat_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<sendSupervisorWorkerHeartbeat_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, sendSupervisorWorkerHeartbeat_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_aze()) {
          optionals.set(0);
        }
        if (struct.is_set_e()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
        if (struct.is_set_e()) {
          struct.e.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, sendSupervisorWorkerHeartbeat_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
        if (incoming.get(1)) {
          struct.e = new NotAliveException();
          struct.e.read(iprot);
          struct.set_e_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class processWorkerMetrics_args implements org.apache.storm.thrift.TBase<processWorkerMetrics_args, processWorkerMetrics_args._Fields>, java.io.Serializable, Cloneable, Comparable<processWorkerMetrics_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("processWorkerMetrics_args");

    private static final org.apache.storm.thrift.protocol.TField METRICS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("metrics", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new processWorkerMetrics_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new processWorkerMetrics_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable WorkerMetrics metrics; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      METRICS((short)1, "metrics");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // 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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.METRICS, new org.apache.storm.thrift.meta_data.FieldMetaData("metrics", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, WorkerMetrics.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(processWorkerMetrics_args.class, metaDataMap);
    }

    public processWorkerMetrics_args() {
    }

    public processWorkerMetrics_args(
      WorkerMetrics metrics)
    {
      this();
      this.metrics = metrics;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public processWorkerMetrics_args(processWorkerMetrics_args other) {
      if (other.is_set_metrics()) {
        this.metrics = new WorkerMetrics(other.metrics);
      }
    }

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

    @Override
    public void clear() {
      this.metrics = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public WorkerMetrics get_metrics() {
      return this.metrics;
    }

    public void set_metrics(@org.apache.storm.thrift.annotation.Nullable WorkerMetrics 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;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case METRICS:
        if (value == null) {
          unset_metrics();
        } else {
          set_metrics((WorkerMetrics)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case METRICS:
        return get_metrics();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case METRICS:
        return is_set_metrics();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof processWorkerMetrics_args)
        return this.equals((processWorkerMetrics_args)that);
      return false;
    }

    public boolean equals(processWorkerMetrics_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_metrics()) ? 131071 : 524287);
      if (is_set_metrics())
        hashCode = hashCode * 8191 + metrics.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_metrics(), other.is_set_metrics());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_metrics()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.metrics, other.metrics);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("processWorkerMetrics_args(");
      boolean first = true;

      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.storm.thrift.TException {
      // check for required fields
      // check for sub-struct validity
      if (metrics != null) {
        metrics.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class processWorkerMetrics_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public processWorkerMetrics_argsStandardScheme getScheme() {
        return new processWorkerMetrics_argsStandardScheme();
      }
    }

    private static class processWorkerMetrics_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<processWorkerMetrics_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, processWorkerMetrics_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // METRICS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.metrics = new WorkerMetrics();
                struct.metrics.read(iprot);
                struct.set_metrics_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, processWorkerMetrics_args struct) throws org.apache.storm.thrift.TException {
        struct.validate();

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

    }

    private static class processWorkerMetrics_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public processWorkerMetrics_argsTupleScheme getScheme() {
        return new processWorkerMetrics_argsTupleScheme();
      }
    }

    private static class processWorkerMetrics_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<processWorkerMetrics_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, processWorkerMetrics_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_metrics()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.is_set_metrics()) {
          struct.metrics.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, processWorkerMetrics_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.metrics = new WorkerMetrics();
          struct.metrics.read(iprot);
          struct.set_metrics_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class processWorkerMetrics_result implements org.apache.storm.thrift.TBase<processWorkerMetrics_result, processWorkerMetrics_result._Fields>, java.io.Serializable, Cloneable, Comparable<processWorkerMetrics_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("processWorkerMetrics_result");


    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new processWorkerMetrics_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new processWorkerMetrics_resultTupleSchemeFactory();


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
;

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(processWorkerMetrics_result.class, metaDataMap);
    }

    public processWorkerMetrics_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public processWorkerMetrics_result(processWorkerMetrics_result other) {
    }

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

    @Override
    public void clear() {
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof processWorkerMetrics_result)
        return this.equals((processWorkerMetrics_result)that);
      return false;
    }

    public boolean equals(processWorkerMetrics_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      return hashCode;
    }

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

      int lastComparison = 0;

      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("processWorkerMetrics_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class processWorkerMetrics_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public processWorkerMetrics_resultStandardScheme getScheme() {
        return new processWorkerMetrics_resultStandardScheme();
      }
    }

    private static class processWorkerMetrics_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<processWorkerMetrics_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, processWorkerMetrics_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, processWorkerMetrics_result struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class processWorkerMetrics_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public processWorkerMetrics_resultTupleScheme getScheme() {
        return new processWorkerMetrics_resultTupleScheme();
      }
    }

    private static class processWorkerMetrics_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<processWorkerMetrics_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, processWorkerMetrics_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, processWorkerMetrics_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class isRemoteBlobExists_args implements org.apache.storm.thrift.TBase<isRemoteBlobExists_args, isRemoteBlobExists_args._Fields>, java.io.Serializable, Cloneable, Comparable<isRemoteBlobExists_args>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("isRemoteBlobExists_args");

    private static final org.apache.storm.thrift.protocol.TField BLOB_KEY_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("blobKey", org.apache.storm.thrift.protocol.TType.STRING, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isRemoteBlobExists_argsStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isRemoteBlobExists_argsTupleSchemeFactory();

    private @org.apache.storm.thrift.annotation.Nullable java.lang.String blobKey; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      BLOB_KEY((short)1, "blobKey");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // BLOB_KEY
            return BLOB_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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.BLOB_KEY, new org.apache.storm.thrift.meta_data.FieldMetaData("blobKey", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.STRING)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isRemoteBlobExists_args.class, metaDataMap);
    }

    public isRemoteBlobExists_args() {
    }

    public isRemoteBlobExists_args(
      java.lang.String blobKey)
    {
      this();
      this.blobKey = blobKey;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public isRemoteBlobExists_args(isRemoteBlobExists_args other) {
      if (other.is_set_blobKey()) {
        this.blobKey = other.blobKey;
      }
    }

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

    @Override
    public void clear() {
      this.blobKey = null;
    }

    @org.apache.storm.thrift.annotation.Nullable
    public java.lang.String get_blobKey() {
      return this.blobKey;
    }

    public void set_blobKey(@org.apache.storm.thrift.annotation.Nullable java.lang.String blobKey) {
      this.blobKey = blobKey;
    }

    public void unset_blobKey() {
      this.blobKey = null;
    }

    /** Returns true if field blobKey is set (has been assigned a value) and false otherwise */
    public boolean is_set_blobKey() {
      return this.blobKey != null;
    }

    public void set_blobKey_isSet(boolean value) {
      if (!value) {
        this.blobKey = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case BLOB_KEY:
        if (value == null) {
          unset_blobKey();
        } else {
          set_blobKey((java.lang.String)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case BLOB_KEY:
        return get_blobKey();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case BLOB_KEY:
        return is_set_blobKey();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof isRemoteBlobExists_args)
        return this.equals((isRemoteBlobExists_args)that);
      return false;
    }

    public boolean equals(isRemoteBlobExists_args that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      boolean this_present_blobKey = true && this.is_set_blobKey();
      boolean that_present_blobKey = true && that.is_set_blobKey();
      if (this_present_blobKey || that_present_blobKey) {
        if (!(this_present_blobKey && that_present_blobKey))
          return false;
        if (!this.blobKey.equals(that.blobKey))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((is_set_blobKey()) ? 131071 : 524287);
      if (is_set_blobKey())
        hashCode = hashCode * 8191 + blobKey.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_blobKey(), other.is_set_blobKey());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_blobKey()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.blobKey, other.blobKey);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    @Override
    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
    }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("isRemoteBlobExists_args(");
      boolean first = true;

      sb.append("blobKey:");
      if (this.blobKey == null) {
        sb.append("null");
      } else {
        sb.append(this.blobKey);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        read(new org.apache.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class isRemoteBlobExists_argsStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public isRemoteBlobExists_argsStandardScheme getScheme() {
        return new isRemoteBlobExists_argsStandardScheme();
      }
    }

    private static class isRemoteBlobExists_argsStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<isRemoteBlobExists_args> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, isRemoteBlobExists_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // BLOB_KEY
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRING) {
                struct.blobKey = iprot.readString();
                struct.set_blobKey_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, isRemoteBlobExists_args struct) throws org.apache.storm.thrift.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.blobKey != null) {
          oprot.writeFieldBegin(BLOB_KEY_FIELD_DESC);
          oprot.writeString(struct.blobKey);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class isRemoteBlobExists_argsTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public isRemoteBlobExists_argsTupleScheme getScheme() {
        return new isRemoteBlobExists_argsTupleScheme();
      }
    }

    private static class isRemoteBlobExists_argsTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<isRemoteBlobExists_args> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, isRemoteBlobExists_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_blobKey()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.is_set_blobKey()) {
          oprot.writeString(struct.blobKey);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, isRemoteBlobExists_args struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.blobKey = iprot.readString();
          struct.set_blobKey_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
  public static class isRemoteBlobExists_result implements org.apache.storm.thrift.TBase<isRemoteBlobExists_result, isRemoteBlobExists_result._Fields>, java.io.Serializable, Cloneable, Comparable<isRemoteBlobExists_result>   {
    private static final org.apache.storm.thrift.protocol.TStruct STRUCT_DESC = new org.apache.storm.thrift.protocol.TStruct("isRemoteBlobExists_result");

    private static final org.apache.storm.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("success", org.apache.storm.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.storm.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.storm.thrift.protocol.TField("aze", org.apache.storm.thrift.protocol.TType.STRUCT, (short)1);

    private static final org.apache.storm.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isRemoteBlobExists_resultStandardSchemeFactory();
    private static final org.apache.storm.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isRemoteBlobExists_resultTupleSchemeFactory();

    private boolean success; // required
    private @org.apache.storm.thrift.annotation.Nullable AuthorizationException aze; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.storm.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      AZE((short)1, "aze");

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

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

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // AZE
            return AZE;
          default:
            return null;
        }
      }

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

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      @org.apache.storm.thrift.annotation.Nullable
      public static _Fields findByName(java.lang.String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final java.lang.String _fieldName;

      _Fields(short thriftId, java.lang.String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      @Override
      public short getThriftFieldId() {
        return _thriftId;
      }

      @Override
      public java.lang.String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private byte __isset_bitfield = 0;
    public static final java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      java.util.Map<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.storm.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.storm.thrift.meta_data.FieldMetaData("success", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.FieldValueMetaData(org.apache.storm.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.AZE, new org.apache.storm.thrift.meta_data.FieldMetaData("aze", org.apache.storm.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.storm.thrift.meta_data.StructMetaData(org.apache.storm.thrift.protocol.TType.STRUCT, AuthorizationException.class)));
      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
      org.apache.storm.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isRemoteBlobExists_result.class, metaDataMap);
    }

    public isRemoteBlobExists_result() {
    }

    public isRemoteBlobExists_result(
      boolean success,
      AuthorizationException aze)
    {
      this();
      this.success = success;
      set_success_isSet(true);
      this.aze = aze;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public isRemoteBlobExists_result(isRemoteBlobExists_result other) {
      __isset_bitfield = other.__isset_bitfield;
      this.success = other.success;
      if (other.is_set_aze()) {
        this.aze = new AuthorizationException(other.aze);
      }
    }

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

    @Override
    public void clear() {
      set_success_isSet(false);
      this.success = false;
      this.aze = null;
    }

    public boolean is_success() {
      return this.success;
    }

    public void set_success(boolean success) {
      this.success = success;
      set_success_isSet(true);
    }

    public void unset_success() {
      __isset_bitfield = org.apache.storm.thrift.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 org.apache.storm.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
    }

    public void set_success_isSet(boolean value) {
      __isset_bitfield = org.apache.storm.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
    }

    @org.apache.storm.thrift.annotation.Nullable
    public AuthorizationException get_aze() {
      return this.aze;
    }

    public void set_aze(@org.apache.storm.thrift.annotation.Nullable AuthorizationException aze) {
      this.aze = aze;
    }

    public void unset_aze() {
      this.aze = null;
    }

    /** Returns true if field aze is set (has been assigned a value) and false otherwise */
    public boolean is_set_aze() {
      return this.aze != null;
    }

    public void set_aze_isSet(boolean value) {
      if (!value) {
        this.aze = null;
      }
    }

    @Override
    public void setFieldValue(_Fields field, @org.apache.storm.thrift.annotation.Nullable java.lang.Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unset_success();
        } else {
          set_success((java.lang.Boolean)value);
        }
        break;

      case AZE:
        if (value == null) {
          unset_aze();
        } else {
          set_aze((AuthorizationException)value);
        }
        break;

      }
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public java.lang.Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return is_success();

      case AZE:
        return get_aze();

      }
      throw new java.lang.IllegalStateException();
    }

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

      switch (field) {
      case SUCCESS:
        return is_set_success();
      case AZE:
        return is_set_aze();
      }
      throw new java.lang.IllegalStateException();
    }

    @Override
    public boolean equals(java.lang.Object that) {
      if (that instanceof isRemoteBlobExists_result)
        return this.equals((isRemoteBlobExists_result)that);
      return false;
    }

    public boolean equals(isRemoteBlobExists_result that) {
      if (that == null)
        return false;
      if (this == that)
        return true;

      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_aze = true && this.is_set_aze();
      boolean that_present_aze = true && that.is_set_aze();
      if (this_present_aze || that_present_aze) {
        if (!(this_present_aze && that_present_aze))
          return false;
        if (!this.aze.equals(that.aze))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      int hashCode = 1;

      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);

      hashCode = hashCode * 8191 + ((is_set_aze()) ? 131071 : 524287);
      if (is_set_aze())
        hashCode = hashCode * 8191 + aze.hashCode();

      return hashCode;
    }

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

      int lastComparison = 0;

      lastComparison = java.lang.Boolean.compare(is_set_success(), other.is_set_success());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_success()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = java.lang.Boolean.compare(is_set_aze(), other.is_set_aze());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (is_set_aze()) {
        lastComparison = org.apache.storm.thrift.TBaseHelper.compareTo(this.aze, other.aze);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    @org.apache.storm.thrift.annotation.Nullable
    @Override
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    @Override
    public void read(org.apache.storm.thrift.protocol.TProtocol iprot) throws org.apache.storm.thrift.TException {
      scheme(iprot).read(iprot, this);
    }

    public void write(org.apache.storm.thrift.protocol.TProtocol oprot) throws org.apache.storm.thrift.TException {
      scheme(oprot).write(oprot, this);
      }

    @Override
    public java.lang.String toString() {
      java.lang.StringBuilder sb = new java.lang.StringBuilder("isRemoteBlobExists_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("aze:");
      if (this.aze == null) {
        sb.append("null");
      } else {
        sb.append(this.aze);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.storm.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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
      try {
        // 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.storm.thrift.protocol.TCompactProtocol(new org.apache.storm.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.storm.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class isRemoteBlobExists_resultStandardSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public isRemoteBlobExists_resultStandardScheme getScheme() {
        return new isRemoteBlobExists_resultStandardScheme();
      }
    }

    private static class isRemoteBlobExists_resultStandardScheme extends org.apache.storm.thrift.scheme.StandardScheme<isRemoteBlobExists_result> {

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol iprot, isRemoteBlobExists_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.storm.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.BOOL) {
                struct.success = iprot.readBool();
                struct.set_success_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // AZE
              if (schemeField.type == org.apache.storm.thrift.protocol.TType.STRUCT) {
                struct.aze = new AuthorizationException();
                struct.aze.read(iprot);
                struct.set_aze_isSet(true);
              } else { 
                org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.storm.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
        struct.validate();
      }

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol oprot, isRemoteBlobExists_result struct) throws org.apache.storm.thrift.TException {
        struct.validate();

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

    }

    private static class isRemoteBlobExists_resultTupleSchemeFactory implements org.apache.storm.thrift.scheme.SchemeFactory {
      @Override
      public isRemoteBlobExists_resultTupleScheme getScheme() {
        return new isRemoteBlobExists_resultTupleScheme();
      }
    }

    private static class isRemoteBlobExists_resultTupleScheme extends org.apache.storm.thrift.scheme.TupleScheme<isRemoteBlobExists_result> {

      @Override
      public void write(org.apache.storm.thrift.protocol.TProtocol prot, isRemoteBlobExists_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol oprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet optionals = new java.util.BitSet();
        if (struct.is_set_success()) {
          optionals.set(0);
        }
        if (struct.is_set_aze()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.is_set_success()) {
          oprot.writeBool(struct.success);
        }
        if (struct.is_set_aze()) {
          struct.aze.write(oprot);
        }
      }

      @Override
      public void read(org.apache.storm.thrift.protocol.TProtocol prot, isRemoteBlobExists_result struct) throws org.apache.storm.thrift.TException {
        org.apache.storm.thrift.protocol.TTupleProtocol iprot = (org.apache.storm.thrift.protocol.TTupleProtocol) prot;
        java.util.BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.success = iprot.readBool();
          struct.set_success_isSet(true);
        }
        if (incoming.get(1)) {
          struct.aze = new AuthorizationException();
          struct.aze.read(iprot);
          struct.set_aze_isSet(true);
        }
      }
    }

    private static <S extends org.apache.storm.thrift.scheme.IScheme> S scheme(org.apache.storm.thrift.protocol.TProtocol proto) {
      return (org.apache.storm.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
    }
  }

}
