content: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: ClusterStatus.proto
  
  package com.alibaba.wasp.protobuf.generated;
  
  public final class ClusterStatusProtos {
    private ClusterStatusProtos() {}
    public static void registerAllExtensions(
        com.google.protobuf.ExtensionRegistry registry) {
    }
    public interface EntityGroupStateProtosOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required .EntityGroupInfoProtos entityGroupInfo = 1;
      boolean hasEntityGroupInfo();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos getEntityGroupInfo();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtosOrBuilder getEntityGroupInfoOrBuilder();
      
      // required .EntityGroupStateProtos.State state = 2;
      boolean hasState();
      com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.State getState();
      
      // optional uint64 stamp = 3;
      boolean hasStamp();
      long getStamp();
    }
    public static final class EntityGroupStateProtos extends
        com.google.protobuf.GeneratedMessage
        implements EntityGroupStateProtosOrBuilder {
      // Use EntityGroupStateProtos.newBuilder() to construct.
      private EntityGroupStateProtos(Builder builder) {
        super(builder);
      }
      private EntityGroupStateProtos(boolean noInit) {}
      
      private static final EntityGroupStateProtos defaultInstance;
      public static EntityGroupStateProtos getDefaultInstance() {
        return defaultInstance;
      }
      
      public EntityGroupStateProtos getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.internal_static_EntityGroupStateProtos_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.internal_static_EntityGroupStateProtos_fieldAccessorTable;
      }
      
      public enum State
          implements com.google.protobuf.ProtocolMessageEnum {
        OFFLINE(0, 0),
        PENDING_OPEN(1, 1),
        OPENING(2, 2),
        OPEN(3, 3),
        PENDING_CLOSE(4, 4),
        CLOSING(5, 5),
        CLOSED(6, 6),
        SPLITTING(7, 7),
        SPLIT(8, 8),
        ;
        
        public static final int OFFLINE_VALUE = 0;
        public static final int PENDING_OPEN_VALUE = 1;
        public static final int OPENING_VALUE = 2;
        public static final int OPEN_VALUE = 3;
        public static final int PENDING_CLOSE_VALUE = 4;
        public static final int CLOSING_VALUE = 5;
        public static final int CLOSED_VALUE = 6;
        public static final int SPLITTING_VALUE = 7;
        public static final int SPLIT_VALUE = 8;
        
        
        public final int getNumber() { return value; }
        
        public static State valueOf(int value) {
          switch (value) {
            case 0: return OFFLINE;
            case 1: return PENDING_OPEN;
            case 2: return OPENING;
            case 3: return OPEN;
            case 4: return PENDING_CLOSE;
            case 5: return CLOSING;
            case 6: return CLOSED;
            case 7: return SPLITTING;
            case 8: return SPLIT;
            default: return null;
          }
        }
        
        public static com.google.protobuf.Internal.EnumLiteMap<State>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static com.google.protobuf.Internal.EnumLiteMap<State>
            internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<State>() {
                public State findValueByNumber(int number) {
                  return State.valueOf(number);
                }
              };
        
        public final com.google.protobuf.Descriptors.EnumValueDescriptor
            getValueDescriptor() {
          return getDescriptor().getValues().get(index);
        }
        public final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptorForType() {
          return getDescriptor();
        }
        public static final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.getDescriptor().getEnumTypes().get(0);
        }
        
        private static final State[] VALUES = {
          OFFLINE, PENDING_OPEN, OPENING, OPEN, PENDING_CLOSE, CLOSING, CLOSED, SPLITTING, SPLIT, 
        };
        
        public static State valueOf(
            com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
          if (desc.getType() != getDescriptor()) {
            throw new java.lang.IllegalArgumentException(
              "EnumValueDescriptor is not for this type.");
          }
          return VALUES[desc.getIndex()];
        }
        
        private final int index;
        private final int value;
        
        private State(int index, int value) {
          this.index = index;
          this.value = value;
        }
        
        // @@protoc_insertion_point(enum_scope:EntityGroupStateProtos.State)
      }
      
      private int bitField0_;
      // required .EntityGroupInfoProtos entityGroupInfo = 1;
      public static final int ENTITYGROUPINFO_FIELD_NUMBER = 1;
      private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos entityGroupInfo_;
      public boolean hasEntityGroupInfo() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos getEntityGroupInfo() {
        return entityGroupInfo_;
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtosOrBuilder getEntityGroupInfoOrBuilder() {
        return entityGroupInfo_;
      }
      
      // required .EntityGroupStateProtos.State state = 2;
      public static final int STATE_FIELD_NUMBER = 2;
      private com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.State state_;
      public boolean hasState() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.State getState() {
        return state_;
      }
      
      // optional uint64 stamp = 3;
      public static final int STAMP_FIELD_NUMBER = 3;
      private long stamp_;
      public boolean hasStamp() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public long getStamp() {
        return stamp_;
      }
      
      private void initFields() {
        entityGroupInfo_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos.getDefaultInstance();
        state_ = com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.State.OFFLINE;
        stamp_ = 0L;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasEntityGroupInfo()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasState()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getEntityGroupInfo().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
      
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeMessage(1, entityGroupInfo_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeEnum(2, state_.getNumber());
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeUInt64(3, stamp_);
        }
        getUnknownFields().writeTo(output);
      }
      
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
      
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, entityGroupInfo_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(2, state_.getNumber());
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(3, stamp_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos other = (com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos) obj;
        
        boolean result = true;
        result = result && (hasEntityGroupInfo() == other.hasEntityGroupInfo());
        if (hasEntityGroupInfo()) {
          result = result && getEntityGroupInfo()
              .equals(other.getEntityGroupInfo());
        }
        result = result && (hasState() == other.hasState());
        if (hasState()) {
          result = result &&
              (getState() == other.getState());
        }
        result = result && (hasStamp() == other.hasStamp());
        if (hasStamp()) {
          result = result && (getStamp()
              == other.getStamp());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasEntityGroupInfo()) {
          hash = (37 * hash) + ENTITYGROUPINFO_FIELD_NUMBER;
          hash = (53 * hash) + getEntityGroupInfo().hashCode();
        }
        if (hasState()) {
          hash = (37 * hash) + STATE_FIELD_NUMBER;
          hash = (53 * hash) + hashEnum(getState());
        }
        if (hasStamp()) {
          hash = (37 * hash) + STAMP_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getStamp());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtosOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.internal_static_EntityGroupStateProtos_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.internal_static_EntityGroupStateProtos_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getEntityGroupInfoFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          if (entityGroupInfoBuilder_ == null) {
            entityGroupInfo_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos.getDefaultInstance();
          } else {
            entityGroupInfoBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          state_ = com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.State.OFFLINE;
          bitField0_ = (bitField0_ & ~0x00000002);
          stamp_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000004);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos build() {
          com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos result = new com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (entityGroupInfoBuilder_ == null) {
            result.entityGroupInfo_ = entityGroupInfo_;
          } else {
            result.entityGroupInfo_ = entityGroupInfoBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.state_ = state_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.stamp_ = stamp_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.getDefaultInstance()) return this;
          if (other.hasEntityGroupInfo()) {
            mergeEntityGroupInfo(other.getEntityGroupInfo());
          }
          if (other.hasState()) {
            setState(other.getState());
          }
          if (other.hasStamp()) {
            setStamp(other.getStamp());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasEntityGroupInfo()) {
            
            return false;
          }
          if (!hasState()) {
            
            return false;
          }
          if (!getEntityGroupInfo().isInitialized()) {
            
            return false;
          }
          return true;
        }
        
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
              case 10: {
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos.Builder subBuilder = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos.newBuilder();
                if (hasEntityGroupInfo()) {
                  subBuilder.mergeFrom(getEntityGroupInfo());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setEntityGroupInfo(subBuilder.buildPartial());
                break;
              }
              case 16: {
                int rawValue = input.readEnum();
                com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.State value = com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.State.valueOf(rawValue);
                if (value == null) {
                  unknownFields.mergeVarintField(2, rawValue);
                } else {
                  bitField0_ |= 0x00000002;
                  state_ = value;
                }
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                stamp_ = input.readUInt64();
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required .EntityGroupInfoProtos entityGroupInfo = 1;
        private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos entityGroupInfo_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtosOrBuilder> entityGroupInfoBuilder_;
        public boolean hasEntityGroupInfo() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos getEntityGroupInfo() {
          if (entityGroupInfoBuilder_ == null) {
            return entityGroupInfo_;
          } else {
            return entityGroupInfoBuilder_.getMessage();
          }
        }
        public Builder setEntityGroupInfo(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos value) {
          if (entityGroupInfoBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            entityGroupInfo_ = value;
            onChanged();
          } else {
            entityGroupInfoBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder setEntityGroupInfo(
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos.Builder builderForValue) {
          if (entityGroupInfoBuilder_ == null) {
            entityGroupInfo_ = builderForValue.build();
            onChanged();
          } else {
            entityGroupInfoBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder mergeEntityGroupInfo(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos value) {
          if (entityGroupInfoBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                entityGroupInfo_ != com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos.getDefaultInstance()) {
              entityGroupInfo_ =
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos.newBuilder(entityGroupInfo_).mergeFrom(value).buildPartial();
            } else {
              entityGroupInfo_ = value;
            }
            onChanged();
          } else {
            entityGroupInfoBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder clearEntityGroupInfo() {
          if (entityGroupInfoBuilder_ == null) {
            entityGroupInfo_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos.getDefaultInstance();
            onChanged();
          } else {
            entityGroupInfoBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos.Builder getEntityGroupInfoBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getEntityGroupInfoFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtosOrBuilder getEntityGroupInfoOrBuilder() {
          if (entityGroupInfoBuilder_ != null) {
            return entityGroupInfoBuilder_.getMessageOrBuilder();
          } else {
            return entityGroupInfo_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtosOrBuilder> 
            getEntityGroupInfoFieldBuilder() {
          if (entityGroupInfoBuilder_ == null) {
            entityGroupInfoBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtosOrBuilder>(
                    entityGroupInfo_,
                    getParentForChildren(),
                    isClean());
            entityGroupInfo_ = null;
          }
          return entityGroupInfoBuilder_;
        }
        
        // required .EntityGroupStateProtos.State state = 2;
        private com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.State state_ = com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.State.OFFLINE;
        public boolean hasState() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.State getState() {
          return state_;
        }
        public Builder setState(com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.State value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000002;
          state_ = value;
          onChanged();
          return this;
        }
        public Builder clearState() {
          bitField0_ = (bitField0_ & ~0x00000002);
          state_ = com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.State.OFFLINE;
          onChanged();
          return this;
        }
        
        // optional uint64 stamp = 3;
        private long stamp_ ;
        public boolean hasStamp() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        public long getStamp() {
          return stamp_;
        }
        public Builder setStamp(long value) {
          bitField0_ |= 0x00000004;
          stamp_ = value;
          onChanged();
          return this;
        }
        public Builder clearStamp() {
          bitField0_ = (bitField0_ & ~0x00000004);
          stamp_ = 0L;
          onChanged();
          return this;
        }
        
        // @@protoc_insertion_point(builder_scope:EntityGroupStateProtos)
      }
      
      static {
        defaultInstance = new EntityGroupStateProtos(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:EntityGroupStateProtos)
    }
    
    public interface EntityGroupInTransitionProtosOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required .EntityGroupSpecifier spec = 1;
      boolean hasSpec();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getSpec();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getSpecOrBuilder();
      
      // required .EntityGroupStateProtos entityGroupState = 2;
      boolean hasEntityGroupState();
      com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos getEntityGroupState();
      com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtosOrBuilder getEntityGroupStateOrBuilder();
    }
    public static final class EntityGroupInTransitionProtos extends
        com.google.protobuf.GeneratedMessage
        implements EntityGroupInTransitionProtosOrBuilder {
      // Use EntityGroupInTransitionProtos.newBuilder() to construct.
      private EntityGroupInTransitionProtos(Builder builder) {
        super(builder);
      }
      private EntityGroupInTransitionProtos(boolean noInit) {}
      
      private static final EntityGroupInTransitionProtos defaultInstance;
      public static EntityGroupInTransitionProtos getDefaultInstance() {
        return defaultInstance;
      }
      
      public EntityGroupInTransitionProtos getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.internal_static_EntityGroupInTransitionProtos_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.internal_static_EntityGroupInTransitionProtos_fieldAccessorTable;
      }
      
      private int bitField0_;
      // required .EntityGroupSpecifier spec = 1;
      public static final int SPEC_FIELD_NUMBER = 1;
      private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier spec_;
      public boolean hasSpec() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getSpec() {
        return spec_;
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getSpecOrBuilder() {
        return spec_;
      }
      
      // required .EntityGroupStateProtos entityGroupState = 2;
      public static final int ENTITYGROUPSTATE_FIELD_NUMBER = 2;
      private com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos entityGroupState_;
      public boolean hasEntityGroupState() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos getEntityGroupState() {
        return entityGroupState_;
      }
      public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtosOrBuilder getEntityGroupStateOrBuilder() {
        return entityGroupState_;
      }
      
      private void initFields() {
        spec_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
        entityGroupState_ = com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasSpec()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasEntityGroupState()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getSpec().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getEntityGroupState().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
      
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeMessage(1, spec_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(2, entityGroupState_);
        }
        getUnknownFields().writeTo(output);
      }
      
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
      
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, spec_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, entityGroupState_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos other = (com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos) obj;
        
        boolean result = true;
        result = result && (hasSpec() == other.hasSpec());
        if (hasSpec()) {
          result = result && getSpec()
              .equals(other.getSpec());
        }
        result = result && (hasEntityGroupState() == other.hasEntityGroupState());
        if (hasEntityGroupState()) {
          result = result && getEntityGroupState()
              .equals(other.getEntityGroupState());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasSpec()) {
          hash = (37 * hash) + SPEC_FIELD_NUMBER;
          hash = (53 * hash) + getSpec().hashCode();
        }
        if (hasEntityGroupState()) {
          hash = (37 * hash) + ENTITYGROUPSTATE_FIELD_NUMBER;
          hash = (53 * hash) + getEntityGroupState().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtosOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.internal_static_EntityGroupInTransitionProtos_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.internal_static_EntityGroupInTransitionProtos_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getSpecFieldBuilder();
            getEntityGroupStateFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          if (specBuilder_ == null) {
            spec_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
          } else {
            specBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          if (entityGroupStateBuilder_ == null) {
            entityGroupState_ = com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.getDefaultInstance();
          } else {
            entityGroupStateBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos build() {
          com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos result = new com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (specBuilder_ == null) {
            result.spec_ = spec_;
          } else {
            result.spec_ = specBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (entityGroupStateBuilder_ == null) {
            result.entityGroupState_ = entityGroupState_;
          } else {
            result.entityGroupState_ = entityGroupStateBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos.getDefaultInstance()) return this;
          if (other.hasSpec()) {
            mergeSpec(other.getSpec());
          }
          if (other.hasEntityGroupState()) {
            mergeEntityGroupState(other.getEntityGroupState());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasSpec()) {
            
            return false;
          }
          if (!hasEntityGroupState()) {
            
            return false;
          }
          if (!getSpec().isInitialized()) {
            
            return false;
          }
          if (!getEntityGroupState().isInitialized()) {
            
            return false;
          }
          return true;
        }
        
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
              case 10: {
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder subBuilder = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.newBuilder();
                if (hasSpec()) {
                  subBuilder.mergeFrom(getSpec());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setSpec(subBuilder.buildPartial());
                break;
              }
              case 18: {
                com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.Builder subBuilder = com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.newBuilder();
                if (hasEntityGroupState()) {
                  subBuilder.mergeFrom(getEntityGroupState());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setEntityGroupState(subBuilder.buildPartial());
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required .EntityGroupSpecifier spec = 1;
        private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier spec_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder> specBuilder_;
        public boolean hasSpec() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getSpec() {
          if (specBuilder_ == null) {
            return spec_;
          } else {
            return specBuilder_.getMessage();
          }
        }
        public Builder setSpec(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier value) {
          if (specBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            spec_ = value;
            onChanged();
          } else {
            specBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder setSpec(
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder builderForValue) {
          if (specBuilder_ == null) {
            spec_ = builderForValue.build();
            onChanged();
          } else {
            specBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder mergeSpec(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier value) {
          if (specBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                spec_ != com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance()) {
              spec_ =
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.newBuilder(spec_).mergeFrom(value).buildPartial();
            } else {
              spec_ = value;
            }
            onChanged();
          } else {
            specBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder clearSpec() {
          if (specBuilder_ == null) {
            spec_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
            onChanged();
          } else {
            specBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder getSpecBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getSpecFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getSpecOrBuilder() {
          if (specBuilder_ != null) {
            return specBuilder_.getMessageOrBuilder();
          } else {
            return spec_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder> 
            getSpecFieldBuilder() {
          if (specBuilder_ == null) {
            specBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder>(
                    spec_,
                    getParentForChildren(),
                    isClean());
            spec_ = null;
          }
          return specBuilder_;
        }
        
        // required .EntityGroupStateProtos entityGroupState = 2;
        private com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos entityGroupState_ = com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.Builder, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtosOrBuilder> entityGroupStateBuilder_;
        public boolean hasEntityGroupState() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos getEntityGroupState() {
          if (entityGroupStateBuilder_ == null) {
            return entityGroupState_;
          } else {
            return entityGroupStateBuilder_.getMessage();
          }
        }
        public Builder setEntityGroupState(com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos value) {
          if (entityGroupStateBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            entityGroupState_ = value;
            onChanged();
          } else {
            entityGroupStateBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder setEntityGroupState(
            com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.Builder builderForValue) {
          if (entityGroupStateBuilder_ == null) {
            entityGroupState_ = builderForValue.build();
            onChanged();
          } else {
            entityGroupStateBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder mergeEntityGroupState(com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos value) {
          if (entityGroupStateBuilder_ == null) {
            if (((bitField0_ & 0x00000002) == 0x00000002) &&
                entityGroupState_ != com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.getDefaultInstance()) {
              entityGroupState_ =
                com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.newBuilder(entityGroupState_).mergeFrom(value).buildPartial();
            } else {
              entityGroupState_ = value;
            }
            onChanged();
          } else {
            entityGroupStateBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder clearEntityGroupState() {
          if (entityGroupStateBuilder_ == null) {
            entityGroupState_ = com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.getDefaultInstance();
            onChanged();
          } else {
            entityGroupStateBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.Builder getEntityGroupStateBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getEntityGroupStateFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtosOrBuilder getEntityGroupStateOrBuilder() {
          if (entityGroupStateBuilder_ != null) {
            return entityGroupStateBuilder_.getMessageOrBuilder();
          } else {
            return entityGroupState_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.Builder, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtosOrBuilder> 
            getEntityGroupStateFieldBuilder() {
          if (entityGroupStateBuilder_ == null) {
            entityGroupStateBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.Builder, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtosOrBuilder>(
                    entityGroupState_,
                    getParentForChildren(),
                    isClean());
            entityGroupState_ = null;
          }
          return entityGroupStateBuilder_;
        }
        
        // @@protoc_insertion_point(builder_scope:EntityGroupInTransitionProtos)
      }
      
      static {
        defaultInstance = new EntityGroupInTransitionProtos(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:EntityGroupInTransitionProtos)
    }
    
    public interface LiveServerInfoOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required .ServerName server = 1;
      boolean hasServer();
      com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName getServer();
      com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder getServerOrBuilder();
      
      // required .ServerLoadProtos serverLoad = 2;
      boolean hasServerLoad();
      com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos getServerLoad();
      com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtosOrBuilder getServerLoadOrBuilder();
    }
    public static final class LiveServerInfo extends
        com.google.protobuf.GeneratedMessage
        implements LiveServerInfoOrBuilder {
      // Use LiveServerInfo.newBuilder() to construct.
      private LiveServerInfo(Builder builder) {
        super(builder);
      }
      private LiveServerInfo(boolean noInit) {}
      
      private static final LiveServerInfo defaultInstance;
      public static LiveServerInfo getDefaultInstance() {
        return defaultInstance;
      }
      
      public LiveServerInfo getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.internal_static_LiveServerInfo_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.internal_static_LiveServerInfo_fieldAccessorTable;
      }
      
      private int bitField0_;
      // required .ServerName server = 1;
      public static final int SERVER_FIELD_NUMBER = 1;
      private com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName server_;
      public boolean hasServer() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName getServer() {
        return server_;
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder getServerOrBuilder() {
        return server_;
      }
      
      // required .ServerLoadProtos serverLoad = 2;
      public static final int SERVERLOAD_FIELD_NUMBER = 2;
      private com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos serverLoad_;
      public boolean hasServerLoad() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos getServerLoad() {
        return serverLoad_;
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtosOrBuilder getServerLoadOrBuilder() {
        return serverLoad_;
      }
      
      private void initFields() {
        server_ = com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.getDefaultInstance();
        serverLoad_ = com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasServer()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasServerLoad()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getServer().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getServerLoad().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
      
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeMessage(1, server_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(2, serverLoad_);
        }
        getUnknownFields().writeTo(output);
      }
      
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
      
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, server_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, serverLoad_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo other = (com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo) obj;
        
        boolean result = true;
        result = result && (hasServer() == other.hasServer());
        if (hasServer()) {
          result = result && getServer()
              .equals(other.getServer());
        }
        result = result && (hasServerLoad() == other.hasServerLoad());
        if (hasServerLoad()) {
          result = result && getServerLoad()
              .equals(other.getServerLoad());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasServer()) {
          hash = (37 * hash) + SERVER_FIELD_NUMBER;
          hash = (53 * hash) + getServer().hashCode();
        }
        if (hasServerLoad()) {
          hash = (37 * hash) + SERVERLOAD_FIELD_NUMBER;
          hash = (53 * hash) + getServerLoad().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfoOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.internal_static_LiveServerInfo_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.internal_static_LiveServerInfo_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getServerFieldBuilder();
            getServerLoadFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          if (serverBuilder_ == null) {
            server_ = com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.getDefaultInstance();
          } else {
            serverBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          if (serverLoadBuilder_ == null) {
            serverLoad_ = com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos.getDefaultInstance();
          } else {
            serverLoadBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo build() {
          com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo result = new com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (serverBuilder_ == null) {
            result.server_ = server_;
          } else {
            result.server_ = serverBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (serverLoadBuilder_ == null) {
            result.serverLoad_ = serverLoad_;
          } else {
            result.serverLoad_ = serverLoadBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo.getDefaultInstance()) return this;
          if (other.hasServer()) {
            mergeServer(other.getServer());
          }
          if (other.hasServerLoad()) {
            mergeServerLoad(other.getServerLoad());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasServer()) {
            
            return false;
          }
          if (!hasServerLoad()) {
            
            return false;
          }
          if (!getServer().isInitialized()) {
            
            return false;
          }
          if (!getServerLoad().isInitialized()) {
            
            return false;
          }
          return true;
        }
        
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
              case 10: {
                com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder subBuilder = com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.newBuilder();
                if (hasServer()) {
                  subBuilder.mergeFrom(getServer());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setServer(subBuilder.buildPartial());
                break;
              }
              case 18: {
                com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos.Builder subBuilder = com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos.newBuilder();
                if (hasServerLoad()) {
                  subBuilder.mergeFrom(getServerLoad());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setServerLoad(subBuilder.buildPartial());
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required .ServerName server = 1;
        private com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName server_ = com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder> serverBuilder_;
        public boolean hasServer() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName getServer() {
          if (serverBuilder_ == null) {
            return server_;
          } else {
            return serverBuilder_.getMessage();
          }
        }
        public Builder setServer(com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName value) {
          if (serverBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            server_ = value;
            onChanged();
          } else {
            serverBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder setServer(
            com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder builderForValue) {
          if (serverBuilder_ == null) {
            server_ = builderForValue.build();
            onChanged();
          } else {
            serverBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder mergeServer(com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName value) {
          if (serverBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                server_ != com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.getDefaultInstance()) {
              server_ =
                com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.newBuilder(server_).mergeFrom(value).buildPartial();
            } else {
              server_ = value;
            }
            onChanged();
          } else {
            serverBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder clearServer() {
          if (serverBuilder_ == null) {
            server_ = com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.getDefaultInstance();
            onChanged();
          } else {
            serverBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder getServerBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getServerFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder getServerOrBuilder() {
          if (serverBuilder_ != null) {
            return serverBuilder_.getMessageOrBuilder();
          } else {
            return server_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder> 
            getServerFieldBuilder() {
          if (serverBuilder_ == null) {
            serverBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder>(
                    server_,
                    getParentForChildren(),
                    isClean());
            server_ = null;
          }
          return serverBuilder_;
        }
        
        // required .ServerLoadProtos serverLoad = 2;
        private com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos serverLoad_ = com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtosOrBuilder> serverLoadBuilder_;
        public boolean hasServerLoad() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos getServerLoad() {
          if (serverLoadBuilder_ == null) {
            return serverLoad_;
          } else {
            return serverLoadBuilder_.getMessage();
          }
        }
        public Builder setServerLoad(com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos value) {
          if (serverLoadBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            serverLoad_ = value;
            onChanged();
          } else {
            serverLoadBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder setServerLoad(
            com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos.Builder builderForValue) {
          if (serverLoadBuilder_ == null) {
            serverLoad_ = builderForValue.build();
            onChanged();
          } else {
            serverLoadBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder mergeServerLoad(com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos value) {
          if (serverLoadBuilder_ == null) {
            if (((bitField0_ & 0x00000002) == 0x00000002) &&
                serverLoad_ != com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos.getDefaultInstance()) {
              serverLoad_ =
                com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos.newBuilder(serverLoad_).mergeFrom(value).buildPartial();
            } else {
              serverLoad_ = value;
            }
            onChanged();
          } else {
            serverLoadBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder clearServerLoad() {
          if (serverLoadBuilder_ == null) {
            serverLoad_ = com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos.getDefaultInstance();
            onChanged();
          } else {
            serverLoadBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos.Builder getServerLoadBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getServerLoadFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtosOrBuilder getServerLoadOrBuilder() {
          if (serverLoadBuilder_ != null) {
            return serverLoadBuilder_.getMessageOrBuilder();
          } else {
            return serverLoad_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtosOrBuilder> 
            getServerLoadFieldBuilder() {
          if (serverLoadBuilder_ == null) {
            serverLoadBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtosOrBuilder>(
                    serverLoad_,
                    getParentForChildren(),
                    isClean());
            serverLoad_ = null;
          }
          return serverLoadBuilder_;
        }
        
        // @@protoc_insertion_point(builder_scope:LiveServerInfo)
      }
      
      static {
        defaultInstance = new LiveServerInfo(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:LiveServerInfo)
    }
    
    public interface ClusterStatusOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // repeated .LiveServerInfo liveServers = 2;
      java.util.List<com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo> 
          getLiveServersList();
      com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo getLiveServers(int index);
      int getLiveServersCount();
      java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfoOrBuilder> 
          getLiveServersOrBuilderList();
      com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfoOrBuilder getLiveServersOrBuilder(
          int index);
      
      // repeated .ServerName deadServers = 3;
      java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName> 
          getDeadServersList();
      com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName getDeadServers(int index);
      int getDeadServersCount();
      java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder> 
          getDeadServersOrBuilderList();
      com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder getDeadServersOrBuilder(
          int index);
      
      // repeated .EntityGroupInTransitionProtos entityGroupsInTransition = 4;
      java.util.List<com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos> 
          getEntityGroupsInTransitionList();
      com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos getEntityGroupsInTransition(int index);
      int getEntityGroupsInTransitionCount();
      java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtosOrBuilder> 
          getEntityGroupsInTransitionOrBuilderList();
      com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtosOrBuilder getEntityGroupsInTransitionOrBuilder(
          int index);
      
      // optional .ClusterId clusterId = 5;
      boolean hasClusterId();
      com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId getClusterId();
      com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterIdOrBuilder getClusterIdOrBuilder();
      
      // optional .ServerName master = 7;
      boolean hasMaster();
      com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName getMaster();
      com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder getMasterOrBuilder();
      
      // repeated .ServerName backupMasters = 8;
      java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName> 
          getBackupMastersList();
      com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName getBackupMasters(int index);
      int getBackupMastersCount();
      java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder> 
          getBackupMastersOrBuilderList();
      com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder getBackupMastersOrBuilder(
          int index);
      
      // optional bool balancerOn = 9;
      boolean hasBalancerOn();
      boolean getBalancerOn();
    }
    public static final class ClusterStatus extends
        com.google.protobuf.GeneratedMessage
        implements ClusterStatusOrBuilder {
      // Use ClusterStatus.newBuilder() to construct.
      private ClusterStatus(Builder builder) {
        super(builder);
      }
      private ClusterStatus(boolean noInit) {}
      
      private static final ClusterStatus defaultInstance;
      public static ClusterStatus getDefaultInstance() {
        return defaultInstance;
      }
      
      public ClusterStatus getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.internal_static_ClusterStatus_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.internal_static_ClusterStatus_fieldAccessorTable;
      }
      
      private int bitField0_;
      // repeated .LiveServerInfo liveServers = 2;
      public static final int LIVESERVERS_FIELD_NUMBER = 2;
      private java.util.List<com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo> liveServers_;
      public java.util.List<com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo> getLiveServersList() {
        return liveServers_;
      }
      public java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfoOrBuilder> 
          getLiveServersOrBuilderList() {
        return liveServers_;
      }
      public int getLiveServersCount() {
        return liveServers_.size();
      }
      public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo getLiveServers(int index) {
        return liveServers_.get(index);
      }
      public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfoOrBuilder getLiveServersOrBuilder(
          int index) {
        return liveServers_.get(index);
      }
      
      // repeated .ServerName deadServers = 3;
      public static final int DEADSERVERS_FIELD_NUMBER = 3;
      private java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName> deadServers_;
      public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName> getDeadServersList() {
        return deadServers_;
      }
      public java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder> 
          getDeadServersOrBuilderList() {
        return deadServers_;
      }
      public int getDeadServersCount() {
        return deadServers_.size();
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName getDeadServers(int index) {
        return deadServers_.get(index);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder getDeadServersOrBuilder(
          int index) {
        return deadServers_.get(index);
      }
      
      // repeated .EntityGroupInTransitionProtos entityGroupsInTransition = 4;
      public static final int ENTITYGROUPSINTRANSITION_FIELD_NUMBER = 4;
      private java.util.List<com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos> entityGroupsInTransition_;
      public java.util.List<com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos> getEntityGroupsInTransitionList() {
        return entityGroupsInTransition_;
      }
      public java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtosOrBuilder> 
          getEntityGroupsInTransitionOrBuilderList() {
        return entityGroupsInTransition_;
      }
      public int getEntityGroupsInTransitionCount() {
        return entityGroupsInTransition_.size();
      }
      public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos getEntityGroupsInTransition(int index) {
        return entityGroupsInTransition_.get(index);
      }
      public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtosOrBuilder getEntityGroupsInTransitionOrBuilder(
          int index) {
        return entityGroupsInTransition_.get(index);
      }
      
      // optional .ClusterId clusterId = 5;
      public static final int CLUSTERID_FIELD_NUMBER = 5;
      private com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId clusterId_;
      public boolean hasClusterId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId getClusterId() {
        return clusterId_;
      }
      public com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterIdOrBuilder getClusterIdOrBuilder() {
        return clusterId_;
      }
      
      // optional .ServerName master = 7;
      public static final int MASTER_FIELD_NUMBER = 7;
      private com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName master_;
      public boolean hasMaster() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName getMaster() {
        return master_;
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder getMasterOrBuilder() {
        return master_;
      }
      
      // repeated .ServerName backupMasters = 8;
      public static final int BACKUPMASTERS_FIELD_NUMBER = 8;
      private java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName> backupMasters_;
      public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName> getBackupMastersList() {
        return backupMasters_;
      }
      public java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder> 
          getBackupMastersOrBuilderList() {
        return backupMasters_;
      }
      public int getBackupMastersCount() {
        return backupMasters_.size();
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName getBackupMasters(int index) {
        return backupMasters_.get(index);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder getBackupMastersOrBuilder(
          int index) {
        return backupMasters_.get(index);
      }
      
      // optional bool balancerOn = 9;
      public static final int BALANCERON_FIELD_NUMBER = 9;
      private boolean balancerOn_;
      public boolean hasBalancerOn() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public boolean getBalancerOn() {
        return balancerOn_;
      }
      
      private void initFields() {
        liveServers_ = java.util.Collections.emptyList();
        deadServers_ = java.util.Collections.emptyList();
        entityGroupsInTransition_ = java.util.Collections.emptyList();
        clusterId_ = com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId.getDefaultInstance();
        master_ = com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.getDefaultInstance();
        backupMasters_ = java.util.Collections.emptyList();
        balancerOn_ = false;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        for (int i = 0; i < getLiveServersCount(); i++) {
          if (!getLiveServers(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        for (int i = 0; i < getDeadServersCount(); i++) {
          if (!getDeadServers(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        for (int i = 0; i < getEntityGroupsInTransitionCount(); i++) {
          if (!getEntityGroupsInTransition(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasClusterId()) {
          if (!getClusterId().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasMaster()) {
          if (!getMaster().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        for (int i = 0; i < getBackupMastersCount(); i++) {
          if (!getBackupMasters(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
      
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        for (int i = 0; i < liveServers_.size(); i++) {
          output.writeMessage(2, liveServers_.get(i));
        }
        for (int i = 0; i < deadServers_.size(); i++) {
          output.writeMessage(3, deadServers_.get(i));
        }
        for (int i = 0; i < entityGroupsInTransition_.size(); i++) {
          output.writeMessage(4, entityGroupsInTransition_.get(i));
        }
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeMessage(5, clusterId_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(7, master_);
        }
        for (int i = 0; i < backupMasters_.size(); i++) {
          output.writeMessage(8, backupMasters_.get(i));
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeBool(9, balancerOn_);
        }
        getUnknownFields().writeTo(output);
      }
      
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
      
        size = 0;
        for (int i = 0; i < liveServers_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, liveServers_.get(i));
        }
        for (int i = 0; i < deadServers_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, deadServers_.get(i));
        }
        for (int i = 0; i < entityGroupsInTransition_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(4, entityGroupsInTransition_.get(i));
        }
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(5, clusterId_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(7, master_);
        }
        for (int i = 0; i < backupMasters_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(8, backupMasters_.get(i));
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(9, balancerOn_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus other = (com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus) obj;
        
        boolean result = true;
        result = result && getLiveServersList()
            .equals(other.getLiveServersList());
        result = result && getDeadServersList()
            .equals(other.getDeadServersList());
        result = result && getEntityGroupsInTransitionList()
            .equals(other.getEntityGroupsInTransitionList());
        result = result && (hasClusterId() == other.hasClusterId());
        if (hasClusterId()) {
          result = result && getClusterId()
              .equals(other.getClusterId());
        }
        result = result && (hasMaster() == other.hasMaster());
        if (hasMaster()) {
          result = result && getMaster()
              .equals(other.getMaster());
        }
        result = result && getBackupMastersList()
            .equals(other.getBackupMastersList());
        result = result && (hasBalancerOn() == other.hasBalancerOn());
        if (hasBalancerOn()) {
          result = result && (getBalancerOn()
              == other.getBalancerOn());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (getLiveServersCount() > 0) {
          hash = (37 * hash) + LIVESERVERS_FIELD_NUMBER;
          hash = (53 * hash) + getLiveServersList().hashCode();
        }
        if (getDeadServersCount() > 0) {
          hash = (37 * hash) + DEADSERVERS_FIELD_NUMBER;
          hash = (53 * hash) + getDeadServersList().hashCode();
        }
        if (getEntityGroupsInTransitionCount() > 0) {
          hash = (37 * hash) + ENTITYGROUPSINTRANSITION_FIELD_NUMBER;
          hash = (53 * hash) + getEntityGroupsInTransitionList().hashCode();
        }
        if (hasClusterId()) {
          hash = (37 * hash) + CLUSTERID_FIELD_NUMBER;
          hash = (53 * hash) + getClusterId().hashCode();
        }
        if (hasMaster()) {
          hash = (37 * hash) + MASTER_FIELD_NUMBER;
          hash = (53 * hash) + getMaster().hashCode();
        }
        if (getBackupMastersCount() > 0) {
          hash = (37 * hash) + BACKUPMASTERS_FIELD_NUMBER;
          hash = (53 * hash) + getBackupMastersList().hashCode();
        }
        if (hasBalancerOn()) {
          hash = (37 * hash) + BALANCERON_FIELD_NUMBER;
          hash = (53 * hash) + hashBoolean(getBalancerOn());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatusOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.internal_static_ClusterStatus_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.internal_static_ClusterStatus_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getLiveServersFieldBuilder();
            getDeadServersFieldBuilder();
            getEntityGroupsInTransitionFieldBuilder();
            getClusterIdFieldBuilder();
            getMasterFieldBuilder();
            getBackupMastersFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          if (liveServersBuilder_ == null) {
            liveServers_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            liveServersBuilder_.clear();
          }
          if (deadServersBuilder_ == null) {
            deadServers_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            deadServersBuilder_.clear();
          }
          if (entityGroupsInTransitionBuilder_ == null) {
            entityGroupsInTransition_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            entityGroupsInTransitionBuilder_.clear();
          }
          if (clusterIdBuilder_ == null) {
            clusterId_ = com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId.getDefaultInstance();
          } else {
            clusterIdBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000008);
          if (masterBuilder_ == null) {
            master_ = com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.getDefaultInstance();
          } else {
            masterBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          if (backupMastersBuilder_ == null) {
            backupMasters_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000020);
          } else {
            backupMastersBuilder_.clear();
          }
          balancerOn_ = false;
          bitField0_ = (bitField0_ & ~0x00000040);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus build() {
          com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus result = new com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (liveServersBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              liveServers_ = java.util.Collections.unmodifiableList(liveServers_);
              bitField0_ = (bitField0_ & ~0x00000001);
            }
            result.liveServers_ = liveServers_;
          } else {
            result.liveServers_ = liveServersBuilder_.build();
          }
          if (deadServersBuilder_ == null) {
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
              deadServers_ = java.util.Collections.unmodifiableList(deadServers_);
              bitField0_ = (bitField0_ & ~0x00000002);
            }
            result.deadServers_ = deadServers_;
          } else {
            result.deadServers_ = deadServersBuilder_.build();
          }
          if (entityGroupsInTransitionBuilder_ == null) {
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              entityGroupsInTransition_ = java.util.Collections.unmodifiableList(entityGroupsInTransition_);
              bitField0_ = (bitField0_ & ~0x00000004);
            }
            result.entityGroupsInTransition_ = entityGroupsInTransition_;
          } else {
            result.entityGroupsInTransition_ = entityGroupsInTransitionBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000001;
          }
          if (clusterIdBuilder_ == null) {
            result.clusterId_ = clusterId_;
          } else {
            result.clusterId_ = clusterIdBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
            to_bitField0_ |= 0x00000002;
          }
          if (masterBuilder_ == null) {
            result.master_ = master_;
          } else {
            result.master_ = masterBuilder_.build();
          }
          if (backupMastersBuilder_ == null) {
            if (((bitField0_ & 0x00000020) == 0x00000020)) {
              backupMasters_ = java.util.Collections.unmodifiableList(backupMasters_);
              bitField0_ = (bitField0_ & ~0x00000020);
            }
            result.backupMasters_ = backupMasters_;
          } else {
            result.backupMasters_ = backupMastersBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
            to_bitField0_ |= 0x00000004;
          }
          result.balancerOn_ = balancerOn_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus.getDefaultInstance()) return this;
          if (liveServersBuilder_ == null) {
            if (!other.liveServers_.isEmpty()) {
              if (liveServers_.isEmpty()) {
                liveServers_ = other.liveServers_;
                bitField0_ = (bitField0_ & ~0x00000001);
              } else {
                ensureLiveServersIsMutable();
                liveServers_.addAll(other.liveServers_);
              }
              onChanged();
            }
          } else {
            if (!other.liveServers_.isEmpty()) {
              if (liveServersBuilder_.isEmpty()) {
                liveServersBuilder_.dispose();
                liveServersBuilder_ = null;
                liveServers_ = other.liveServers_;
                bitField0_ = (bitField0_ & ~0x00000001);
                liveServersBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getLiveServersFieldBuilder() : null;
              } else {
                liveServersBuilder_.addAllMessages(other.liveServers_);
              }
            }
          }
          if (deadServersBuilder_ == null) {
            if (!other.deadServers_.isEmpty()) {
              if (deadServers_.isEmpty()) {
                deadServers_ = other.deadServers_;
                bitField0_ = (bitField0_ & ~0x00000002);
              } else {
                ensureDeadServersIsMutable();
                deadServers_.addAll(other.deadServers_);
              }
              onChanged();
            }
          } else {
            if (!other.deadServers_.isEmpty()) {
              if (deadServersBuilder_.isEmpty()) {
                deadServersBuilder_.dispose();
                deadServersBuilder_ = null;
                deadServers_ = other.deadServers_;
                bitField0_ = (bitField0_ & ~0x00000002);
                deadServersBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getDeadServersFieldBuilder() : null;
              } else {
                deadServersBuilder_.addAllMessages(other.deadServers_);
              }
            }
          }
          if (entityGroupsInTransitionBuilder_ == null) {
            if (!other.entityGroupsInTransition_.isEmpty()) {
              if (entityGroupsInTransition_.isEmpty()) {
                entityGroupsInTransition_ = other.entityGroupsInTransition_;
                bitField0_ = (bitField0_ & ~0x00000004);
              } else {
                ensureEntityGroupsInTransitionIsMutable();
                entityGroupsInTransition_.addAll(other.entityGroupsInTransition_);
              }
              onChanged();
            }
          } else {
            if (!other.entityGroupsInTransition_.isEmpty()) {
              if (entityGroupsInTransitionBuilder_.isEmpty()) {
                entityGroupsInTransitionBuilder_.dispose();
                entityGroupsInTransitionBuilder_ = null;
                entityGroupsInTransition_ = other.entityGroupsInTransition_;
                bitField0_ = (bitField0_ & ~0x00000004);
                entityGroupsInTransitionBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getEntityGroupsInTransitionFieldBuilder() : null;
              } else {
                entityGroupsInTransitionBuilder_.addAllMessages(other.entityGroupsInTransition_);
              }
            }
          }
          if (other.hasClusterId()) {
            mergeClusterId(other.getClusterId());
          }
          if (other.hasMaster()) {
            mergeMaster(other.getMaster());
          }
          if (backupMastersBuilder_ == null) {
            if (!other.backupMasters_.isEmpty()) {
              if (backupMasters_.isEmpty()) {
                backupMasters_ = other.backupMasters_;
                bitField0_ = (bitField0_ & ~0x00000020);
              } else {
                ensureBackupMastersIsMutable();
                backupMasters_.addAll(other.backupMasters_);
              }
              onChanged();
            }
          } else {
            if (!other.backupMasters_.isEmpty()) {
              if (backupMastersBuilder_.isEmpty()) {
                backupMastersBuilder_.dispose();
                backupMastersBuilder_ = null;
                backupMasters_ = other.backupMasters_;
                bitField0_ = (bitField0_ & ~0x00000020);
                backupMastersBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getBackupMastersFieldBuilder() : null;
              } else {
                backupMastersBuilder_.addAllMessages(other.backupMasters_);
              }
            }
          }
          if (other.hasBalancerOn()) {
            setBalancerOn(other.getBalancerOn());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          for (int i = 0; i < getLiveServersCount(); i++) {
            if (!getLiveServers(i).isInitialized()) {
              
              return false;
            }
          }
          for (int i = 0; i < getDeadServersCount(); i++) {
            if (!getDeadServers(i).isInitialized()) {
              
              return false;
            }
          }
          for (int i = 0; i < getEntityGroupsInTransitionCount(); i++) {
            if (!getEntityGroupsInTransition(i).isInitialized()) {
              
              return false;
            }
          }
          if (hasClusterId()) {
            if (!getClusterId().isInitialized()) {
              
              return false;
            }
          }
          if (hasMaster()) {
            if (!getMaster().isInitialized()) {
              
              return false;
            }
          }
          for (int i = 0; i < getBackupMastersCount(); i++) {
            if (!getBackupMasters(i).isInitialized()) {
              
              return false;
            }
          }
          return true;
        }
        
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
              case 18: {
                com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo.Builder subBuilder = com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo.newBuilder();
                input.readMessage(subBuilder, extensionRegistry);
                addLiveServers(subBuilder.buildPartial());
                break;
              }
              case 26: {
                com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder subBuilder = com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.newBuilder();
                input.readMessage(subBuilder, extensionRegistry);
                addDeadServers(subBuilder.buildPartial());
                break;
              }
              case 34: {
                com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos.Builder subBuilder = com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos.newBuilder();
                input.readMessage(subBuilder, extensionRegistry);
                addEntityGroupsInTransition(subBuilder.buildPartial());
                break;
              }
              case 42: {
                com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId.Builder subBuilder = com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId.newBuilder();
                if (hasClusterId()) {
                  subBuilder.mergeFrom(getClusterId());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setClusterId(subBuilder.buildPartial());
                break;
              }
              case 58: {
                com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder subBuilder = com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.newBuilder();
                if (hasMaster()) {
                  subBuilder.mergeFrom(getMaster());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setMaster(subBuilder.buildPartial());
                break;
              }
              case 66: {
                com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder subBuilder = com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.newBuilder();
                input.readMessage(subBuilder, extensionRegistry);
                addBackupMasters(subBuilder.buildPartial());
                break;
              }
              case 72: {
                bitField0_ |= 0x00000040;
                balancerOn_ = input.readBool();
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // repeated .LiveServerInfo liveServers = 2;
        private java.util.List<com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo> liveServers_ =
          java.util.Collections.emptyList();
        private void ensureLiveServersIsMutable() {
          if (!((bitField0_ & 0x00000001) == 0x00000001)) {
            liveServers_ = new java.util.ArrayList<com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo>(liveServers_);
            bitField0_ |= 0x00000001;
           }
        }
        
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo.Builder, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfoOrBuilder> liveServersBuilder_;
        
        public java.util.List<com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo> getLiveServersList() {
          if (liveServersBuilder_ == null) {
            return java.util.Collections.unmodifiableList(liveServers_);
          } else {
            return liveServersBuilder_.getMessageList();
          }
        }
        public int getLiveServersCount() {
          if (liveServersBuilder_ == null) {
            return liveServers_.size();
          } else {
            return liveServersBuilder_.getCount();
          }
        }
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo getLiveServers(int index) {
          if (liveServersBuilder_ == null) {
            return liveServers_.get(index);
          } else {
            return liveServersBuilder_.getMessage(index);
          }
        }
        public Builder setLiveServers(
            int index, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo value) {
          if (liveServersBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureLiveServersIsMutable();
            liveServers_.set(index, value);
            onChanged();
          } else {
            liveServersBuilder_.setMessage(index, value);
          }
          return this;
        }
        public Builder setLiveServers(
            int index, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo.Builder builderForValue) {
          if (liveServersBuilder_ == null) {
            ensureLiveServersIsMutable();
            liveServers_.set(index, builderForValue.build());
            onChanged();
          } else {
            liveServersBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addLiveServers(com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo value) {
          if (liveServersBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureLiveServersIsMutable();
            liveServers_.add(value);
            onChanged();
          } else {
            liveServersBuilder_.addMessage(value);
          }
          return this;
        }
        public Builder addLiveServers(
            int index, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo value) {
          if (liveServersBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureLiveServersIsMutable();
            liveServers_.add(index, value);
            onChanged();
          } else {
            liveServersBuilder_.addMessage(index, value);
          }
          return this;
        }
        public Builder addLiveServers(
            com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo.Builder builderForValue) {
          if (liveServersBuilder_ == null) {
            ensureLiveServersIsMutable();
            liveServers_.add(builderForValue.build());
            onChanged();
          } else {
            liveServersBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        public Builder addLiveServers(
            int index, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo.Builder builderForValue) {
          if (liveServersBuilder_ == null) {
            ensureLiveServersIsMutable();
            liveServers_.add(index, builderForValue.build());
            onChanged();
          } else {
            liveServersBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addAllLiveServers(
            java.lang.Iterable<? extends com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo> values) {
          if (liveServersBuilder_ == null) {
            ensureLiveServersIsMutable();
            super.addAll(values, liveServers_);
            onChanged();
          } else {
            liveServersBuilder_.addAllMessages(values);
          }
          return this;
        }
        public Builder clearLiveServers() {
          if (liveServersBuilder_ == null) {
            liveServers_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
            onChanged();
          } else {
            liveServersBuilder_.clear();
          }
          return this;
        }
        public Builder removeLiveServers(int index) {
          if (liveServersBuilder_ == null) {
            ensureLiveServersIsMutable();
            liveServers_.remove(index);
            onChanged();
          } else {
            liveServersBuilder_.remove(index);
          }
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo.Builder getLiveServersBuilder(
            int index) {
          return getLiveServersFieldBuilder().getBuilder(index);
        }
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfoOrBuilder getLiveServersOrBuilder(
            int index) {
          if (liveServersBuilder_ == null) {
            return liveServers_.get(index);  } else {
            return liveServersBuilder_.getMessageOrBuilder(index);
          }
        }
        public java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfoOrBuilder> 
             getLiveServersOrBuilderList() {
          if (liveServersBuilder_ != null) {
            return liveServersBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(liveServers_);
          }
        }
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo.Builder addLiveServersBuilder() {
          return getLiveServersFieldBuilder().addBuilder(
              com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo.getDefaultInstance());
        }
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo.Builder addLiveServersBuilder(
            int index) {
          return getLiveServersFieldBuilder().addBuilder(
              index, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo.getDefaultInstance());
        }
        public java.util.List<com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo.Builder> 
             getLiveServersBuilderList() {
          return getLiveServersFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo.Builder, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfoOrBuilder> 
            getLiveServersFieldBuilder() {
          if (liveServersBuilder_ == null) {
            liveServersBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo.Builder, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfoOrBuilder>(
                    liveServers_,
                    ((bitField0_ & 0x00000001) == 0x00000001),
                    getParentForChildren(),
                    isClean());
            liveServers_ = null;
          }
          return liveServersBuilder_;
        }
        
        // repeated .ServerName deadServers = 3;
        private java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName> deadServers_ =
          java.util.Collections.emptyList();
        private void ensureDeadServersIsMutable() {
          if (!((bitField0_ & 0x00000002) == 0x00000002)) {
            deadServers_ = new java.util.ArrayList<com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName>(deadServers_);
            bitField0_ |= 0x00000002;
           }
        }
        
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder> deadServersBuilder_;
        
        public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName> getDeadServersList() {
          if (deadServersBuilder_ == null) {
            return java.util.Collections.unmodifiableList(deadServers_);
          } else {
            return deadServersBuilder_.getMessageList();
          }
        }
        public int getDeadServersCount() {
          if (deadServersBuilder_ == null) {
            return deadServers_.size();
          } else {
            return deadServersBuilder_.getCount();
          }
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName getDeadServers(int index) {
          if (deadServersBuilder_ == null) {
            return deadServers_.get(index);
          } else {
            return deadServersBuilder_.getMessage(index);
          }
        }
        public Builder setDeadServers(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName value) {
          if (deadServersBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDeadServersIsMutable();
            deadServers_.set(index, value);
            onChanged();
          } else {
            deadServersBuilder_.setMessage(index, value);
          }
          return this;
        }
        public Builder setDeadServers(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder builderForValue) {
          if (deadServersBuilder_ == null) {
            ensureDeadServersIsMutable();
            deadServers_.set(index, builderForValue.build());
            onChanged();
          } else {
            deadServersBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addDeadServers(com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName value) {
          if (deadServersBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDeadServersIsMutable();
            deadServers_.add(value);
            onChanged();
          } else {
            deadServersBuilder_.addMessage(value);
          }
          return this;
        }
        public Builder addDeadServers(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName value) {
          if (deadServersBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDeadServersIsMutable();
            deadServers_.add(index, value);
            onChanged();
          } else {
            deadServersBuilder_.addMessage(index, value);
          }
          return this;
        }
        public Builder addDeadServers(
            com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder builderForValue) {
          if (deadServersBuilder_ == null) {
            ensureDeadServersIsMutable();
            deadServers_.add(builderForValue.build());
            onChanged();
          } else {
            deadServersBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        public Builder addDeadServers(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder builderForValue) {
          if (deadServersBuilder_ == null) {
            ensureDeadServersIsMutable();
            deadServers_.add(index, builderForValue.build());
            onChanged();
          } else {
            deadServersBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addAllDeadServers(
            java.lang.Iterable<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName> values) {
          if (deadServersBuilder_ == null) {
            ensureDeadServersIsMutable();
            super.addAll(values, deadServers_);
            onChanged();
          } else {
            deadServersBuilder_.addAllMessages(values);
          }
          return this;
        }
        public Builder clearDeadServers() {
          if (deadServersBuilder_ == null) {
            deadServers_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
            onChanged();
          } else {
            deadServersBuilder_.clear();
          }
          return this;
        }
        public Builder removeDeadServers(int index) {
          if (deadServersBuilder_ == null) {
            ensureDeadServersIsMutable();
            deadServers_.remove(index);
            onChanged();
          } else {
            deadServersBuilder_.remove(index);
          }
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder getDeadServersBuilder(
            int index) {
          return getDeadServersFieldBuilder().getBuilder(index);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder getDeadServersOrBuilder(
            int index) {
          if (deadServersBuilder_ == null) {
            return deadServers_.get(index);  } else {
            return deadServersBuilder_.getMessageOrBuilder(index);
          }
        }
        public java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder> 
             getDeadServersOrBuilderList() {
          if (deadServersBuilder_ != null) {
            return deadServersBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(deadServers_);
          }
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder addDeadServersBuilder() {
          return getDeadServersFieldBuilder().addBuilder(
              com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.getDefaultInstance());
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder addDeadServersBuilder(
            int index) {
          return getDeadServersFieldBuilder().addBuilder(
              index, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.getDefaultInstance());
        }
        public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder> 
             getDeadServersBuilderList() {
          return getDeadServersFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder> 
            getDeadServersFieldBuilder() {
          if (deadServersBuilder_ == null) {
            deadServersBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder>(
                    deadServers_,
                    ((bitField0_ & 0x00000002) == 0x00000002),
                    getParentForChildren(),
                    isClean());
            deadServers_ = null;
          }
          return deadServersBuilder_;
        }
        
        // repeated .EntityGroupInTransitionProtos entityGroupsInTransition = 4;
        private java.util.List<com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos> entityGroupsInTransition_ =
          java.util.Collections.emptyList();
        private void ensureEntityGroupsInTransitionIsMutable() {
          if (!((bitField0_ & 0x00000004) == 0x00000004)) {
            entityGroupsInTransition_ = new java.util.ArrayList<com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos>(entityGroupsInTransition_);
            bitField0_ |= 0x00000004;
           }
        }
        
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos.Builder, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtosOrBuilder> entityGroupsInTransitionBuilder_;
        
        public java.util.List<com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos> getEntityGroupsInTransitionList() {
          if (entityGroupsInTransitionBuilder_ == null) {
            return java.util.Collections.unmodifiableList(entityGroupsInTransition_);
          } else {
            return entityGroupsInTransitionBuilder_.getMessageList();
          }
        }
        public int getEntityGroupsInTransitionCount() {
          if (entityGroupsInTransitionBuilder_ == null) {
            return entityGroupsInTransition_.size();
          } else {
            return entityGroupsInTransitionBuilder_.getCount();
          }
        }
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos getEntityGroupsInTransition(int index) {
          if (entityGroupsInTransitionBuilder_ == null) {
            return entityGroupsInTransition_.get(index);
          } else {
            return entityGroupsInTransitionBuilder_.getMessage(index);
          }
        }
        public Builder setEntityGroupsInTransition(
            int index, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos value) {
          if (entityGroupsInTransitionBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntityGroupsInTransitionIsMutable();
            entityGroupsInTransition_.set(index, value);
            onChanged();
          } else {
            entityGroupsInTransitionBuilder_.setMessage(index, value);
          }
          return this;
        }
        public Builder setEntityGroupsInTransition(
            int index, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos.Builder builderForValue) {
          if (entityGroupsInTransitionBuilder_ == null) {
            ensureEntityGroupsInTransitionIsMutable();
            entityGroupsInTransition_.set(index, builderForValue.build());
            onChanged();
          } else {
            entityGroupsInTransitionBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addEntityGroupsInTransition(com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos value) {
          if (entityGroupsInTransitionBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntityGroupsInTransitionIsMutable();
            entityGroupsInTransition_.add(value);
            onChanged();
          } else {
            entityGroupsInTransitionBuilder_.addMessage(value);
          }
          return this;
        }
        public Builder addEntityGroupsInTransition(
            int index, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos value) {
          if (entityGroupsInTransitionBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntityGroupsInTransitionIsMutable();
            entityGroupsInTransition_.add(index, value);
            onChanged();
          } else {
            entityGroupsInTransitionBuilder_.addMessage(index, value);
          }
          return this;
        }
        public Builder addEntityGroupsInTransition(
            com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos.Builder builderForValue) {
          if (entityGroupsInTransitionBuilder_ == null) {
            ensureEntityGroupsInTransitionIsMutable();
            entityGroupsInTransition_.add(builderForValue.build());
            onChanged();
          } else {
            entityGroupsInTransitionBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        public Builder addEntityGroupsInTransition(
            int index, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos.Builder builderForValue) {
          if (entityGroupsInTransitionBuilder_ == null) {
            ensureEntityGroupsInTransitionIsMutable();
            entityGroupsInTransition_.add(index, builderForValue.build());
            onChanged();
          } else {
            entityGroupsInTransitionBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addAllEntityGroupsInTransition(
            java.lang.Iterable<? extends com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos> values) {
          if (entityGroupsInTransitionBuilder_ == null) {
            ensureEntityGroupsInTransitionIsMutable();
            super.addAll(values, entityGroupsInTransition_);
            onChanged();
          } else {
            entityGroupsInTransitionBuilder_.addAllMessages(values);
          }
          return this;
        }
        public Builder clearEntityGroupsInTransition() {
          if (entityGroupsInTransitionBuilder_ == null) {
            entityGroupsInTransition_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
          } else {
            entityGroupsInTransitionBuilder_.clear();
          }
          return this;
        }
        public Builder removeEntityGroupsInTransition(int index) {
          if (entityGroupsInTransitionBuilder_ == null) {
            ensureEntityGroupsInTransitionIsMutable();
            entityGroupsInTransition_.remove(index);
            onChanged();
          } else {
            entityGroupsInTransitionBuilder_.remove(index);
          }
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos.Builder getEntityGroupsInTransitionBuilder(
            int index) {
          return getEntityGroupsInTransitionFieldBuilder().getBuilder(index);
        }
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtosOrBuilder getEntityGroupsInTransitionOrBuilder(
            int index) {
          if (entityGroupsInTransitionBuilder_ == null) {
            return entityGroupsInTransition_.get(index);  } else {
            return entityGroupsInTransitionBuilder_.getMessageOrBuilder(index);
          }
        }
        public java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtosOrBuilder> 
             getEntityGroupsInTransitionOrBuilderList() {
          if (entityGroupsInTransitionBuilder_ != null) {
            return entityGroupsInTransitionBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(entityGroupsInTransition_);
          }
        }
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos.Builder addEntityGroupsInTransitionBuilder() {
          return getEntityGroupsInTransitionFieldBuilder().addBuilder(
              com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos.getDefaultInstance());
        }
        public com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos.Builder addEntityGroupsInTransitionBuilder(
            int index) {
          return getEntityGroupsInTransitionFieldBuilder().addBuilder(
              index, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos.getDefaultInstance());
        }
        public java.util.List<com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos.Builder> 
             getEntityGroupsInTransitionBuilderList() {
          return getEntityGroupsInTransitionFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos.Builder, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtosOrBuilder> 
            getEntityGroupsInTransitionFieldBuilder() {
          if (entityGroupsInTransitionBuilder_ == null) {
            entityGroupsInTransitionBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos.Builder, com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtosOrBuilder>(
                    entityGroupsInTransition_,
                    ((bitField0_ & 0x00000004) == 0x00000004),
                    getParentForChildren(),
                    isClean());
            entityGroupsInTransition_ = null;
          }
          return entityGroupsInTransitionBuilder_;
        }
        
        // optional .ClusterId clusterId = 5;
        private com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId clusterId_ = com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId, com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId.Builder, com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterIdOrBuilder> clusterIdBuilder_;
        public boolean hasClusterId() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        public com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId getClusterId() {
          if (clusterIdBuilder_ == null) {
            return clusterId_;
          } else {
            return clusterIdBuilder_.getMessage();
          }
        }
        public Builder setClusterId(com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId value) {
          if (clusterIdBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            clusterId_ = value;
            onChanged();
          } else {
            clusterIdBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000008;
          return this;
        }
        public Builder setClusterId(
            com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId.Builder builderForValue) {
          if (clusterIdBuilder_ == null) {
            clusterId_ = builderForValue.build();
            onChanged();
          } else {
            clusterIdBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000008;
          return this;
        }
        public Builder mergeClusterId(com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId value) {
          if (clusterIdBuilder_ == null) {
            if (((bitField0_ & 0x00000008) == 0x00000008) &&
                clusterId_ != com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId.getDefaultInstance()) {
              clusterId_ =
                com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId.newBuilder(clusterId_).mergeFrom(value).buildPartial();
            } else {
              clusterId_ = value;
            }
            onChanged();
          } else {
            clusterIdBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000008;
          return this;
        }
        public Builder clearClusterId() {
          if (clusterIdBuilder_ == null) {
            clusterId_ = com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId.getDefaultInstance();
            onChanged();
          } else {
            clusterIdBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000008);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId.Builder getClusterIdBuilder() {
          bitField0_ |= 0x00000008;
          onChanged();
          return getClusterIdFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterIdOrBuilder getClusterIdOrBuilder() {
          if (clusterIdBuilder_ != null) {
            return clusterIdBuilder_.getMessageOrBuilder();
          } else {
            return clusterId_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId, com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId.Builder, com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterIdOrBuilder> 
            getClusterIdFieldBuilder() {
          if (clusterIdBuilder_ == null) {
            clusterIdBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId, com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterId.Builder, com.alibaba.wasp.protobuf.generated.ClusterIdProtos.ClusterIdOrBuilder>(
                    clusterId_,
                    getParentForChildren(),
                    isClean());
            clusterId_ = null;
          }
          return clusterIdBuilder_;
        }
        
        // optional .ServerName master = 7;
        private com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName master_ = com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder> masterBuilder_;
        public boolean hasMaster() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName getMaster() {
          if (masterBuilder_ == null) {
            return master_;
          } else {
            return masterBuilder_.getMessage();
          }
        }
        public Builder setMaster(com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName value) {
          if (masterBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            master_ = value;
            onChanged();
          } else {
            masterBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        public Builder setMaster(
            com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder builderForValue) {
          if (masterBuilder_ == null) {
            master_ = builderForValue.build();
            onChanged();
          } else {
            masterBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        public Builder mergeMaster(com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName value) {
          if (masterBuilder_ == null) {
            if (((bitField0_ & 0x00000010) == 0x00000010) &&
                master_ != com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.getDefaultInstance()) {
              master_ =
                com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.newBuilder(master_).mergeFrom(value).buildPartial();
            } else {
              master_ = value;
            }
            onChanged();
          } else {
            masterBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        public Builder clearMaster() {
          if (masterBuilder_ == null) {
            master_ = com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.getDefaultInstance();
            onChanged();
          } else {
            masterBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder getMasterBuilder() {
          bitField0_ |= 0x00000010;
          onChanged();
          return getMasterFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder getMasterOrBuilder() {
          if (masterBuilder_ != null) {
            return masterBuilder_.getMessageOrBuilder();
          } else {
            return master_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder> 
            getMasterFieldBuilder() {
          if (masterBuilder_ == null) {
            masterBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder>(
                    master_,
                    getParentForChildren(),
                    isClean());
            master_ = null;
          }
          return masterBuilder_;
        }
        
        // repeated .ServerName backupMasters = 8;
        private java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName> backupMasters_ =
          java.util.Collections.emptyList();
        private void ensureBackupMastersIsMutable() {
          if (!((bitField0_ & 0x00000020) == 0x00000020)) {
            backupMasters_ = new java.util.ArrayList<com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName>(backupMasters_);
            bitField0_ |= 0x00000020;
           }
        }
        
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder> backupMastersBuilder_;
        
        public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName> getBackupMastersList() {
          if (backupMastersBuilder_ == null) {
            return java.util.Collections.unmodifiableList(backupMasters_);
          } else {
            return backupMastersBuilder_.getMessageList();
          }
        }
        public int getBackupMastersCount() {
          if (backupMastersBuilder_ == null) {
            return backupMasters_.size();
          } else {
            return backupMastersBuilder_.getCount();
          }
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName getBackupMasters(int index) {
          if (backupMastersBuilder_ == null) {
            return backupMasters_.get(index);
          } else {
            return backupMastersBuilder_.getMessage(index);
          }
        }
        public Builder setBackupMasters(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName value) {
          if (backupMastersBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureBackupMastersIsMutable();
            backupMasters_.set(index, value);
            onChanged();
          } else {
            backupMastersBuilder_.setMessage(index, value);
          }
          return this;
        }
        public Builder setBackupMasters(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder builderForValue) {
          if (backupMastersBuilder_ == null) {
            ensureBackupMastersIsMutable();
            backupMasters_.set(index, builderForValue.build());
            onChanged();
          } else {
            backupMastersBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addBackupMasters(com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName value) {
          if (backupMastersBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureBackupMastersIsMutable();
            backupMasters_.add(value);
            onChanged();
          } else {
            backupMastersBuilder_.addMessage(value);
          }
          return this;
        }
        public Builder addBackupMasters(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName value) {
          if (backupMastersBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureBackupMastersIsMutable();
            backupMasters_.add(index, value);
            onChanged();
          } else {
            backupMastersBuilder_.addMessage(index, value);
          }
          return this;
        }
        public Builder addBackupMasters(
            com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder builderForValue) {
          if (backupMastersBuilder_ == null) {
            ensureBackupMastersIsMutable();
            backupMasters_.add(builderForValue.build());
            onChanged();
          } else {
            backupMastersBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        public Builder addBackupMasters(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder builderForValue) {
          if (backupMastersBuilder_ == null) {
            ensureBackupMastersIsMutable();
            backupMasters_.add(index, builderForValue.build());
            onChanged();
          } else {
            backupMastersBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addAllBackupMasters(
            java.lang.Iterable<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName> values) {
          if (backupMastersBuilder_ == null) {
            ensureBackupMastersIsMutable();
            super.addAll(values, backupMasters_);
            onChanged();
          } else {
            backupMastersBuilder_.addAllMessages(values);
          }
          return this;
        }
        public Builder clearBackupMasters() {
          if (backupMastersBuilder_ == null) {
            backupMasters_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000020);
            onChanged();
          } else {
            backupMastersBuilder_.clear();
          }
          return this;
        }
        public Builder removeBackupMasters(int index) {
          if (backupMastersBuilder_ == null) {
            ensureBackupMastersIsMutable();
            backupMasters_.remove(index);
            onChanged();
          } else {
            backupMastersBuilder_.remove(index);
          }
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder getBackupMastersBuilder(
            int index) {
          return getBackupMastersFieldBuilder().getBuilder(index);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder getBackupMastersOrBuilder(
            int index) {
          if (backupMastersBuilder_ == null) {
            return backupMasters_.get(index);  } else {
            return backupMastersBuilder_.getMessageOrBuilder(index);
          }
        }
        public java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder> 
             getBackupMastersOrBuilderList() {
          if (backupMastersBuilder_ != null) {
            return backupMastersBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(backupMasters_);
          }
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder addBackupMastersBuilder() {
          return getBackupMastersFieldBuilder().addBuilder(
              com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.getDefaultInstance());
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder addBackupMastersBuilder(
            int index) {
          return getBackupMastersFieldBuilder().addBuilder(
              index, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.getDefaultInstance());
        }
        public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder> 
             getBackupMastersBuilderList() {
          return getBackupMastersFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder> 
            getBackupMastersFieldBuilder() {
          if (backupMastersBuilder_ == null) {
            backupMastersBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder>(
                    backupMasters_,
                    ((bitField0_ & 0x00000020) == 0x00000020),
                    getParentForChildren(),
                    isClean());
            backupMasters_ = null;
          }
          return backupMastersBuilder_;
        }
        
        // optional bool balancerOn = 9;
        private boolean balancerOn_ ;
        public boolean hasBalancerOn() {
          return ((bitField0_ & 0x00000040) == 0x00000040);
        }
        public boolean getBalancerOn() {
          return balancerOn_;
        }
        public Builder setBalancerOn(boolean value) {
          bitField0_ |= 0x00000040;
          balancerOn_ = value;
          onChanged();
          return this;
        }
        public Builder clearBalancerOn() {
          bitField0_ = (bitField0_ & ~0x00000040);
          balancerOn_ = false;
          onChanged();
          return this;
        }
        
        // @@protoc_insertion_point(builder_scope:ClusterStatus)
      }
      
      static {
        defaultInstance = new ClusterStatus(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:ClusterStatus)
    }
    
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_EntityGroupStateProtos_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_EntityGroupStateProtos_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_EntityGroupInTransitionProtos_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_EntityGroupInTransitionProtos_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_LiveServerInfo_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_LiveServerInfo_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_ClusterStatus_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_ClusterStatus_fieldAccessorTable;
    
    public static com.google.protobuf.Descriptors.FileDescriptor
        getDescriptor() {
      return descriptor;
    }
    private static com.google.protobuf.Descriptors.FileDescriptor
        descriptor;
    static {
      java.lang.String[] descriptorData = {
        "\n\023ClusterStatus.proto\032\nWasp.proto\032\017Clust" +
        "erID.proto\032\010FS.proto\"\214\002\n\026EntityGroupStat" +
        "eProtos\022/\n\017entityGroupInfo\030\001 \002(\0132\026.Entit" +
        "yGroupInfoProtos\022,\n\005state\030\002 \002(\0162\035.Entity" +
        "GroupStateProtos.State\022\r\n\005stamp\030\003 \001(\004\"\203\001" +
        "\n\005State\022\013\n\007OFFLINE\020\000\022\020\n\014PENDING_OPEN\020\001\022\013" +
        "\n\007OPENING\020\002\022\010\n\004OPEN\020\003\022\021\n\rPENDING_CLOSE\020\004" +
        "\022\013\n\007CLOSING\020\005\022\n\n\006CLOSED\020\006\022\r\n\tSPLITTING\020\007" +
        "\022\t\n\005SPLIT\020\010\"w\n\035EntityGroupInTransitionPr" +
        "otos\022#\n\004spec\030\001 \002(\0132\025.EntityGroupSpecifie",
        "r\0221\n\020entityGroupState\030\002 \002(\0132\027.EntityGrou" +
        "pStateProtos\"T\n\016LiveServerInfo\022\033\n\006server" +
        "\030\001 \002(\0132\013.ServerName\022%\n\nserverLoad\030\002 \002(\0132" +
        "\021.ServerLoadProtos\"\215\002\n\rClusterStatus\022$\n\013" +
        "liveServers\030\002 \003(\0132\017.LiveServerInfo\022 \n\013de" +
        "adServers\030\003 \003(\0132\013.ServerName\022@\n\030entityGr" +
        "oupsInTransition\030\004 \003(\0132\036.EntityGroupInTr" +
        "ansitionProtos\022\035\n\tclusterId\030\005 \001(\0132\n.Clus" +
        "terId\022\033\n\006master\030\007 \001(\0132\013.ServerName\022\"\n\rba" +
        "ckupMasters\030\010 \003(\0132\013.ServerName\022\022\n\nbalanc",
        "erOn\030\t \001(\010B?\n#com.alibaba.wasp.protobuf." +
        "generatedB\023ClusterStatusProtosH\001\240\001\001"
      };
      com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            internal_static_EntityGroupStateProtos_descriptor =
              getDescriptor().getMessageTypes().get(0);
            internal_static_EntityGroupStateProtos_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_EntityGroupStateProtos_descriptor,
                new java.lang.String[] { "EntityGroupInfo", "State", "Stamp", },
                com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.class,
                com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupStateProtos.Builder.class);
            internal_static_EntityGroupInTransitionProtos_descriptor =
              getDescriptor().getMessageTypes().get(1);
            internal_static_EntityGroupInTransitionProtos_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_EntityGroupInTransitionProtos_descriptor,
                new java.lang.String[] { "Spec", "EntityGroupState", },
                com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos.class,
                com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.EntityGroupInTransitionProtos.Builder.class);
            internal_static_LiveServerInfo_descriptor =
              getDescriptor().getMessageTypes().get(2);
            internal_static_LiveServerInfo_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_LiveServerInfo_descriptor,
                new java.lang.String[] { "Server", "ServerLoad", },
                com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo.class,
                com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.LiveServerInfo.Builder.class);
            internal_static_ClusterStatus_descriptor =
              getDescriptor().getMessageTypes().get(3);
            internal_static_ClusterStatus_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_ClusterStatus_descriptor,
                new java.lang.String[] { "LiveServers", "DeadServers", "EntityGroupsInTransition", "ClusterId", "Master", "BackupMasters", "BalancerOn", },
                com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus.class,
                com.alibaba.wasp.protobuf.generated.ClusterStatusProtos.ClusterStatus.Builder.class);
            return null;
          }
        };
      com.google.protobuf.Descriptors.FileDescriptor
        .internalBuildGeneratedFileFrom(descriptorData,
          new com.google.protobuf.Descriptors.FileDescriptor[] {
            com.alibaba.wasp.protobuf.generated.WaspProtos.getDescriptor(),
            com.alibaba.wasp.protobuf.generated.ClusterIdProtos.getDescriptor(),
            com.alibaba.wasp.protobuf.generated.FSProtos.getDescriptor(),
          }, assigner);
    }
    
    // @@protoc_insertion_point(outer_class_scope)
  }
  