All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.phoenix.coprocessor.generated.ServerCachingProtos Maven / Gradle / Ivy

The newest version!
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: ServerCachingService.proto

package org.apache.phoenix.coprocessor.generated;

public final class ServerCachingProtos {
  private ServerCachingProtos() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  public interface ImmutableBytesWritableOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // required bytes byteArray = 1;
    /**
     * required bytes byteArray = 1;
     */
    boolean hasByteArray();
    /**
     * required bytes byteArray = 1;
     */
    com.google.protobuf.ByteString getByteArray();

    // required int32 offset = 2;
    /**
     * required int32 offset = 2;
     */
    boolean hasOffset();
    /**
     * required int32 offset = 2;
     */
    int getOffset();

    // required int32 length = 3;
    /**
     * required int32 length = 3;
     */
    boolean hasLength();
    /**
     * required int32 length = 3;
     */
    int getLength();
  }
  /**
   * Protobuf type {@code ImmutableBytesWritable}
   */
  public static final class ImmutableBytesWritable extends
      com.google.protobuf.GeneratedMessage
      implements ImmutableBytesWritableOrBuilder {
    // Use ImmutableBytesWritable.newBuilder() to construct.
    private ImmutableBytesWritable(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ImmutableBytesWritable(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ImmutableBytesWritable defaultInstance;
    public static ImmutableBytesWritable getDefaultInstance() {
      return defaultInstance;
    }

    public ImmutableBytesWritable getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private ImmutableBytesWritable(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              byteArray_ = input.readBytes();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              offset_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              length_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_ImmutableBytesWritable_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_ImmutableBytesWritable_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.class, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public ImmutableBytesWritable parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ImmutableBytesWritable(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // required bytes byteArray = 1;
    public static final int BYTEARRAY_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString byteArray_;
    /**
     * required bytes byteArray = 1;
     */
    public boolean hasByteArray() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * required bytes byteArray = 1;
     */
    public com.google.protobuf.ByteString getByteArray() {
      return byteArray_;
    }

    // required int32 offset = 2;
    public static final int OFFSET_FIELD_NUMBER = 2;
    private int offset_;
    /**
     * required int32 offset = 2;
     */
    public boolean hasOffset() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * required int32 offset = 2;
     */
    public int getOffset() {
      return offset_;
    }

    // required int32 length = 3;
    public static final int LENGTH_FIELD_NUMBER = 3;
    private int length_;
    /**
     * required int32 length = 3;
     */
    public boolean hasLength() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * required int32 length = 3;
     */
    public int getLength() {
      return length_;
    }

    private void initFields() {
      byteArray_ = com.google.protobuf.ByteString.EMPTY;
      offset_ = 0;
      length_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasByteArray()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasOffset()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasLength()) {
        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.writeBytes(1, byteArray_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, offset_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, length_);
      }
      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
          .computeBytesSize(1, byteArray_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, offset_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, length_);
      }
      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 org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable)) {
        return super.equals(obj);
      }
      org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable other = (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable) obj;

      boolean result = true;
      result = result && (hasByteArray() == other.hasByteArray());
      if (hasByteArray()) {
        result = result && getByteArray()
            .equals(other.getByteArray());
      }
      result = result && (hasOffset() == other.hasOffset());
      if (hasOffset()) {
        result = result && (getOffset()
            == other.getOffset());
      }
      result = result && (hasLength() == other.hasLength());
      if (hasLength()) {
        result = result && (getLength()
            == other.getLength());
      }
      result = result &&
          getUnknownFields().equals(other.getUnknownFields());
      return result;
    }

    private int memoizedHashCode = 0;
    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasByteArray()) {
        hash = (37 * hash) + BYTEARRAY_FIELD_NUMBER;
        hash = (53 * hash) + getByteArray().hashCode();
      }
      if (hasOffset()) {
        hash = (37 * hash) + OFFSET_FIELD_NUMBER;
        hash = (53 * hash) + getOffset();
      }
      if (hasLength()) {
        hash = (37 * hash) + LENGTH_FIELD_NUMBER;
        hash = (53 * hash) + getLength();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable 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;
    }
    /**
     * Protobuf type {@code ImmutableBytesWritable}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritableOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_ImmutableBytesWritable_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_ImmutableBytesWritable_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.class, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.Builder.class);
      }

      // Construct using org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        byteArray_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        offset_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        length_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_ImmutableBytesWritable_descriptor;
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable getDefaultInstanceForType() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.getDefaultInstance();
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable build() {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable buildPartial() {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable result = new org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.byteArray_ = byteArray_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.offset_ = offset_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.length_ = length_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable) {
          return mergeFrom((org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable other) {
        if (other == org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.getDefaultInstance()) return this;
        if (other.hasByteArray()) {
          setByteArray(other.getByteArray());
        }
        if (other.hasOffset()) {
          setOffset(other.getOffset());
        }
        if (other.hasLength()) {
          setLength(other.getLength());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasByteArray()) {
          
          return false;
        }
        if (!hasOffset()) {
          
          return false;
        }
        if (!hasLength()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // required bytes byteArray = 1;
      private com.google.protobuf.ByteString byteArray_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * required bytes byteArray = 1;
       */
      public boolean hasByteArray() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * required bytes byteArray = 1;
       */
      public com.google.protobuf.ByteString getByteArray() {
        return byteArray_;
      }
      /**
       * required bytes byteArray = 1;
       */
      public Builder setByteArray(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        byteArray_ = value;
        onChanged();
        return this;
      }
      /**
       * required bytes byteArray = 1;
       */
      public Builder clearByteArray() {
        bitField0_ = (bitField0_ & ~0x00000001);
        byteArray_ = getDefaultInstance().getByteArray();
        onChanged();
        return this;
      }

      // required int32 offset = 2;
      private int offset_ ;
      /**
       * required int32 offset = 2;
       */
      public boolean hasOffset() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * required int32 offset = 2;
       */
      public int getOffset() {
        return offset_;
      }
      /**
       * required int32 offset = 2;
       */
      public Builder setOffset(int value) {
        bitField0_ |= 0x00000002;
        offset_ = value;
        onChanged();
        return this;
      }
      /**
       * required int32 offset = 2;
       */
      public Builder clearOffset() {
        bitField0_ = (bitField0_ & ~0x00000002);
        offset_ = 0;
        onChanged();
        return this;
      }

      // required int32 length = 3;
      private int length_ ;
      /**
       * required int32 length = 3;
       */
      public boolean hasLength() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * required int32 length = 3;
       */
      public int getLength() {
        return length_;
      }
      /**
       * required int32 length = 3;
       */
      public Builder setLength(int value) {
        bitField0_ |= 0x00000004;
        length_ = value;
        onChanged();
        return this;
      }
      /**
       * required int32 length = 3;
       */
      public Builder clearLength() {
        bitField0_ = (bitField0_ & ~0x00000004);
        length_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:ImmutableBytesWritable)
    }

    static {
      defaultInstance = new ImmutableBytesWritable(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:ImmutableBytesWritable)
  }

  public interface ColumnReferenceOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // required bytes family = 1;
    /**
     * required bytes family = 1;
     */
    boolean hasFamily();
    /**
     * required bytes family = 1;
     */
    com.google.protobuf.ByteString getFamily();

    // required bytes qualifier = 2;
    /**
     * required bytes qualifier = 2;
     */
    boolean hasQualifier();
    /**
     * required bytes qualifier = 2;
     */
    com.google.protobuf.ByteString getQualifier();
  }
  /**
   * Protobuf type {@code ColumnReference}
   */
  public static final class ColumnReference extends
      com.google.protobuf.GeneratedMessage
      implements ColumnReferenceOrBuilder {
    // Use ColumnReference.newBuilder() to construct.
    private ColumnReference(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ColumnReference(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ColumnReference defaultInstance;
    public static ColumnReference getDefaultInstance() {
      return defaultInstance;
    }

    public ColumnReference getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private ColumnReference(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              family_ = input.readBytes();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              qualifier_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_ColumnReference_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_ColumnReference_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.class, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public ColumnReference parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ColumnReference(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // required bytes family = 1;
    public static final int FAMILY_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString family_;
    /**
     * required bytes family = 1;
     */
    public boolean hasFamily() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * required bytes family = 1;
     */
    public com.google.protobuf.ByteString getFamily() {
      return family_;
    }

    // required bytes qualifier = 2;
    public static final int QUALIFIER_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString qualifier_;
    /**
     * required bytes qualifier = 2;
     */
    public boolean hasQualifier() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * required bytes qualifier = 2;
     */
    public com.google.protobuf.ByteString getQualifier() {
      return qualifier_;
    }

    private void initFields() {
      family_ = com.google.protobuf.ByteString.EMPTY;
      qualifier_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasFamily()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasQualifier()) {
        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.writeBytes(1, family_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, qualifier_);
      }
      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
          .computeBytesSize(1, family_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, qualifier_);
      }
      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 org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference)) {
        return super.equals(obj);
      }
      org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference other = (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference) obj;

      boolean result = true;
      result = result && (hasFamily() == other.hasFamily());
      if (hasFamily()) {
        result = result && getFamily()
            .equals(other.getFamily());
      }
      result = result && (hasQualifier() == other.hasQualifier());
      if (hasQualifier()) {
        result = result && getQualifier()
            .equals(other.getQualifier());
      }
      result = result &&
          getUnknownFields().equals(other.getUnknownFields());
      return result;
    }

    private int memoizedHashCode = 0;
    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasFamily()) {
        hash = (37 * hash) + FAMILY_FIELD_NUMBER;
        hash = (53 * hash) + getFamily().hashCode();
      }
      if (hasQualifier()) {
        hash = (37 * hash) + QUALIFIER_FIELD_NUMBER;
        hash = (53 * hash) + getQualifier().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference 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;
    }
    /**
     * Protobuf type {@code ColumnReference}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReferenceOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_ColumnReference_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_ColumnReference_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.class, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder.class);
      }

      // Construct using org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        family_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        qualifier_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_ColumnReference_descriptor;
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference getDefaultInstanceForType() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.getDefaultInstance();
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference build() {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference buildPartial() {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference result = new org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.family_ = family_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.qualifier_ = qualifier_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference) {
          return mergeFrom((org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference other) {
        if (other == org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.getDefaultInstance()) return this;
        if (other.hasFamily()) {
          setFamily(other.getFamily());
        }
        if (other.hasQualifier()) {
          setQualifier(other.getQualifier());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasFamily()) {
          
          return false;
        }
        if (!hasQualifier()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // required bytes family = 1;
      private com.google.protobuf.ByteString family_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * required bytes family = 1;
       */
      public boolean hasFamily() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * required bytes family = 1;
       */
      public com.google.protobuf.ByteString getFamily() {
        return family_;
      }
      /**
       * required bytes family = 1;
       */
      public Builder setFamily(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        family_ = value;
        onChanged();
        return this;
      }
      /**
       * required bytes family = 1;
       */
      public Builder clearFamily() {
        bitField0_ = (bitField0_ & ~0x00000001);
        family_ = getDefaultInstance().getFamily();
        onChanged();
        return this;
      }

      // required bytes qualifier = 2;
      private com.google.protobuf.ByteString qualifier_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * required bytes qualifier = 2;
       */
      public boolean hasQualifier() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * required bytes qualifier = 2;
       */
      public com.google.protobuf.ByteString getQualifier() {
        return qualifier_;
      }
      /**
       * required bytes qualifier = 2;
       */
      public Builder setQualifier(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        qualifier_ = value;
        onChanged();
        return this;
      }
      /**
       * required bytes qualifier = 2;
       */
      public Builder clearQualifier() {
        bitField0_ = (bitField0_ & ~0x00000002);
        qualifier_ = getDefaultInstance().getQualifier();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:ColumnReference)
    }

    static {
      defaultInstance = new ColumnReference(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:ColumnReference)
  }

  public interface ColumnInfoOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string familyName = 1;
    /**
     * optional string familyName = 1;
     */
    boolean hasFamilyName();
    /**
     * optional string familyName = 1;
     */
    java.lang.String getFamilyName();
    /**
     * optional string familyName = 1;
     */
    com.google.protobuf.ByteString
        getFamilyNameBytes();

    // required string columnName = 2;
    /**
     * required string columnName = 2;
     */
    boolean hasColumnName();
    /**
     * required string columnName = 2;
     */
    java.lang.String getColumnName();
    /**
     * required string columnName = 2;
     */
    com.google.protobuf.ByteString
        getColumnNameBytes();
  }
  /**
   * Protobuf type {@code ColumnInfo}
   */
  public static final class ColumnInfo extends
      com.google.protobuf.GeneratedMessage
      implements ColumnInfoOrBuilder {
    // Use ColumnInfo.newBuilder() to construct.
    private ColumnInfo(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ColumnInfo(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ColumnInfo defaultInstance;
    public static ColumnInfo getDefaultInstance() {
      return defaultInstance;
    }

    public ColumnInfo getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private ColumnInfo(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              familyName_ = input.readBytes();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              columnName_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_ColumnInfo_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_ColumnInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo.class, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public ColumnInfo parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ColumnInfo(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string familyName = 1;
    public static final int FAMILYNAME_FIELD_NUMBER = 1;
    private java.lang.Object familyName_;
    /**
     * optional string familyName = 1;
     */
    public boolean hasFamilyName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional string familyName = 1;
     */
    public java.lang.String getFamilyName() {
      java.lang.Object ref = familyName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          familyName_ = s;
        }
        return s;
      }
    }
    /**
     * optional string familyName = 1;
     */
    public com.google.protobuf.ByteString
        getFamilyNameBytes() {
      java.lang.Object ref = familyName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        familyName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // required string columnName = 2;
    public static final int COLUMNNAME_FIELD_NUMBER = 2;
    private java.lang.Object columnName_;
    /**
     * required string columnName = 2;
     */
    public boolean hasColumnName() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * required string columnName = 2;
     */
    public java.lang.String getColumnName() {
      java.lang.Object ref = columnName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          columnName_ = s;
        }
        return s;
      }
    }
    /**
     * required string columnName = 2;
     */
    public com.google.protobuf.ByteString
        getColumnNameBytes() {
      java.lang.Object ref = columnName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        columnName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      familyName_ = "";
      columnName_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasColumnName()) {
        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.writeBytes(1, getFamilyNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getColumnNameBytes());
      }
      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
          .computeBytesSize(1, getFamilyNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getColumnNameBytes());
      }
      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 org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo)) {
        return super.equals(obj);
      }
      org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo other = (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo) obj;

      boolean result = true;
      result = result && (hasFamilyName() == other.hasFamilyName());
      if (hasFamilyName()) {
        result = result && getFamilyName()
            .equals(other.getFamilyName());
      }
      result = result && (hasColumnName() == other.hasColumnName());
      if (hasColumnName()) {
        result = result && getColumnName()
            .equals(other.getColumnName());
      }
      result = result &&
          getUnknownFields().equals(other.getUnknownFields());
      return result;
    }

    private int memoizedHashCode = 0;
    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasFamilyName()) {
        hash = (37 * hash) + FAMILYNAME_FIELD_NUMBER;
        hash = (53 * hash) + getFamilyName().hashCode();
      }
      if (hasColumnName()) {
        hash = (37 * hash) + COLUMNNAME_FIELD_NUMBER;
        hash = (53 * hash) + getColumnName().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo 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;
    }
    /**
     * Protobuf type {@code ColumnInfo}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfoOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_ColumnInfo_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_ColumnInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo.class, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo.Builder.class);
      }

      // Construct using org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        familyName_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        columnName_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_ColumnInfo_descriptor;
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo getDefaultInstanceForType() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo.getDefaultInstance();
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo build() {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo buildPartial() {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo result = new org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.familyName_ = familyName_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.columnName_ = columnName_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo) {
          return mergeFrom((org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo other) {
        if (other == org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo.getDefaultInstance()) return this;
        if (other.hasFamilyName()) {
          bitField0_ |= 0x00000001;
          familyName_ = other.familyName_;
          onChanged();
        }
        if (other.hasColumnName()) {
          bitField0_ |= 0x00000002;
          columnName_ = other.columnName_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasColumnName()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string familyName = 1;
      private java.lang.Object familyName_ = "";
      /**
       * optional string familyName = 1;
       */
      public boolean hasFamilyName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional string familyName = 1;
       */
      public java.lang.String getFamilyName() {
        java.lang.Object ref = familyName_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          familyName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string familyName = 1;
       */
      public com.google.protobuf.ByteString
          getFamilyNameBytes() {
        java.lang.Object ref = familyName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          familyName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string familyName = 1;
       */
      public Builder setFamilyName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        familyName_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string familyName = 1;
       */
      public Builder clearFamilyName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        familyName_ = getDefaultInstance().getFamilyName();
        onChanged();
        return this;
      }
      /**
       * optional string familyName = 1;
       */
      public Builder setFamilyNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        familyName_ = value;
        onChanged();
        return this;
      }

      // required string columnName = 2;
      private java.lang.Object columnName_ = "";
      /**
       * required string columnName = 2;
       */
      public boolean hasColumnName() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * required string columnName = 2;
       */
      public java.lang.String getColumnName() {
        java.lang.Object ref = columnName_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          columnName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * required string columnName = 2;
       */
      public com.google.protobuf.ByteString
          getColumnNameBytes() {
        java.lang.Object ref = columnName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          columnName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * required string columnName = 2;
       */
      public Builder setColumnName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        columnName_ = value;
        onChanged();
        return this;
      }
      /**
       * required string columnName = 2;
       */
      public Builder clearColumnName() {
        bitField0_ = (bitField0_ & ~0x00000002);
        columnName_ = getDefaultInstance().getColumnName();
        onChanged();
        return this;
      }
      /**
       * required string columnName = 2;
       */
      public Builder setColumnNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        columnName_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:ColumnInfo)
    }

    static {
      defaultInstance = new ColumnInfo(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:ColumnInfo)
  }

  public interface IndexMaintainerOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // required int32 saltBuckets = 1;
    /**
     * required int32 saltBuckets = 1;
     */
    boolean hasSaltBuckets();
    /**
     * required int32 saltBuckets = 1;
     */
    int getSaltBuckets();

    // required bool isMultiTenant = 2;
    /**
     * required bool isMultiTenant = 2;
     */
    boolean hasIsMultiTenant();
    /**
     * required bool isMultiTenant = 2;
     */
    boolean getIsMultiTenant();

    // optional bytes viewIndexId = 3;
    /**
     * optional bytes viewIndexId = 3;
     */
    boolean hasViewIndexId();
    /**
     * optional bytes viewIndexId = 3;
     */
    com.google.protobuf.ByteString getViewIndexId();

    // repeated .ColumnReference indexedColumns = 4;
    /**
     * repeated .ColumnReference indexedColumns = 4;
     */
    java.util.List 
        getIndexedColumnsList();
    /**
     * repeated .ColumnReference indexedColumns = 4;
     */
    org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference getIndexedColumns(int index);
    /**
     * repeated .ColumnReference indexedColumns = 4;
     */
    int getIndexedColumnsCount();
    /**
     * repeated .ColumnReference indexedColumns = 4;
     */
    java.util.List 
        getIndexedColumnsOrBuilderList();
    /**
     * repeated .ColumnReference indexedColumns = 4;
     */
    org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReferenceOrBuilder getIndexedColumnsOrBuilder(
        int index);

    // repeated int32 indexedColumnTypeOrdinal = 5;
    /**
     * repeated int32 indexedColumnTypeOrdinal = 5;
     */
    java.util.List getIndexedColumnTypeOrdinalList();
    /**
     * repeated int32 indexedColumnTypeOrdinal = 5;
     */
    int getIndexedColumnTypeOrdinalCount();
    /**
     * repeated int32 indexedColumnTypeOrdinal = 5;
     */
    int getIndexedColumnTypeOrdinal(int index);

    // repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
    /**
     * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
     */
    java.util.List 
        getDataTableColRefForCoveredColumnsList();
    /**
     * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
     */
    org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference getDataTableColRefForCoveredColumns(int index);
    /**
     * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
     */
    int getDataTableColRefForCoveredColumnsCount();
    /**
     * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
     */
    java.util.List 
        getDataTableColRefForCoveredColumnsOrBuilderList();
    /**
     * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
     */
    org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReferenceOrBuilder getDataTableColRefForCoveredColumnsOrBuilder(
        int index);

    // repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
    /**
     * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
     */
    java.util.List 
        getIndexTableColRefForCoveredColumnsList();
    /**
     * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
     */
    org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference getIndexTableColRefForCoveredColumns(int index);
    /**
     * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
     */
    int getIndexTableColRefForCoveredColumnsCount();
    /**
     * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
     */
    java.util.List 
        getIndexTableColRefForCoveredColumnsOrBuilderList();
    /**
     * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
     */
    org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReferenceOrBuilder getIndexTableColRefForCoveredColumnsOrBuilder(
        int index);

    // required bool isLocalIndex = 8;
    /**
     * required bool isLocalIndex = 8;
     */
    boolean hasIsLocalIndex();
    /**
     * required bool isLocalIndex = 8;
     */
    boolean getIsLocalIndex();

    // required bytes indexTableName = 9;
    /**
     * required bytes indexTableName = 9;
     */
    boolean hasIndexTableName();
    /**
     * required bytes indexTableName = 9;
     */
    com.google.protobuf.ByteString getIndexTableName();

    // required bool rowKeyOrderOptimizable = 10;
    /**
     * required bool rowKeyOrderOptimizable = 10;
     */
    boolean hasRowKeyOrderOptimizable();
    /**
     * required bool rowKeyOrderOptimizable = 10;
     */
    boolean getRowKeyOrderOptimizable();

    // required bytes dataTableEmptyKeyValueColFamily = 11;
    /**
     * required bytes dataTableEmptyKeyValueColFamily = 11;
     */
    boolean hasDataTableEmptyKeyValueColFamily();
    /**
     * required bytes dataTableEmptyKeyValueColFamily = 11;
     */
    com.google.protobuf.ByteString getDataTableEmptyKeyValueColFamily();

    // required .ImmutableBytesWritable emptyKeyValueColFamily = 12;
    /**
     * required .ImmutableBytesWritable emptyKeyValueColFamily = 12;
     */
    boolean hasEmptyKeyValueColFamily();
    /**
     * required .ImmutableBytesWritable emptyKeyValueColFamily = 12;
     */
    org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable getEmptyKeyValueColFamily();
    /**
     * required .ImmutableBytesWritable emptyKeyValueColFamily = 12;
     */
    org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritableOrBuilder getEmptyKeyValueColFamilyOrBuilder();

    // optional bytes indexedExpressions = 13;
    /**
     * optional bytes indexedExpressions = 13;
     */
    boolean hasIndexedExpressions();
    /**
     * optional bytes indexedExpressions = 13;
     */
    com.google.protobuf.ByteString getIndexedExpressions();

    // required bytes rowKeyMetadata = 14;
    /**
     * required bytes rowKeyMetadata = 14;
     */
    boolean hasRowKeyMetadata();
    /**
     * required bytes rowKeyMetadata = 14;
     */
    com.google.protobuf.ByteString getRowKeyMetadata();

    // required int32 numDataTableColFamilies = 15;
    /**
     * required int32 numDataTableColFamilies = 15;
     */
    boolean hasNumDataTableColFamilies();
    /**
     * required int32 numDataTableColFamilies = 15;
     */
    int getNumDataTableColFamilies();

    // required bool indexWalDisabled = 16;
    /**
     * required bool indexWalDisabled = 16;
     */
    boolean hasIndexWalDisabled();
    /**
     * required bool indexWalDisabled = 16;
     */
    boolean getIndexWalDisabled();

    // required int32 indexRowKeyByteSize = 17;
    /**
     * required int32 indexRowKeyByteSize = 17;
     */
    boolean hasIndexRowKeyByteSize();
    /**
     * required int32 indexRowKeyByteSize = 17;
     */
    int getIndexRowKeyByteSize();

    // required bool immutable = 18;
    /**
     * required bool immutable = 18;
     */
    boolean hasImmutable();
    /**
     * required bool immutable = 18;
     */
    boolean getImmutable();

    // repeated .ColumnInfo indexedColumnInfo = 19;
    /**
     * repeated .ColumnInfo indexedColumnInfo = 19;
     */
    java.util.List 
        getIndexedColumnInfoList();
    /**
     * repeated .ColumnInfo indexedColumnInfo = 19;
     */
    org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo getIndexedColumnInfo(int index);
    /**
     * repeated .ColumnInfo indexedColumnInfo = 19;
     */
    int getIndexedColumnInfoCount();
    /**
     * repeated .ColumnInfo indexedColumnInfo = 19;
     */
    java.util.List 
        getIndexedColumnInfoOrBuilderList();
    /**
     * repeated .ColumnInfo indexedColumnInfo = 19;
     */
    org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfoOrBuilder getIndexedColumnInfoOrBuilder(
        int index);

    // required int32 encodingScheme = 20;
    /**
     * required int32 encodingScheme = 20;
     */
    boolean hasEncodingScheme();
    /**
     * required int32 encodingScheme = 20;
     */
    int getEncodingScheme();

    // required int32 immutableStorageScheme = 21;
    /**
     * required int32 immutableStorageScheme = 21;
     */
    boolean hasImmutableStorageScheme();
    /**
     * required int32 immutableStorageScheme = 21;
     */
    int getImmutableStorageScheme();

    // optional int32 viewIndexIdType = 22;
    /**
     * optional int32 viewIndexIdType = 22;
     */
    boolean hasViewIndexIdType();
    /**
     * optional int32 viewIndexIdType = 22;
     */
    int getViewIndexIdType();

    // optional int32 indexDataColumnCount = 23 [default = -1];
    /**
     * optional int32 indexDataColumnCount = 23 [default = -1];
     */
    boolean hasIndexDataColumnCount();
    /**
     * optional int32 indexDataColumnCount = 23 [default = -1];
     */
    int getIndexDataColumnCount();

    // optional string parentTableType = 24;
    /**
     * optional string parentTableType = 24;
     */
    boolean hasParentTableType();
    /**
     * optional string parentTableType = 24;
     */
    java.lang.String getParentTableType();
    /**
     * optional string parentTableType = 24;
     */
    com.google.protobuf.ByteString
        getParentTableTypeBytes();

    // optional string logicalIndexName = 25;
    /**
     * optional string logicalIndexName = 25;
     */
    boolean hasLogicalIndexName();
    /**
     * optional string logicalIndexName = 25;
     */
    java.lang.String getLogicalIndexName();
    /**
     * optional string logicalIndexName = 25;
     */
    com.google.protobuf.ByteString
        getLogicalIndexNameBytes();

    // optional int32 dataEncodingScheme = 26;
    /**
     * optional int32 dataEncodingScheme = 26;
     */
    boolean hasDataEncodingScheme();
    /**
     * optional int32 dataEncodingScheme = 26;
     */
    int getDataEncodingScheme();

    // optional int32 dataImmutableStorageScheme = 27;
    /**
     * optional int32 dataImmutableStorageScheme = 27;
     */
    boolean hasDataImmutableStorageScheme();
    /**
     * optional int32 dataImmutableStorageScheme = 27;
     */
    int getDataImmutableStorageScheme();
  }
  /**
   * Protobuf type {@code IndexMaintainer}
   */
  public static final class IndexMaintainer extends
      com.google.protobuf.GeneratedMessage
      implements IndexMaintainerOrBuilder {
    // Use IndexMaintainer.newBuilder() to construct.
    private IndexMaintainer(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private IndexMaintainer(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final IndexMaintainer defaultInstance;
    public static IndexMaintainer getDefaultInstance() {
      return defaultInstance;
    }

    public IndexMaintainer getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private IndexMaintainer(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              saltBuckets_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              isMultiTenant_ = input.readBool();
              break;
            }
            case 26: {
              bitField0_ |= 0x00000004;
              viewIndexId_ = input.readBytes();
              break;
            }
            case 34: {
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                indexedColumns_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000008;
              }
              indexedColumns_.add(input.readMessage(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.PARSER, extensionRegistry));
              break;
            }
            case 40: {
              if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
                indexedColumnTypeOrdinal_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000010;
              }
              indexedColumnTypeOrdinal_.add(input.readInt32());
              break;
            }
            case 42: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000010) == 0x00000010) && input.getBytesUntilLimit() > 0) {
                indexedColumnTypeOrdinal_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000010;
              }
              while (input.getBytesUntilLimit() > 0) {
                indexedColumnTypeOrdinal_.add(input.readInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 50: {
              if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
                dataTableColRefForCoveredColumns_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000020;
              }
              dataTableColRefForCoveredColumns_.add(input.readMessage(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.PARSER, extensionRegistry));
              break;
            }
            case 58: {
              if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
                indexTableColRefForCoveredColumns_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000040;
              }
              indexTableColRefForCoveredColumns_.add(input.readMessage(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.PARSER, extensionRegistry));
              break;
            }
            case 64: {
              bitField0_ |= 0x00000008;
              isLocalIndex_ = input.readBool();
              break;
            }
            case 74: {
              bitField0_ |= 0x00000010;
              indexTableName_ = input.readBytes();
              break;
            }
            case 80: {
              bitField0_ |= 0x00000020;
              rowKeyOrderOptimizable_ = input.readBool();
              break;
            }
            case 90: {
              bitField0_ |= 0x00000040;
              dataTableEmptyKeyValueColFamily_ = input.readBytes();
              break;
            }
            case 98: {
              org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.Builder subBuilder = null;
              if (((bitField0_ & 0x00000080) == 0x00000080)) {
                subBuilder = emptyKeyValueColFamily_.toBuilder();
              }
              emptyKeyValueColFamily_ = input.readMessage(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(emptyKeyValueColFamily_);
                emptyKeyValueColFamily_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000080;
              break;
            }
            case 106: {
              bitField0_ |= 0x00000100;
              indexedExpressions_ = input.readBytes();
              break;
            }
            case 114: {
              bitField0_ |= 0x00000200;
              rowKeyMetadata_ = input.readBytes();
              break;
            }
            case 120: {
              bitField0_ |= 0x00000400;
              numDataTableColFamilies_ = input.readInt32();
              break;
            }
            case 128: {
              bitField0_ |= 0x00000800;
              indexWalDisabled_ = input.readBool();
              break;
            }
            case 136: {
              bitField0_ |= 0x00001000;
              indexRowKeyByteSize_ = input.readInt32();
              break;
            }
            case 144: {
              bitField0_ |= 0x00002000;
              immutable_ = input.readBool();
              break;
            }
            case 154: {
              if (!((mutable_bitField0_ & 0x00040000) == 0x00040000)) {
                indexedColumnInfo_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00040000;
              }
              indexedColumnInfo_.add(input.readMessage(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo.PARSER, extensionRegistry));
              break;
            }
            case 160: {
              bitField0_ |= 0x00004000;
              encodingScheme_ = input.readInt32();
              break;
            }
            case 168: {
              bitField0_ |= 0x00008000;
              immutableStorageScheme_ = input.readInt32();
              break;
            }
            case 176: {
              bitField0_ |= 0x00010000;
              viewIndexIdType_ = input.readInt32();
              break;
            }
            case 184: {
              bitField0_ |= 0x00020000;
              indexDataColumnCount_ = input.readInt32();
              break;
            }
            case 194: {
              bitField0_ |= 0x00040000;
              parentTableType_ = input.readBytes();
              break;
            }
            case 202: {
              bitField0_ |= 0x00080000;
              logicalIndexName_ = input.readBytes();
              break;
            }
            case 208: {
              bitField0_ |= 0x00100000;
              dataEncodingScheme_ = input.readInt32();
              break;
            }
            case 216: {
              bitField0_ |= 0x00200000;
              dataImmutableStorageScheme_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
          indexedColumns_ = java.util.Collections.unmodifiableList(indexedColumns_);
        }
        if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
          indexedColumnTypeOrdinal_ = java.util.Collections.unmodifiableList(indexedColumnTypeOrdinal_);
        }
        if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
          dataTableColRefForCoveredColumns_ = java.util.Collections.unmodifiableList(dataTableColRefForCoveredColumns_);
        }
        if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
          indexTableColRefForCoveredColumns_ = java.util.Collections.unmodifiableList(indexTableColRefForCoveredColumns_);
        }
        if (((mutable_bitField0_ & 0x00040000) == 0x00040000)) {
          indexedColumnInfo_ = java.util.Collections.unmodifiableList(indexedColumnInfo_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_IndexMaintainer_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_IndexMaintainer_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer.class, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public IndexMaintainer parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new IndexMaintainer(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // required int32 saltBuckets = 1;
    public static final int SALTBUCKETS_FIELD_NUMBER = 1;
    private int saltBuckets_;
    /**
     * required int32 saltBuckets = 1;
     */
    public boolean hasSaltBuckets() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * required int32 saltBuckets = 1;
     */
    public int getSaltBuckets() {
      return saltBuckets_;
    }

    // required bool isMultiTenant = 2;
    public static final int ISMULTITENANT_FIELD_NUMBER = 2;
    private boolean isMultiTenant_;
    /**
     * required bool isMultiTenant = 2;
     */
    public boolean hasIsMultiTenant() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * required bool isMultiTenant = 2;
     */
    public boolean getIsMultiTenant() {
      return isMultiTenant_;
    }

    // optional bytes viewIndexId = 3;
    public static final int VIEWINDEXID_FIELD_NUMBER = 3;
    private com.google.protobuf.ByteString viewIndexId_;
    /**
     * optional bytes viewIndexId = 3;
     */
    public boolean hasViewIndexId() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional bytes viewIndexId = 3;
     */
    public com.google.protobuf.ByteString getViewIndexId() {
      return viewIndexId_;
    }

    // repeated .ColumnReference indexedColumns = 4;
    public static final int INDEXEDCOLUMNS_FIELD_NUMBER = 4;
    private java.util.List indexedColumns_;
    /**
     * repeated .ColumnReference indexedColumns = 4;
     */
    public java.util.List getIndexedColumnsList() {
      return indexedColumns_;
    }
    /**
     * repeated .ColumnReference indexedColumns = 4;
     */
    public java.util.List 
        getIndexedColumnsOrBuilderList() {
      return indexedColumns_;
    }
    /**
     * repeated .ColumnReference indexedColumns = 4;
     */
    public int getIndexedColumnsCount() {
      return indexedColumns_.size();
    }
    /**
     * repeated .ColumnReference indexedColumns = 4;
     */
    public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference getIndexedColumns(int index) {
      return indexedColumns_.get(index);
    }
    /**
     * repeated .ColumnReference indexedColumns = 4;
     */
    public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReferenceOrBuilder getIndexedColumnsOrBuilder(
        int index) {
      return indexedColumns_.get(index);
    }

    // repeated int32 indexedColumnTypeOrdinal = 5;
    public static final int INDEXEDCOLUMNTYPEORDINAL_FIELD_NUMBER = 5;
    private java.util.List indexedColumnTypeOrdinal_;
    /**
     * repeated int32 indexedColumnTypeOrdinal = 5;
     */
    public java.util.List
        getIndexedColumnTypeOrdinalList() {
      return indexedColumnTypeOrdinal_;
    }
    /**
     * repeated int32 indexedColumnTypeOrdinal = 5;
     */
    public int getIndexedColumnTypeOrdinalCount() {
      return indexedColumnTypeOrdinal_.size();
    }
    /**
     * repeated int32 indexedColumnTypeOrdinal = 5;
     */
    public int getIndexedColumnTypeOrdinal(int index) {
      return indexedColumnTypeOrdinal_.get(index);
    }

    // repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
    public static final int DATATABLECOLREFFORCOVEREDCOLUMNS_FIELD_NUMBER = 6;
    private java.util.List dataTableColRefForCoveredColumns_;
    /**
     * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
     */
    public java.util.List getDataTableColRefForCoveredColumnsList() {
      return dataTableColRefForCoveredColumns_;
    }
    /**
     * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
     */
    public java.util.List 
        getDataTableColRefForCoveredColumnsOrBuilderList() {
      return dataTableColRefForCoveredColumns_;
    }
    /**
     * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
     */
    public int getDataTableColRefForCoveredColumnsCount() {
      return dataTableColRefForCoveredColumns_.size();
    }
    /**
     * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
     */
    public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference getDataTableColRefForCoveredColumns(int index) {
      return dataTableColRefForCoveredColumns_.get(index);
    }
    /**
     * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
     */
    public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReferenceOrBuilder getDataTableColRefForCoveredColumnsOrBuilder(
        int index) {
      return dataTableColRefForCoveredColumns_.get(index);
    }

    // repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
    public static final int INDEXTABLECOLREFFORCOVEREDCOLUMNS_FIELD_NUMBER = 7;
    private java.util.List indexTableColRefForCoveredColumns_;
    /**
     * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
     */
    public java.util.List getIndexTableColRefForCoveredColumnsList() {
      return indexTableColRefForCoveredColumns_;
    }
    /**
     * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
     */
    public java.util.List 
        getIndexTableColRefForCoveredColumnsOrBuilderList() {
      return indexTableColRefForCoveredColumns_;
    }
    /**
     * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
     */
    public int getIndexTableColRefForCoveredColumnsCount() {
      return indexTableColRefForCoveredColumns_.size();
    }
    /**
     * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
     */
    public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference getIndexTableColRefForCoveredColumns(int index) {
      return indexTableColRefForCoveredColumns_.get(index);
    }
    /**
     * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
     */
    public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReferenceOrBuilder getIndexTableColRefForCoveredColumnsOrBuilder(
        int index) {
      return indexTableColRefForCoveredColumns_.get(index);
    }

    // required bool isLocalIndex = 8;
    public static final int ISLOCALINDEX_FIELD_NUMBER = 8;
    private boolean isLocalIndex_;
    /**
     * required bool isLocalIndex = 8;
     */
    public boolean hasIsLocalIndex() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * required bool isLocalIndex = 8;
     */
    public boolean getIsLocalIndex() {
      return isLocalIndex_;
    }

    // required bytes indexTableName = 9;
    public static final int INDEXTABLENAME_FIELD_NUMBER = 9;
    private com.google.protobuf.ByteString indexTableName_;
    /**
     * required bytes indexTableName = 9;
     */
    public boolean hasIndexTableName() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * required bytes indexTableName = 9;
     */
    public com.google.protobuf.ByteString getIndexTableName() {
      return indexTableName_;
    }

    // required bool rowKeyOrderOptimizable = 10;
    public static final int ROWKEYORDEROPTIMIZABLE_FIELD_NUMBER = 10;
    private boolean rowKeyOrderOptimizable_;
    /**
     * required bool rowKeyOrderOptimizable = 10;
     */
    public boolean hasRowKeyOrderOptimizable() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * required bool rowKeyOrderOptimizable = 10;
     */
    public boolean getRowKeyOrderOptimizable() {
      return rowKeyOrderOptimizable_;
    }

    // required bytes dataTableEmptyKeyValueColFamily = 11;
    public static final int DATATABLEEMPTYKEYVALUECOLFAMILY_FIELD_NUMBER = 11;
    private com.google.protobuf.ByteString dataTableEmptyKeyValueColFamily_;
    /**
     * required bytes dataTableEmptyKeyValueColFamily = 11;
     */
    public boolean hasDataTableEmptyKeyValueColFamily() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * required bytes dataTableEmptyKeyValueColFamily = 11;
     */
    public com.google.protobuf.ByteString getDataTableEmptyKeyValueColFamily() {
      return dataTableEmptyKeyValueColFamily_;
    }

    // required .ImmutableBytesWritable emptyKeyValueColFamily = 12;
    public static final int EMPTYKEYVALUECOLFAMILY_FIELD_NUMBER = 12;
    private org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable emptyKeyValueColFamily_;
    /**
     * required .ImmutableBytesWritable emptyKeyValueColFamily = 12;
     */
    public boolean hasEmptyKeyValueColFamily() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * required .ImmutableBytesWritable emptyKeyValueColFamily = 12;
     */
    public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable getEmptyKeyValueColFamily() {
      return emptyKeyValueColFamily_;
    }
    /**
     * required .ImmutableBytesWritable emptyKeyValueColFamily = 12;
     */
    public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritableOrBuilder getEmptyKeyValueColFamilyOrBuilder() {
      return emptyKeyValueColFamily_;
    }

    // optional bytes indexedExpressions = 13;
    public static final int INDEXEDEXPRESSIONS_FIELD_NUMBER = 13;
    private com.google.protobuf.ByteString indexedExpressions_;
    /**
     * optional bytes indexedExpressions = 13;
     */
    public boolean hasIndexedExpressions() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * optional bytes indexedExpressions = 13;
     */
    public com.google.protobuf.ByteString getIndexedExpressions() {
      return indexedExpressions_;
    }

    // required bytes rowKeyMetadata = 14;
    public static final int ROWKEYMETADATA_FIELD_NUMBER = 14;
    private com.google.protobuf.ByteString rowKeyMetadata_;
    /**
     * required bytes rowKeyMetadata = 14;
     */
    public boolean hasRowKeyMetadata() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * required bytes rowKeyMetadata = 14;
     */
    public com.google.protobuf.ByteString getRowKeyMetadata() {
      return rowKeyMetadata_;
    }

    // required int32 numDataTableColFamilies = 15;
    public static final int NUMDATATABLECOLFAMILIES_FIELD_NUMBER = 15;
    private int numDataTableColFamilies_;
    /**
     * required int32 numDataTableColFamilies = 15;
     */
    public boolean hasNumDataTableColFamilies() {
      return ((bitField0_ & 0x00000400) == 0x00000400);
    }
    /**
     * required int32 numDataTableColFamilies = 15;
     */
    public int getNumDataTableColFamilies() {
      return numDataTableColFamilies_;
    }

    // required bool indexWalDisabled = 16;
    public static final int INDEXWALDISABLED_FIELD_NUMBER = 16;
    private boolean indexWalDisabled_;
    /**
     * required bool indexWalDisabled = 16;
     */
    public boolean hasIndexWalDisabled() {
      return ((bitField0_ & 0x00000800) == 0x00000800);
    }
    /**
     * required bool indexWalDisabled = 16;
     */
    public boolean getIndexWalDisabled() {
      return indexWalDisabled_;
    }

    // required int32 indexRowKeyByteSize = 17;
    public static final int INDEXROWKEYBYTESIZE_FIELD_NUMBER = 17;
    private int indexRowKeyByteSize_;
    /**
     * required int32 indexRowKeyByteSize = 17;
     */
    public boolean hasIndexRowKeyByteSize() {
      return ((bitField0_ & 0x00001000) == 0x00001000);
    }
    /**
     * required int32 indexRowKeyByteSize = 17;
     */
    public int getIndexRowKeyByteSize() {
      return indexRowKeyByteSize_;
    }

    // required bool immutable = 18;
    public static final int IMMUTABLE_FIELD_NUMBER = 18;
    private boolean immutable_;
    /**
     * required bool immutable = 18;
     */
    public boolean hasImmutable() {
      return ((bitField0_ & 0x00002000) == 0x00002000);
    }
    /**
     * required bool immutable = 18;
     */
    public boolean getImmutable() {
      return immutable_;
    }

    // repeated .ColumnInfo indexedColumnInfo = 19;
    public static final int INDEXEDCOLUMNINFO_FIELD_NUMBER = 19;
    private java.util.List indexedColumnInfo_;
    /**
     * repeated .ColumnInfo indexedColumnInfo = 19;
     */
    public java.util.List getIndexedColumnInfoList() {
      return indexedColumnInfo_;
    }
    /**
     * repeated .ColumnInfo indexedColumnInfo = 19;
     */
    public java.util.List 
        getIndexedColumnInfoOrBuilderList() {
      return indexedColumnInfo_;
    }
    /**
     * repeated .ColumnInfo indexedColumnInfo = 19;
     */
    public int getIndexedColumnInfoCount() {
      return indexedColumnInfo_.size();
    }
    /**
     * repeated .ColumnInfo indexedColumnInfo = 19;
     */
    public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo getIndexedColumnInfo(int index) {
      return indexedColumnInfo_.get(index);
    }
    /**
     * repeated .ColumnInfo indexedColumnInfo = 19;
     */
    public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfoOrBuilder getIndexedColumnInfoOrBuilder(
        int index) {
      return indexedColumnInfo_.get(index);
    }

    // required int32 encodingScheme = 20;
    public static final int ENCODINGSCHEME_FIELD_NUMBER = 20;
    private int encodingScheme_;
    /**
     * required int32 encodingScheme = 20;
     */
    public boolean hasEncodingScheme() {
      return ((bitField0_ & 0x00004000) == 0x00004000);
    }
    /**
     * required int32 encodingScheme = 20;
     */
    public int getEncodingScheme() {
      return encodingScheme_;
    }

    // required int32 immutableStorageScheme = 21;
    public static final int IMMUTABLESTORAGESCHEME_FIELD_NUMBER = 21;
    private int immutableStorageScheme_;
    /**
     * required int32 immutableStorageScheme = 21;
     */
    public boolean hasImmutableStorageScheme() {
      return ((bitField0_ & 0x00008000) == 0x00008000);
    }
    /**
     * required int32 immutableStorageScheme = 21;
     */
    public int getImmutableStorageScheme() {
      return immutableStorageScheme_;
    }

    // optional int32 viewIndexIdType = 22;
    public static final int VIEWINDEXIDTYPE_FIELD_NUMBER = 22;
    private int viewIndexIdType_;
    /**
     * optional int32 viewIndexIdType = 22;
     */
    public boolean hasViewIndexIdType() {
      return ((bitField0_ & 0x00010000) == 0x00010000);
    }
    /**
     * optional int32 viewIndexIdType = 22;
     */
    public int getViewIndexIdType() {
      return viewIndexIdType_;
    }

    // optional int32 indexDataColumnCount = 23 [default = -1];
    public static final int INDEXDATACOLUMNCOUNT_FIELD_NUMBER = 23;
    private int indexDataColumnCount_;
    /**
     * optional int32 indexDataColumnCount = 23 [default = -1];
     */
    public boolean hasIndexDataColumnCount() {
      return ((bitField0_ & 0x00020000) == 0x00020000);
    }
    /**
     * optional int32 indexDataColumnCount = 23 [default = -1];
     */
    public int getIndexDataColumnCount() {
      return indexDataColumnCount_;
    }

    // optional string parentTableType = 24;
    public static final int PARENTTABLETYPE_FIELD_NUMBER = 24;
    private java.lang.Object parentTableType_;
    /**
     * optional string parentTableType = 24;
     */
    public boolean hasParentTableType() {
      return ((bitField0_ & 0x00040000) == 0x00040000);
    }
    /**
     * optional string parentTableType = 24;
     */
    public java.lang.String getParentTableType() {
      java.lang.Object ref = parentTableType_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          parentTableType_ = s;
        }
        return s;
      }
    }
    /**
     * optional string parentTableType = 24;
     */
    public com.google.protobuf.ByteString
        getParentTableTypeBytes() {
      java.lang.Object ref = parentTableType_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        parentTableType_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string logicalIndexName = 25;
    public static final int LOGICALINDEXNAME_FIELD_NUMBER = 25;
    private java.lang.Object logicalIndexName_;
    /**
     * optional string logicalIndexName = 25;
     */
    public boolean hasLogicalIndexName() {
      return ((bitField0_ & 0x00080000) == 0x00080000);
    }
    /**
     * optional string logicalIndexName = 25;
     */
    public java.lang.String getLogicalIndexName() {
      java.lang.Object ref = logicalIndexName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          logicalIndexName_ = s;
        }
        return s;
      }
    }
    /**
     * optional string logicalIndexName = 25;
     */
    public com.google.protobuf.ByteString
        getLogicalIndexNameBytes() {
      java.lang.Object ref = logicalIndexName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        logicalIndexName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional int32 dataEncodingScheme = 26;
    public static final int DATAENCODINGSCHEME_FIELD_NUMBER = 26;
    private int dataEncodingScheme_;
    /**
     * optional int32 dataEncodingScheme = 26;
     */
    public boolean hasDataEncodingScheme() {
      return ((bitField0_ & 0x00100000) == 0x00100000);
    }
    /**
     * optional int32 dataEncodingScheme = 26;
     */
    public int getDataEncodingScheme() {
      return dataEncodingScheme_;
    }

    // optional int32 dataImmutableStorageScheme = 27;
    public static final int DATAIMMUTABLESTORAGESCHEME_FIELD_NUMBER = 27;
    private int dataImmutableStorageScheme_;
    /**
     * optional int32 dataImmutableStorageScheme = 27;
     */
    public boolean hasDataImmutableStorageScheme() {
      return ((bitField0_ & 0x00200000) == 0x00200000);
    }
    /**
     * optional int32 dataImmutableStorageScheme = 27;
     */
    public int getDataImmutableStorageScheme() {
      return dataImmutableStorageScheme_;
    }

    private void initFields() {
      saltBuckets_ = 0;
      isMultiTenant_ = false;
      viewIndexId_ = com.google.protobuf.ByteString.EMPTY;
      indexedColumns_ = java.util.Collections.emptyList();
      indexedColumnTypeOrdinal_ = java.util.Collections.emptyList();
      dataTableColRefForCoveredColumns_ = java.util.Collections.emptyList();
      indexTableColRefForCoveredColumns_ = java.util.Collections.emptyList();
      isLocalIndex_ = false;
      indexTableName_ = com.google.protobuf.ByteString.EMPTY;
      rowKeyOrderOptimizable_ = false;
      dataTableEmptyKeyValueColFamily_ = com.google.protobuf.ByteString.EMPTY;
      emptyKeyValueColFamily_ = org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.getDefaultInstance();
      indexedExpressions_ = com.google.protobuf.ByteString.EMPTY;
      rowKeyMetadata_ = com.google.protobuf.ByteString.EMPTY;
      numDataTableColFamilies_ = 0;
      indexWalDisabled_ = false;
      indexRowKeyByteSize_ = 0;
      immutable_ = false;
      indexedColumnInfo_ = java.util.Collections.emptyList();
      encodingScheme_ = 0;
      immutableStorageScheme_ = 0;
      viewIndexIdType_ = 0;
      indexDataColumnCount_ = -1;
      parentTableType_ = "";
      logicalIndexName_ = "";
      dataEncodingScheme_ = 0;
      dataImmutableStorageScheme_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasSaltBuckets()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasIsMultiTenant()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasIsLocalIndex()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasIndexTableName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasRowKeyOrderOptimizable()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasDataTableEmptyKeyValueColFamily()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasEmptyKeyValueColFamily()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasRowKeyMetadata()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasNumDataTableColFamilies()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasIndexWalDisabled()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasIndexRowKeyByteSize()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasImmutable()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasEncodingScheme()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasImmutableStorageScheme()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getIndexedColumnsCount(); i++) {
        if (!getIndexedColumns(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getDataTableColRefForCoveredColumnsCount(); i++) {
        if (!getDataTableColRefForCoveredColumns(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getIndexTableColRefForCoveredColumnsCount(); i++) {
        if (!getIndexTableColRefForCoveredColumns(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (!getEmptyKeyValueColFamily().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getIndexedColumnInfoCount(); i++) {
        if (!getIndexedColumnInfo(i).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.writeInt32(1, saltBuckets_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBool(2, isMultiTenant_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, viewIndexId_);
      }
      for (int i = 0; i < indexedColumns_.size(); i++) {
        output.writeMessage(4, indexedColumns_.get(i));
      }
      for (int i = 0; i < indexedColumnTypeOrdinal_.size(); i++) {
        output.writeInt32(5, indexedColumnTypeOrdinal_.get(i));
      }
      for (int i = 0; i < dataTableColRefForCoveredColumns_.size(); i++) {
        output.writeMessage(6, dataTableColRefForCoveredColumns_.get(i));
      }
      for (int i = 0; i < indexTableColRefForCoveredColumns_.size(); i++) {
        output.writeMessage(7, indexTableColRefForCoveredColumns_.get(i));
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBool(8, isLocalIndex_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeBytes(9, indexTableName_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeBool(10, rowKeyOrderOptimizable_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeBytes(11, dataTableEmptyKeyValueColFamily_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeMessage(12, emptyKeyValueColFamily_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeBytes(13, indexedExpressions_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeBytes(14, rowKeyMetadata_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        output.writeInt32(15, numDataTableColFamilies_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        output.writeBool(16, indexWalDisabled_);
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        output.writeInt32(17, indexRowKeyByteSize_);
      }
      if (((bitField0_ & 0x00002000) == 0x00002000)) {
        output.writeBool(18, immutable_);
      }
      for (int i = 0; i < indexedColumnInfo_.size(); i++) {
        output.writeMessage(19, indexedColumnInfo_.get(i));
      }
      if (((bitField0_ & 0x00004000) == 0x00004000)) {
        output.writeInt32(20, encodingScheme_);
      }
      if (((bitField0_ & 0x00008000) == 0x00008000)) {
        output.writeInt32(21, immutableStorageScheme_);
      }
      if (((bitField0_ & 0x00010000) == 0x00010000)) {
        output.writeInt32(22, viewIndexIdType_);
      }
      if (((bitField0_ & 0x00020000) == 0x00020000)) {
        output.writeInt32(23, indexDataColumnCount_);
      }
      if (((bitField0_ & 0x00040000) == 0x00040000)) {
        output.writeBytes(24, getParentTableTypeBytes());
      }
      if (((bitField0_ & 0x00080000) == 0x00080000)) {
        output.writeBytes(25, getLogicalIndexNameBytes());
      }
      if (((bitField0_ & 0x00100000) == 0x00100000)) {
        output.writeInt32(26, dataEncodingScheme_);
      }
      if (((bitField0_ & 0x00200000) == 0x00200000)) {
        output.writeInt32(27, dataImmutableStorageScheme_);
      }
      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
          .computeInt32Size(1, saltBuckets_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, isMultiTenant_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, viewIndexId_);
      }
      for (int i = 0; i < indexedColumns_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, indexedColumns_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < indexedColumnTypeOrdinal_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(indexedColumnTypeOrdinal_.get(i));
        }
        size += dataSize;
        size += 1 * getIndexedColumnTypeOrdinalList().size();
      }
      for (int i = 0; i < dataTableColRefForCoveredColumns_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, dataTableColRefForCoveredColumns_.get(i));
      }
      for (int i = 0; i < indexTableColRefForCoveredColumns_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, indexTableColRefForCoveredColumns_.get(i));
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(8, isLocalIndex_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(9, indexTableName_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(10, rowKeyOrderOptimizable_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(11, dataTableEmptyKeyValueColFamily_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(12, emptyKeyValueColFamily_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(13, indexedExpressions_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(14, rowKeyMetadata_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(15, numDataTableColFamilies_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(16, indexWalDisabled_);
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(17, indexRowKeyByteSize_);
      }
      if (((bitField0_ & 0x00002000) == 0x00002000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(18, immutable_);
      }
      for (int i = 0; i < indexedColumnInfo_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(19, indexedColumnInfo_.get(i));
      }
      if (((bitField0_ & 0x00004000) == 0x00004000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(20, encodingScheme_);
      }
      if (((bitField0_ & 0x00008000) == 0x00008000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(21, immutableStorageScheme_);
      }
      if (((bitField0_ & 0x00010000) == 0x00010000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(22, viewIndexIdType_);
      }
      if (((bitField0_ & 0x00020000) == 0x00020000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(23, indexDataColumnCount_);
      }
      if (((bitField0_ & 0x00040000) == 0x00040000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(24, getParentTableTypeBytes());
      }
      if (((bitField0_ & 0x00080000) == 0x00080000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(25, getLogicalIndexNameBytes());
      }
      if (((bitField0_ & 0x00100000) == 0x00100000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(26, dataEncodingScheme_);
      }
      if (((bitField0_ & 0x00200000) == 0x00200000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(27, dataImmutableStorageScheme_);
      }
      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 org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer)) {
        return super.equals(obj);
      }
      org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer other = (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer) obj;

      boolean result = true;
      result = result && (hasSaltBuckets() == other.hasSaltBuckets());
      if (hasSaltBuckets()) {
        result = result && (getSaltBuckets()
            == other.getSaltBuckets());
      }
      result = result && (hasIsMultiTenant() == other.hasIsMultiTenant());
      if (hasIsMultiTenant()) {
        result = result && (getIsMultiTenant()
            == other.getIsMultiTenant());
      }
      result = result && (hasViewIndexId() == other.hasViewIndexId());
      if (hasViewIndexId()) {
        result = result && getViewIndexId()
            .equals(other.getViewIndexId());
      }
      result = result && getIndexedColumnsList()
          .equals(other.getIndexedColumnsList());
      result = result && getIndexedColumnTypeOrdinalList()
          .equals(other.getIndexedColumnTypeOrdinalList());
      result = result && getDataTableColRefForCoveredColumnsList()
          .equals(other.getDataTableColRefForCoveredColumnsList());
      result = result && getIndexTableColRefForCoveredColumnsList()
          .equals(other.getIndexTableColRefForCoveredColumnsList());
      result = result && (hasIsLocalIndex() == other.hasIsLocalIndex());
      if (hasIsLocalIndex()) {
        result = result && (getIsLocalIndex()
            == other.getIsLocalIndex());
      }
      result = result && (hasIndexTableName() == other.hasIndexTableName());
      if (hasIndexTableName()) {
        result = result && getIndexTableName()
            .equals(other.getIndexTableName());
      }
      result = result && (hasRowKeyOrderOptimizable() == other.hasRowKeyOrderOptimizable());
      if (hasRowKeyOrderOptimizable()) {
        result = result && (getRowKeyOrderOptimizable()
            == other.getRowKeyOrderOptimizable());
      }
      result = result && (hasDataTableEmptyKeyValueColFamily() == other.hasDataTableEmptyKeyValueColFamily());
      if (hasDataTableEmptyKeyValueColFamily()) {
        result = result && getDataTableEmptyKeyValueColFamily()
            .equals(other.getDataTableEmptyKeyValueColFamily());
      }
      result = result && (hasEmptyKeyValueColFamily() == other.hasEmptyKeyValueColFamily());
      if (hasEmptyKeyValueColFamily()) {
        result = result && getEmptyKeyValueColFamily()
            .equals(other.getEmptyKeyValueColFamily());
      }
      result = result && (hasIndexedExpressions() == other.hasIndexedExpressions());
      if (hasIndexedExpressions()) {
        result = result && getIndexedExpressions()
            .equals(other.getIndexedExpressions());
      }
      result = result && (hasRowKeyMetadata() == other.hasRowKeyMetadata());
      if (hasRowKeyMetadata()) {
        result = result && getRowKeyMetadata()
            .equals(other.getRowKeyMetadata());
      }
      result = result && (hasNumDataTableColFamilies() == other.hasNumDataTableColFamilies());
      if (hasNumDataTableColFamilies()) {
        result = result && (getNumDataTableColFamilies()
            == other.getNumDataTableColFamilies());
      }
      result = result && (hasIndexWalDisabled() == other.hasIndexWalDisabled());
      if (hasIndexWalDisabled()) {
        result = result && (getIndexWalDisabled()
            == other.getIndexWalDisabled());
      }
      result = result && (hasIndexRowKeyByteSize() == other.hasIndexRowKeyByteSize());
      if (hasIndexRowKeyByteSize()) {
        result = result && (getIndexRowKeyByteSize()
            == other.getIndexRowKeyByteSize());
      }
      result = result && (hasImmutable() == other.hasImmutable());
      if (hasImmutable()) {
        result = result && (getImmutable()
            == other.getImmutable());
      }
      result = result && getIndexedColumnInfoList()
          .equals(other.getIndexedColumnInfoList());
      result = result && (hasEncodingScheme() == other.hasEncodingScheme());
      if (hasEncodingScheme()) {
        result = result && (getEncodingScheme()
            == other.getEncodingScheme());
      }
      result = result && (hasImmutableStorageScheme() == other.hasImmutableStorageScheme());
      if (hasImmutableStorageScheme()) {
        result = result && (getImmutableStorageScheme()
            == other.getImmutableStorageScheme());
      }
      result = result && (hasViewIndexIdType() == other.hasViewIndexIdType());
      if (hasViewIndexIdType()) {
        result = result && (getViewIndexIdType()
            == other.getViewIndexIdType());
      }
      result = result && (hasIndexDataColumnCount() == other.hasIndexDataColumnCount());
      if (hasIndexDataColumnCount()) {
        result = result && (getIndexDataColumnCount()
            == other.getIndexDataColumnCount());
      }
      result = result && (hasParentTableType() == other.hasParentTableType());
      if (hasParentTableType()) {
        result = result && getParentTableType()
            .equals(other.getParentTableType());
      }
      result = result && (hasLogicalIndexName() == other.hasLogicalIndexName());
      if (hasLogicalIndexName()) {
        result = result && getLogicalIndexName()
            .equals(other.getLogicalIndexName());
      }
      result = result && (hasDataEncodingScheme() == other.hasDataEncodingScheme());
      if (hasDataEncodingScheme()) {
        result = result && (getDataEncodingScheme()
            == other.getDataEncodingScheme());
      }
      result = result && (hasDataImmutableStorageScheme() == other.hasDataImmutableStorageScheme());
      if (hasDataImmutableStorageScheme()) {
        result = result && (getDataImmutableStorageScheme()
            == other.getDataImmutableStorageScheme());
      }
      result = result &&
          getUnknownFields().equals(other.getUnknownFields());
      return result;
    }

    private int memoizedHashCode = 0;
    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasSaltBuckets()) {
        hash = (37 * hash) + SALTBUCKETS_FIELD_NUMBER;
        hash = (53 * hash) + getSaltBuckets();
      }
      if (hasIsMultiTenant()) {
        hash = (37 * hash) + ISMULTITENANT_FIELD_NUMBER;
        hash = (53 * hash) + hashBoolean(getIsMultiTenant());
      }
      if (hasViewIndexId()) {
        hash = (37 * hash) + VIEWINDEXID_FIELD_NUMBER;
        hash = (53 * hash) + getViewIndexId().hashCode();
      }
      if (getIndexedColumnsCount() > 0) {
        hash = (37 * hash) + INDEXEDCOLUMNS_FIELD_NUMBER;
        hash = (53 * hash) + getIndexedColumnsList().hashCode();
      }
      if (getIndexedColumnTypeOrdinalCount() > 0) {
        hash = (37 * hash) + INDEXEDCOLUMNTYPEORDINAL_FIELD_NUMBER;
        hash = (53 * hash) + getIndexedColumnTypeOrdinalList().hashCode();
      }
      if (getDataTableColRefForCoveredColumnsCount() > 0) {
        hash = (37 * hash) + DATATABLECOLREFFORCOVEREDCOLUMNS_FIELD_NUMBER;
        hash = (53 * hash) + getDataTableColRefForCoveredColumnsList().hashCode();
      }
      if (getIndexTableColRefForCoveredColumnsCount() > 0) {
        hash = (37 * hash) + INDEXTABLECOLREFFORCOVEREDCOLUMNS_FIELD_NUMBER;
        hash = (53 * hash) + getIndexTableColRefForCoveredColumnsList().hashCode();
      }
      if (hasIsLocalIndex()) {
        hash = (37 * hash) + ISLOCALINDEX_FIELD_NUMBER;
        hash = (53 * hash) + hashBoolean(getIsLocalIndex());
      }
      if (hasIndexTableName()) {
        hash = (37 * hash) + INDEXTABLENAME_FIELD_NUMBER;
        hash = (53 * hash) + getIndexTableName().hashCode();
      }
      if (hasRowKeyOrderOptimizable()) {
        hash = (37 * hash) + ROWKEYORDEROPTIMIZABLE_FIELD_NUMBER;
        hash = (53 * hash) + hashBoolean(getRowKeyOrderOptimizable());
      }
      if (hasDataTableEmptyKeyValueColFamily()) {
        hash = (37 * hash) + DATATABLEEMPTYKEYVALUECOLFAMILY_FIELD_NUMBER;
        hash = (53 * hash) + getDataTableEmptyKeyValueColFamily().hashCode();
      }
      if (hasEmptyKeyValueColFamily()) {
        hash = (37 * hash) + EMPTYKEYVALUECOLFAMILY_FIELD_NUMBER;
        hash = (53 * hash) + getEmptyKeyValueColFamily().hashCode();
      }
      if (hasIndexedExpressions()) {
        hash = (37 * hash) + INDEXEDEXPRESSIONS_FIELD_NUMBER;
        hash = (53 * hash) + getIndexedExpressions().hashCode();
      }
      if (hasRowKeyMetadata()) {
        hash = (37 * hash) + ROWKEYMETADATA_FIELD_NUMBER;
        hash = (53 * hash) + getRowKeyMetadata().hashCode();
      }
      if (hasNumDataTableColFamilies()) {
        hash = (37 * hash) + NUMDATATABLECOLFAMILIES_FIELD_NUMBER;
        hash = (53 * hash) + getNumDataTableColFamilies();
      }
      if (hasIndexWalDisabled()) {
        hash = (37 * hash) + INDEXWALDISABLED_FIELD_NUMBER;
        hash = (53 * hash) + hashBoolean(getIndexWalDisabled());
      }
      if (hasIndexRowKeyByteSize()) {
        hash = (37 * hash) + INDEXROWKEYBYTESIZE_FIELD_NUMBER;
        hash = (53 * hash) + getIndexRowKeyByteSize();
      }
      if (hasImmutable()) {
        hash = (37 * hash) + IMMUTABLE_FIELD_NUMBER;
        hash = (53 * hash) + hashBoolean(getImmutable());
      }
      if (getIndexedColumnInfoCount() > 0) {
        hash = (37 * hash) + INDEXEDCOLUMNINFO_FIELD_NUMBER;
        hash = (53 * hash) + getIndexedColumnInfoList().hashCode();
      }
      if (hasEncodingScheme()) {
        hash = (37 * hash) + ENCODINGSCHEME_FIELD_NUMBER;
        hash = (53 * hash) + getEncodingScheme();
      }
      if (hasImmutableStorageScheme()) {
        hash = (37 * hash) + IMMUTABLESTORAGESCHEME_FIELD_NUMBER;
        hash = (53 * hash) + getImmutableStorageScheme();
      }
      if (hasViewIndexIdType()) {
        hash = (37 * hash) + VIEWINDEXIDTYPE_FIELD_NUMBER;
        hash = (53 * hash) + getViewIndexIdType();
      }
      if (hasIndexDataColumnCount()) {
        hash = (37 * hash) + INDEXDATACOLUMNCOUNT_FIELD_NUMBER;
        hash = (53 * hash) + getIndexDataColumnCount();
      }
      if (hasParentTableType()) {
        hash = (37 * hash) + PARENTTABLETYPE_FIELD_NUMBER;
        hash = (53 * hash) + getParentTableType().hashCode();
      }
      if (hasLogicalIndexName()) {
        hash = (37 * hash) + LOGICALINDEXNAME_FIELD_NUMBER;
        hash = (53 * hash) + getLogicalIndexName().hashCode();
      }
      if (hasDataEncodingScheme()) {
        hash = (37 * hash) + DATAENCODINGSCHEME_FIELD_NUMBER;
        hash = (53 * hash) + getDataEncodingScheme();
      }
      if (hasDataImmutableStorageScheme()) {
        hash = (37 * hash) + DATAIMMUTABLESTORAGESCHEME_FIELD_NUMBER;
        hash = (53 * hash) + getDataImmutableStorageScheme();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer 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;
    }
    /**
     * Protobuf type {@code IndexMaintainer}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainerOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_IndexMaintainer_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_IndexMaintainer_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer.class, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer.Builder.class);
      }

      // Construct using org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getIndexedColumnsFieldBuilder();
          getDataTableColRefForCoveredColumnsFieldBuilder();
          getIndexTableColRefForCoveredColumnsFieldBuilder();
          getEmptyKeyValueColFamilyFieldBuilder();
          getIndexedColumnInfoFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        saltBuckets_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        isMultiTenant_ = false;
        bitField0_ = (bitField0_ & ~0x00000002);
        viewIndexId_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        if (indexedColumnsBuilder_ == null) {
          indexedColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
        } else {
          indexedColumnsBuilder_.clear();
        }
        indexedColumnTypeOrdinal_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000010);
        if (dataTableColRefForCoveredColumnsBuilder_ == null) {
          dataTableColRefForCoveredColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000020);
        } else {
          dataTableColRefForCoveredColumnsBuilder_.clear();
        }
        if (indexTableColRefForCoveredColumnsBuilder_ == null) {
          indexTableColRefForCoveredColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000040);
        } else {
          indexTableColRefForCoveredColumnsBuilder_.clear();
        }
        isLocalIndex_ = false;
        bitField0_ = (bitField0_ & ~0x00000080);
        indexTableName_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000100);
        rowKeyOrderOptimizable_ = false;
        bitField0_ = (bitField0_ & ~0x00000200);
        dataTableEmptyKeyValueColFamily_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000400);
        if (emptyKeyValueColFamilyBuilder_ == null) {
          emptyKeyValueColFamily_ = org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.getDefaultInstance();
        } else {
          emptyKeyValueColFamilyBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000800);
        indexedExpressions_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00001000);
        rowKeyMetadata_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00002000);
        numDataTableColFamilies_ = 0;
        bitField0_ = (bitField0_ & ~0x00004000);
        indexWalDisabled_ = false;
        bitField0_ = (bitField0_ & ~0x00008000);
        indexRowKeyByteSize_ = 0;
        bitField0_ = (bitField0_ & ~0x00010000);
        immutable_ = false;
        bitField0_ = (bitField0_ & ~0x00020000);
        if (indexedColumnInfoBuilder_ == null) {
          indexedColumnInfo_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00040000);
        } else {
          indexedColumnInfoBuilder_.clear();
        }
        encodingScheme_ = 0;
        bitField0_ = (bitField0_ & ~0x00080000);
        immutableStorageScheme_ = 0;
        bitField0_ = (bitField0_ & ~0x00100000);
        viewIndexIdType_ = 0;
        bitField0_ = (bitField0_ & ~0x00200000);
        indexDataColumnCount_ = -1;
        bitField0_ = (bitField0_ & ~0x00400000);
        parentTableType_ = "";
        bitField0_ = (bitField0_ & ~0x00800000);
        logicalIndexName_ = "";
        bitField0_ = (bitField0_ & ~0x01000000);
        dataEncodingScheme_ = 0;
        bitField0_ = (bitField0_ & ~0x02000000);
        dataImmutableStorageScheme_ = 0;
        bitField0_ = (bitField0_ & ~0x04000000);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_IndexMaintainer_descriptor;
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer getDefaultInstanceForType() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer.getDefaultInstance();
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer build() {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer buildPartial() {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer result = new org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.saltBuckets_ = saltBuckets_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.isMultiTenant_ = isMultiTenant_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.viewIndexId_ = viewIndexId_;
        if (indexedColumnsBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008)) {
            indexedColumns_ = java.util.Collections.unmodifiableList(indexedColumns_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.indexedColumns_ = indexedColumns_;
        } else {
          result.indexedColumns_ = indexedColumnsBuilder_.build();
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          indexedColumnTypeOrdinal_ = java.util.Collections.unmodifiableList(indexedColumnTypeOrdinal_);
          bitField0_ = (bitField0_ & ~0x00000010);
        }
        result.indexedColumnTypeOrdinal_ = indexedColumnTypeOrdinal_;
        if (dataTableColRefForCoveredColumnsBuilder_ == null) {
          if (((bitField0_ & 0x00000020) == 0x00000020)) {
            dataTableColRefForCoveredColumns_ = java.util.Collections.unmodifiableList(dataTableColRefForCoveredColumns_);
            bitField0_ = (bitField0_ & ~0x00000020);
          }
          result.dataTableColRefForCoveredColumns_ = dataTableColRefForCoveredColumns_;
        } else {
          result.dataTableColRefForCoveredColumns_ = dataTableColRefForCoveredColumnsBuilder_.build();
        }
        if (indexTableColRefForCoveredColumnsBuilder_ == null) {
          if (((bitField0_ & 0x00000040) == 0x00000040)) {
            indexTableColRefForCoveredColumns_ = java.util.Collections.unmodifiableList(indexTableColRefForCoveredColumns_);
            bitField0_ = (bitField0_ & ~0x00000040);
          }
          result.indexTableColRefForCoveredColumns_ = indexTableColRefForCoveredColumns_;
        } else {
          result.indexTableColRefForCoveredColumns_ = indexTableColRefForCoveredColumnsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000008;
        }
        result.isLocalIndex_ = isLocalIndex_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000010;
        }
        result.indexTableName_ = indexTableName_;
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000020;
        }
        result.rowKeyOrderOptimizable_ = rowKeyOrderOptimizable_;
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000040;
        }
        result.dataTableEmptyKeyValueColFamily_ = dataTableEmptyKeyValueColFamily_;
        if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
          to_bitField0_ |= 0x00000080;
        }
        if (emptyKeyValueColFamilyBuilder_ == null) {
          result.emptyKeyValueColFamily_ = emptyKeyValueColFamily_;
        } else {
          result.emptyKeyValueColFamily_ = emptyKeyValueColFamilyBuilder_.build();
        }
        if (((from_bitField0_ & 0x00001000) == 0x00001000)) {
          to_bitField0_ |= 0x00000100;
        }
        result.indexedExpressions_ = indexedExpressions_;
        if (((from_bitField0_ & 0x00002000) == 0x00002000)) {
          to_bitField0_ |= 0x00000200;
        }
        result.rowKeyMetadata_ = rowKeyMetadata_;
        if (((from_bitField0_ & 0x00004000) == 0x00004000)) {
          to_bitField0_ |= 0x00000400;
        }
        result.numDataTableColFamilies_ = numDataTableColFamilies_;
        if (((from_bitField0_ & 0x00008000) == 0x00008000)) {
          to_bitField0_ |= 0x00000800;
        }
        result.indexWalDisabled_ = indexWalDisabled_;
        if (((from_bitField0_ & 0x00010000) == 0x00010000)) {
          to_bitField0_ |= 0x00001000;
        }
        result.indexRowKeyByteSize_ = indexRowKeyByteSize_;
        if (((from_bitField0_ & 0x00020000) == 0x00020000)) {
          to_bitField0_ |= 0x00002000;
        }
        result.immutable_ = immutable_;
        if (indexedColumnInfoBuilder_ == null) {
          if (((bitField0_ & 0x00040000) == 0x00040000)) {
            indexedColumnInfo_ = java.util.Collections.unmodifiableList(indexedColumnInfo_);
            bitField0_ = (bitField0_ & ~0x00040000);
          }
          result.indexedColumnInfo_ = indexedColumnInfo_;
        } else {
          result.indexedColumnInfo_ = indexedColumnInfoBuilder_.build();
        }
        if (((from_bitField0_ & 0x00080000) == 0x00080000)) {
          to_bitField0_ |= 0x00004000;
        }
        result.encodingScheme_ = encodingScheme_;
        if (((from_bitField0_ & 0x00100000) == 0x00100000)) {
          to_bitField0_ |= 0x00008000;
        }
        result.immutableStorageScheme_ = immutableStorageScheme_;
        if (((from_bitField0_ & 0x00200000) == 0x00200000)) {
          to_bitField0_ |= 0x00010000;
        }
        result.viewIndexIdType_ = viewIndexIdType_;
        if (((from_bitField0_ & 0x00400000) == 0x00400000)) {
          to_bitField0_ |= 0x00020000;
        }
        result.indexDataColumnCount_ = indexDataColumnCount_;
        if (((from_bitField0_ & 0x00800000) == 0x00800000)) {
          to_bitField0_ |= 0x00040000;
        }
        result.parentTableType_ = parentTableType_;
        if (((from_bitField0_ & 0x01000000) == 0x01000000)) {
          to_bitField0_ |= 0x00080000;
        }
        result.logicalIndexName_ = logicalIndexName_;
        if (((from_bitField0_ & 0x02000000) == 0x02000000)) {
          to_bitField0_ |= 0x00100000;
        }
        result.dataEncodingScheme_ = dataEncodingScheme_;
        if (((from_bitField0_ & 0x04000000) == 0x04000000)) {
          to_bitField0_ |= 0x00200000;
        }
        result.dataImmutableStorageScheme_ = dataImmutableStorageScheme_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer) {
          return mergeFrom((org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer other) {
        if (other == org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer.getDefaultInstance()) return this;
        if (other.hasSaltBuckets()) {
          setSaltBuckets(other.getSaltBuckets());
        }
        if (other.hasIsMultiTenant()) {
          setIsMultiTenant(other.getIsMultiTenant());
        }
        if (other.hasViewIndexId()) {
          setViewIndexId(other.getViewIndexId());
        }
        if (indexedColumnsBuilder_ == null) {
          if (!other.indexedColumns_.isEmpty()) {
            if (indexedColumns_.isEmpty()) {
              indexedColumns_ = other.indexedColumns_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensureIndexedColumnsIsMutable();
              indexedColumns_.addAll(other.indexedColumns_);
            }
            onChanged();
          }
        } else {
          if (!other.indexedColumns_.isEmpty()) {
            if (indexedColumnsBuilder_.isEmpty()) {
              indexedColumnsBuilder_.dispose();
              indexedColumnsBuilder_ = null;
              indexedColumns_ = other.indexedColumns_;
              bitField0_ = (bitField0_ & ~0x00000008);
              indexedColumnsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getIndexedColumnsFieldBuilder() : null;
            } else {
              indexedColumnsBuilder_.addAllMessages(other.indexedColumns_);
            }
          }
        }
        if (!other.indexedColumnTypeOrdinal_.isEmpty()) {
          if (indexedColumnTypeOrdinal_.isEmpty()) {
            indexedColumnTypeOrdinal_ = other.indexedColumnTypeOrdinal_;
            bitField0_ = (bitField0_ & ~0x00000010);
          } else {
            ensureIndexedColumnTypeOrdinalIsMutable();
            indexedColumnTypeOrdinal_.addAll(other.indexedColumnTypeOrdinal_);
          }
          onChanged();
        }
        if (dataTableColRefForCoveredColumnsBuilder_ == null) {
          if (!other.dataTableColRefForCoveredColumns_.isEmpty()) {
            if (dataTableColRefForCoveredColumns_.isEmpty()) {
              dataTableColRefForCoveredColumns_ = other.dataTableColRefForCoveredColumns_;
              bitField0_ = (bitField0_ & ~0x00000020);
            } else {
              ensureDataTableColRefForCoveredColumnsIsMutable();
              dataTableColRefForCoveredColumns_.addAll(other.dataTableColRefForCoveredColumns_);
            }
            onChanged();
          }
        } else {
          if (!other.dataTableColRefForCoveredColumns_.isEmpty()) {
            if (dataTableColRefForCoveredColumnsBuilder_.isEmpty()) {
              dataTableColRefForCoveredColumnsBuilder_.dispose();
              dataTableColRefForCoveredColumnsBuilder_ = null;
              dataTableColRefForCoveredColumns_ = other.dataTableColRefForCoveredColumns_;
              bitField0_ = (bitField0_ & ~0x00000020);
              dataTableColRefForCoveredColumnsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getDataTableColRefForCoveredColumnsFieldBuilder() : null;
            } else {
              dataTableColRefForCoveredColumnsBuilder_.addAllMessages(other.dataTableColRefForCoveredColumns_);
            }
          }
        }
        if (indexTableColRefForCoveredColumnsBuilder_ == null) {
          if (!other.indexTableColRefForCoveredColumns_.isEmpty()) {
            if (indexTableColRefForCoveredColumns_.isEmpty()) {
              indexTableColRefForCoveredColumns_ = other.indexTableColRefForCoveredColumns_;
              bitField0_ = (bitField0_ & ~0x00000040);
            } else {
              ensureIndexTableColRefForCoveredColumnsIsMutable();
              indexTableColRefForCoveredColumns_.addAll(other.indexTableColRefForCoveredColumns_);
            }
            onChanged();
          }
        } else {
          if (!other.indexTableColRefForCoveredColumns_.isEmpty()) {
            if (indexTableColRefForCoveredColumnsBuilder_.isEmpty()) {
              indexTableColRefForCoveredColumnsBuilder_.dispose();
              indexTableColRefForCoveredColumnsBuilder_ = null;
              indexTableColRefForCoveredColumns_ = other.indexTableColRefForCoveredColumns_;
              bitField0_ = (bitField0_ & ~0x00000040);
              indexTableColRefForCoveredColumnsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getIndexTableColRefForCoveredColumnsFieldBuilder() : null;
            } else {
              indexTableColRefForCoveredColumnsBuilder_.addAllMessages(other.indexTableColRefForCoveredColumns_);
            }
          }
        }
        if (other.hasIsLocalIndex()) {
          setIsLocalIndex(other.getIsLocalIndex());
        }
        if (other.hasIndexTableName()) {
          setIndexTableName(other.getIndexTableName());
        }
        if (other.hasRowKeyOrderOptimizable()) {
          setRowKeyOrderOptimizable(other.getRowKeyOrderOptimizable());
        }
        if (other.hasDataTableEmptyKeyValueColFamily()) {
          setDataTableEmptyKeyValueColFamily(other.getDataTableEmptyKeyValueColFamily());
        }
        if (other.hasEmptyKeyValueColFamily()) {
          mergeEmptyKeyValueColFamily(other.getEmptyKeyValueColFamily());
        }
        if (other.hasIndexedExpressions()) {
          setIndexedExpressions(other.getIndexedExpressions());
        }
        if (other.hasRowKeyMetadata()) {
          setRowKeyMetadata(other.getRowKeyMetadata());
        }
        if (other.hasNumDataTableColFamilies()) {
          setNumDataTableColFamilies(other.getNumDataTableColFamilies());
        }
        if (other.hasIndexWalDisabled()) {
          setIndexWalDisabled(other.getIndexWalDisabled());
        }
        if (other.hasIndexRowKeyByteSize()) {
          setIndexRowKeyByteSize(other.getIndexRowKeyByteSize());
        }
        if (other.hasImmutable()) {
          setImmutable(other.getImmutable());
        }
        if (indexedColumnInfoBuilder_ == null) {
          if (!other.indexedColumnInfo_.isEmpty()) {
            if (indexedColumnInfo_.isEmpty()) {
              indexedColumnInfo_ = other.indexedColumnInfo_;
              bitField0_ = (bitField0_ & ~0x00040000);
            } else {
              ensureIndexedColumnInfoIsMutable();
              indexedColumnInfo_.addAll(other.indexedColumnInfo_);
            }
            onChanged();
          }
        } else {
          if (!other.indexedColumnInfo_.isEmpty()) {
            if (indexedColumnInfoBuilder_.isEmpty()) {
              indexedColumnInfoBuilder_.dispose();
              indexedColumnInfoBuilder_ = null;
              indexedColumnInfo_ = other.indexedColumnInfo_;
              bitField0_ = (bitField0_ & ~0x00040000);
              indexedColumnInfoBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getIndexedColumnInfoFieldBuilder() : null;
            } else {
              indexedColumnInfoBuilder_.addAllMessages(other.indexedColumnInfo_);
            }
          }
        }
        if (other.hasEncodingScheme()) {
          setEncodingScheme(other.getEncodingScheme());
        }
        if (other.hasImmutableStorageScheme()) {
          setImmutableStorageScheme(other.getImmutableStorageScheme());
        }
        if (other.hasViewIndexIdType()) {
          setViewIndexIdType(other.getViewIndexIdType());
        }
        if (other.hasIndexDataColumnCount()) {
          setIndexDataColumnCount(other.getIndexDataColumnCount());
        }
        if (other.hasParentTableType()) {
          bitField0_ |= 0x00800000;
          parentTableType_ = other.parentTableType_;
          onChanged();
        }
        if (other.hasLogicalIndexName()) {
          bitField0_ |= 0x01000000;
          logicalIndexName_ = other.logicalIndexName_;
          onChanged();
        }
        if (other.hasDataEncodingScheme()) {
          setDataEncodingScheme(other.getDataEncodingScheme());
        }
        if (other.hasDataImmutableStorageScheme()) {
          setDataImmutableStorageScheme(other.getDataImmutableStorageScheme());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasSaltBuckets()) {
          
          return false;
        }
        if (!hasIsMultiTenant()) {
          
          return false;
        }
        if (!hasIsLocalIndex()) {
          
          return false;
        }
        if (!hasIndexTableName()) {
          
          return false;
        }
        if (!hasRowKeyOrderOptimizable()) {
          
          return false;
        }
        if (!hasDataTableEmptyKeyValueColFamily()) {
          
          return false;
        }
        if (!hasEmptyKeyValueColFamily()) {
          
          return false;
        }
        if (!hasRowKeyMetadata()) {
          
          return false;
        }
        if (!hasNumDataTableColFamilies()) {
          
          return false;
        }
        if (!hasIndexWalDisabled()) {
          
          return false;
        }
        if (!hasIndexRowKeyByteSize()) {
          
          return false;
        }
        if (!hasImmutable()) {
          
          return false;
        }
        if (!hasEncodingScheme()) {
          
          return false;
        }
        if (!hasImmutableStorageScheme()) {
          
          return false;
        }
        for (int i = 0; i < getIndexedColumnsCount(); i++) {
          if (!getIndexedColumns(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getDataTableColRefForCoveredColumnsCount(); i++) {
          if (!getDataTableColRefForCoveredColumns(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getIndexTableColRefForCoveredColumnsCount(); i++) {
          if (!getIndexTableColRefForCoveredColumns(i).isInitialized()) {
            
            return false;
          }
        }
        if (!getEmptyKeyValueColFamily().isInitialized()) {
          
          return false;
        }
        for (int i = 0; i < getIndexedColumnInfoCount(); i++) {
          if (!getIndexedColumnInfo(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.IndexMaintainer) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // required int32 saltBuckets = 1;
      private int saltBuckets_ ;
      /**
       * required int32 saltBuckets = 1;
       */
      public boolean hasSaltBuckets() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * required int32 saltBuckets = 1;
       */
      public int getSaltBuckets() {
        return saltBuckets_;
      }
      /**
       * required int32 saltBuckets = 1;
       */
      public Builder setSaltBuckets(int value) {
        bitField0_ |= 0x00000001;
        saltBuckets_ = value;
        onChanged();
        return this;
      }
      /**
       * required int32 saltBuckets = 1;
       */
      public Builder clearSaltBuckets() {
        bitField0_ = (bitField0_ & ~0x00000001);
        saltBuckets_ = 0;
        onChanged();
        return this;
      }

      // required bool isMultiTenant = 2;
      private boolean isMultiTenant_ ;
      /**
       * required bool isMultiTenant = 2;
       */
      public boolean hasIsMultiTenant() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * required bool isMultiTenant = 2;
       */
      public boolean getIsMultiTenant() {
        return isMultiTenant_;
      }
      /**
       * required bool isMultiTenant = 2;
       */
      public Builder setIsMultiTenant(boolean value) {
        bitField0_ |= 0x00000002;
        isMultiTenant_ = value;
        onChanged();
        return this;
      }
      /**
       * required bool isMultiTenant = 2;
       */
      public Builder clearIsMultiTenant() {
        bitField0_ = (bitField0_ & ~0x00000002);
        isMultiTenant_ = false;
        onChanged();
        return this;
      }

      // optional bytes viewIndexId = 3;
      private com.google.protobuf.ByteString viewIndexId_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes viewIndexId = 3;
       */
      public boolean hasViewIndexId() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional bytes viewIndexId = 3;
       */
      public com.google.protobuf.ByteString getViewIndexId() {
        return viewIndexId_;
      }
      /**
       * optional bytes viewIndexId = 3;
       */
      public Builder setViewIndexId(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        viewIndexId_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes viewIndexId = 3;
       */
      public Builder clearViewIndexId() {
        bitField0_ = (bitField0_ & ~0x00000004);
        viewIndexId_ = getDefaultInstance().getViewIndexId();
        onChanged();
        return this;
      }

      // repeated .ColumnReference indexedColumns = 4;
      private java.util.List indexedColumns_ =
        java.util.Collections.emptyList();
      private void ensureIndexedColumnsIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          indexedColumns_ = new java.util.ArrayList(indexedColumns_);
          bitField0_ |= 0x00000008;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReferenceOrBuilder> indexedColumnsBuilder_;

      /**
       * repeated .ColumnReference indexedColumns = 4;
       */
      public java.util.List getIndexedColumnsList() {
        if (indexedColumnsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(indexedColumns_);
        } else {
          return indexedColumnsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .ColumnReference indexedColumns = 4;
       */
      public int getIndexedColumnsCount() {
        if (indexedColumnsBuilder_ == null) {
          return indexedColumns_.size();
        } else {
          return indexedColumnsBuilder_.getCount();
        }
      }
      /**
       * repeated .ColumnReference indexedColumns = 4;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference getIndexedColumns(int index) {
        if (indexedColumnsBuilder_ == null) {
          return indexedColumns_.get(index);
        } else {
          return indexedColumnsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .ColumnReference indexedColumns = 4;
       */
      public Builder setIndexedColumns(
          int index, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference value) {
        if (indexedColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureIndexedColumnsIsMutable();
          indexedColumns_.set(index, value);
          onChanged();
        } else {
          indexedColumnsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .ColumnReference indexedColumns = 4;
       */
      public Builder setIndexedColumns(
          int index, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder builderForValue) {
        if (indexedColumnsBuilder_ == null) {
          ensureIndexedColumnsIsMutable();
          indexedColumns_.set(index, builderForValue.build());
          onChanged();
        } else {
          indexedColumnsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .ColumnReference indexedColumns = 4;
       */
      public Builder addIndexedColumns(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference value) {
        if (indexedColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureIndexedColumnsIsMutable();
          indexedColumns_.add(value);
          onChanged();
        } else {
          indexedColumnsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .ColumnReference indexedColumns = 4;
       */
      public Builder addIndexedColumns(
          int index, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference value) {
        if (indexedColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureIndexedColumnsIsMutable();
          indexedColumns_.add(index, value);
          onChanged();
        } else {
          indexedColumnsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .ColumnReference indexedColumns = 4;
       */
      public Builder addIndexedColumns(
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder builderForValue) {
        if (indexedColumnsBuilder_ == null) {
          ensureIndexedColumnsIsMutable();
          indexedColumns_.add(builderForValue.build());
          onChanged();
        } else {
          indexedColumnsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .ColumnReference indexedColumns = 4;
       */
      public Builder addIndexedColumns(
          int index, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder builderForValue) {
        if (indexedColumnsBuilder_ == null) {
          ensureIndexedColumnsIsMutable();
          indexedColumns_.add(index, builderForValue.build());
          onChanged();
        } else {
          indexedColumnsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .ColumnReference indexedColumns = 4;
       */
      public Builder addAllIndexedColumns(
          java.lang.Iterable values) {
        if (indexedColumnsBuilder_ == null) {
          ensureIndexedColumnsIsMutable();
          super.addAll(values, indexedColumns_);
          onChanged();
        } else {
          indexedColumnsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .ColumnReference indexedColumns = 4;
       */
      public Builder clearIndexedColumns() {
        if (indexedColumnsBuilder_ == null) {
          indexedColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          indexedColumnsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .ColumnReference indexedColumns = 4;
       */
      public Builder removeIndexedColumns(int index) {
        if (indexedColumnsBuilder_ == null) {
          ensureIndexedColumnsIsMutable();
          indexedColumns_.remove(index);
          onChanged();
        } else {
          indexedColumnsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .ColumnReference indexedColumns = 4;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder getIndexedColumnsBuilder(
          int index) {
        return getIndexedColumnsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .ColumnReference indexedColumns = 4;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReferenceOrBuilder getIndexedColumnsOrBuilder(
          int index) {
        if (indexedColumnsBuilder_ == null) {
          return indexedColumns_.get(index);  } else {
          return indexedColumnsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .ColumnReference indexedColumns = 4;
       */
      public java.util.List 
           getIndexedColumnsOrBuilderList() {
        if (indexedColumnsBuilder_ != null) {
          return indexedColumnsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(indexedColumns_);
        }
      }
      /**
       * repeated .ColumnReference indexedColumns = 4;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder addIndexedColumnsBuilder() {
        return getIndexedColumnsFieldBuilder().addBuilder(
            org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.getDefaultInstance());
      }
      /**
       * repeated .ColumnReference indexedColumns = 4;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder addIndexedColumnsBuilder(
          int index) {
        return getIndexedColumnsFieldBuilder().addBuilder(
            index, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.getDefaultInstance());
      }
      /**
       * repeated .ColumnReference indexedColumns = 4;
       */
      public java.util.List 
           getIndexedColumnsBuilderList() {
        return getIndexedColumnsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReferenceOrBuilder> 
          getIndexedColumnsFieldBuilder() {
        if (indexedColumnsBuilder_ == null) {
          indexedColumnsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReferenceOrBuilder>(
                  indexedColumns_,
                  ((bitField0_ & 0x00000008) == 0x00000008),
                  getParentForChildren(),
                  isClean());
          indexedColumns_ = null;
        }
        return indexedColumnsBuilder_;
      }

      // repeated int32 indexedColumnTypeOrdinal = 5;
      private java.util.List indexedColumnTypeOrdinal_ = java.util.Collections.emptyList();
      private void ensureIndexedColumnTypeOrdinalIsMutable() {
        if (!((bitField0_ & 0x00000010) == 0x00000010)) {
          indexedColumnTypeOrdinal_ = new java.util.ArrayList(indexedColumnTypeOrdinal_);
          bitField0_ |= 0x00000010;
         }
      }
      /**
       * repeated int32 indexedColumnTypeOrdinal = 5;
       */
      public java.util.List
          getIndexedColumnTypeOrdinalList() {
        return java.util.Collections.unmodifiableList(indexedColumnTypeOrdinal_);
      }
      /**
       * repeated int32 indexedColumnTypeOrdinal = 5;
       */
      public int getIndexedColumnTypeOrdinalCount() {
        return indexedColumnTypeOrdinal_.size();
      }
      /**
       * repeated int32 indexedColumnTypeOrdinal = 5;
       */
      public int getIndexedColumnTypeOrdinal(int index) {
        return indexedColumnTypeOrdinal_.get(index);
      }
      /**
       * repeated int32 indexedColumnTypeOrdinal = 5;
       */
      public Builder setIndexedColumnTypeOrdinal(
          int index, int value) {
        ensureIndexedColumnTypeOrdinalIsMutable();
        indexedColumnTypeOrdinal_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated int32 indexedColumnTypeOrdinal = 5;
       */
      public Builder addIndexedColumnTypeOrdinal(int value) {
        ensureIndexedColumnTypeOrdinalIsMutable();
        indexedColumnTypeOrdinal_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated int32 indexedColumnTypeOrdinal = 5;
       */
      public Builder addAllIndexedColumnTypeOrdinal(
          java.lang.Iterable values) {
        ensureIndexedColumnTypeOrdinalIsMutable();
        super.addAll(values, indexedColumnTypeOrdinal_);
        onChanged();
        return this;
      }
      /**
       * repeated int32 indexedColumnTypeOrdinal = 5;
       */
      public Builder clearIndexedColumnTypeOrdinal() {
        indexedColumnTypeOrdinal_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }

      // repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
      private java.util.List dataTableColRefForCoveredColumns_ =
        java.util.Collections.emptyList();
      private void ensureDataTableColRefForCoveredColumnsIsMutable() {
        if (!((bitField0_ & 0x00000020) == 0x00000020)) {
          dataTableColRefForCoveredColumns_ = new java.util.ArrayList(dataTableColRefForCoveredColumns_);
          bitField0_ |= 0x00000020;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReferenceOrBuilder> dataTableColRefForCoveredColumnsBuilder_;

      /**
       * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
       */
      public java.util.List getDataTableColRefForCoveredColumnsList() {
        if (dataTableColRefForCoveredColumnsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(dataTableColRefForCoveredColumns_);
        } else {
          return dataTableColRefForCoveredColumnsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
       */
      public int getDataTableColRefForCoveredColumnsCount() {
        if (dataTableColRefForCoveredColumnsBuilder_ == null) {
          return dataTableColRefForCoveredColumns_.size();
        } else {
          return dataTableColRefForCoveredColumnsBuilder_.getCount();
        }
      }
      /**
       * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference getDataTableColRefForCoveredColumns(int index) {
        if (dataTableColRefForCoveredColumnsBuilder_ == null) {
          return dataTableColRefForCoveredColumns_.get(index);
        } else {
          return dataTableColRefForCoveredColumnsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
       */
      public Builder setDataTableColRefForCoveredColumns(
          int index, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference value) {
        if (dataTableColRefForCoveredColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataTableColRefForCoveredColumnsIsMutable();
          dataTableColRefForCoveredColumns_.set(index, value);
          onChanged();
        } else {
          dataTableColRefForCoveredColumnsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
       */
      public Builder setDataTableColRefForCoveredColumns(
          int index, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder builderForValue) {
        if (dataTableColRefForCoveredColumnsBuilder_ == null) {
          ensureDataTableColRefForCoveredColumnsIsMutable();
          dataTableColRefForCoveredColumns_.set(index, builderForValue.build());
          onChanged();
        } else {
          dataTableColRefForCoveredColumnsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
       */
      public Builder addDataTableColRefForCoveredColumns(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference value) {
        if (dataTableColRefForCoveredColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataTableColRefForCoveredColumnsIsMutable();
          dataTableColRefForCoveredColumns_.add(value);
          onChanged();
        } else {
          dataTableColRefForCoveredColumnsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
       */
      public Builder addDataTableColRefForCoveredColumns(
          int index, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference value) {
        if (dataTableColRefForCoveredColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDataTableColRefForCoveredColumnsIsMutable();
          dataTableColRefForCoveredColumns_.add(index, value);
          onChanged();
        } else {
          dataTableColRefForCoveredColumnsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
       */
      public Builder addDataTableColRefForCoveredColumns(
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder builderForValue) {
        if (dataTableColRefForCoveredColumnsBuilder_ == null) {
          ensureDataTableColRefForCoveredColumnsIsMutable();
          dataTableColRefForCoveredColumns_.add(builderForValue.build());
          onChanged();
        } else {
          dataTableColRefForCoveredColumnsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
       */
      public Builder addDataTableColRefForCoveredColumns(
          int index, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder builderForValue) {
        if (dataTableColRefForCoveredColumnsBuilder_ == null) {
          ensureDataTableColRefForCoveredColumnsIsMutable();
          dataTableColRefForCoveredColumns_.add(index, builderForValue.build());
          onChanged();
        } else {
          dataTableColRefForCoveredColumnsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
       */
      public Builder addAllDataTableColRefForCoveredColumns(
          java.lang.Iterable values) {
        if (dataTableColRefForCoveredColumnsBuilder_ == null) {
          ensureDataTableColRefForCoveredColumnsIsMutable();
          super.addAll(values, dataTableColRefForCoveredColumns_);
          onChanged();
        } else {
          dataTableColRefForCoveredColumnsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
       */
      public Builder clearDataTableColRefForCoveredColumns() {
        if (dataTableColRefForCoveredColumnsBuilder_ == null) {
          dataTableColRefForCoveredColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000020);
          onChanged();
        } else {
          dataTableColRefForCoveredColumnsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
       */
      public Builder removeDataTableColRefForCoveredColumns(int index) {
        if (dataTableColRefForCoveredColumnsBuilder_ == null) {
          ensureDataTableColRefForCoveredColumnsIsMutable();
          dataTableColRefForCoveredColumns_.remove(index);
          onChanged();
        } else {
          dataTableColRefForCoveredColumnsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder getDataTableColRefForCoveredColumnsBuilder(
          int index) {
        return getDataTableColRefForCoveredColumnsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReferenceOrBuilder getDataTableColRefForCoveredColumnsOrBuilder(
          int index) {
        if (dataTableColRefForCoveredColumnsBuilder_ == null) {
          return dataTableColRefForCoveredColumns_.get(index);  } else {
          return dataTableColRefForCoveredColumnsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
       */
      public java.util.List 
           getDataTableColRefForCoveredColumnsOrBuilderList() {
        if (dataTableColRefForCoveredColumnsBuilder_ != null) {
          return dataTableColRefForCoveredColumnsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(dataTableColRefForCoveredColumns_);
        }
      }
      /**
       * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder addDataTableColRefForCoveredColumnsBuilder() {
        return getDataTableColRefForCoveredColumnsFieldBuilder().addBuilder(
            org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.getDefaultInstance());
      }
      /**
       * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder addDataTableColRefForCoveredColumnsBuilder(
          int index) {
        return getDataTableColRefForCoveredColumnsFieldBuilder().addBuilder(
            index, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.getDefaultInstance());
      }
      /**
       * repeated .ColumnReference dataTableColRefForCoveredColumns = 6;
       */
      public java.util.List 
           getDataTableColRefForCoveredColumnsBuilderList() {
        return getDataTableColRefForCoveredColumnsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReferenceOrBuilder> 
          getDataTableColRefForCoveredColumnsFieldBuilder() {
        if (dataTableColRefForCoveredColumnsBuilder_ == null) {
          dataTableColRefForCoveredColumnsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReferenceOrBuilder>(
                  dataTableColRefForCoveredColumns_,
                  ((bitField0_ & 0x00000020) == 0x00000020),
                  getParentForChildren(),
                  isClean());
          dataTableColRefForCoveredColumns_ = null;
        }
        return dataTableColRefForCoveredColumnsBuilder_;
      }

      // repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
      private java.util.List indexTableColRefForCoveredColumns_ =
        java.util.Collections.emptyList();
      private void ensureIndexTableColRefForCoveredColumnsIsMutable() {
        if (!((bitField0_ & 0x00000040) == 0x00000040)) {
          indexTableColRefForCoveredColumns_ = new java.util.ArrayList(indexTableColRefForCoveredColumns_);
          bitField0_ |= 0x00000040;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReferenceOrBuilder> indexTableColRefForCoveredColumnsBuilder_;

      /**
       * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
       */
      public java.util.List getIndexTableColRefForCoveredColumnsList() {
        if (indexTableColRefForCoveredColumnsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(indexTableColRefForCoveredColumns_);
        } else {
          return indexTableColRefForCoveredColumnsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
       */
      public int getIndexTableColRefForCoveredColumnsCount() {
        if (indexTableColRefForCoveredColumnsBuilder_ == null) {
          return indexTableColRefForCoveredColumns_.size();
        } else {
          return indexTableColRefForCoveredColumnsBuilder_.getCount();
        }
      }
      /**
       * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference getIndexTableColRefForCoveredColumns(int index) {
        if (indexTableColRefForCoveredColumnsBuilder_ == null) {
          return indexTableColRefForCoveredColumns_.get(index);
        } else {
          return indexTableColRefForCoveredColumnsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
       */
      public Builder setIndexTableColRefForCoveredColumns(
          int index, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference value) {
        if (indexTableColRefForCoveredColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureIndexTableColRefForCoveredColumnsIsMutable();
          indexTableColRefForCoveredColumns_.set(index, value);
          onChanged();
        } else {
          indexTableColRefForCoveredColumnsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
       */
      public Builder setIndexTableColRefForCoveredColumns(
          int index, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder builderForValue) {
        if (indexTableColRefForCoveredColumnsBuilder_ == null) {
          ensureIndexTableColRefForCoveredColumnsIsMutable();
          indexTableColRefForCoveredColumns_.set(index, builderForValue.build());
          onChanged();
        } else {
          indexTableColRefForCoveredColumnsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
       */
      public Builder addIndexTableColRefForCoveredColumns(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference value) {
        if (indexTableColRefForCoveredColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureIndexTableColRefForCoveredColumnsIsMutable();
          indexTableColRefForCoveredColumns_.add(value);
          onChanged();
        } else {
          indexTableColRefForCoveredColumnsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
       */
      public Builder addIndexTableColRefForCoveredColumns(
          int index, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference value) {
        if (indexTableColRefForCoveredColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureIndexTableColRefForCoveredColumnsIsMutable();
          indexTableColRefForCoveredColumns_.add(index, value);
          onChanged();
        } else {
          indexTableColRefForCoveredColumnsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
       */
      public Builder addIndexTableColRefForCoveredColumns(
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder builderForValue) {
        if (indexTableColRefForCoveredColumnsBuilder_ == null) {
          ensureIndexTableColRefForCoveredColumnsIsMutable();
          indexTableColRefForCoveredColumns_.add(builderForValue.build());
          onChanged();
        } else {
          indexTableColRefForCoveredColumnsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
       */
      public Builder addIndexTableColRefForCoveredColumns(
          int index, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder builderForValue) {
        if (indexTableColRefForCoveredColumnsBuilder_ == null) {
          ensureIndexTableColRefForCoveredColumnsIsMutable();
          indexTableColRefForCoveredColumns_.add(index, builderForValue.build());
          onChanged();
        } else {
          indexTableColRefForCoveredColumnsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
       */
      public Builder addAllIndexTableColRefForCoveredColumns(
          java.lang.Iterable values) {
        if (indexTableColRefForCoveredColumnsBuilder_ == null) {
          ensureIndexTableColRefForCoveredColumnsIsMutable();
          super.addAll(values, indexTableColRefForCoveredColumns_);
          onChanged();
        } else {
          indexTableColRefForCoveredColumnsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
       */
      public Builder clearIndexTableColRefForCoveredColumns() {
        if (indexTableColRefForCoveredColumnsBuilder_ == null) {
          indexTableColRefForCoveredColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000040);
          onChanged();
        } else {
          indexTableColRefForCoveredColumnsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
       */
      public Builder removeIndexTableColRefForCoveredColumns(int index) {
        if (indexTableColRefForCoveredColumnsBuilder_ == null) {
          ensureIndexTableColRefForCoveredColumnsIsMutable();
          indexTableColRefForCoveredColumns_.remove(index);
          onChanged();
        } else {
          indexTableColRefForCoveredColumnsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder getIndexTableColRefForCoveredColumnsBuilder(
          int index) {
        return getIndexTableColRefForCoveredColumnsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReferenceOrBuilder getIndexTableColRefForCoveredColumnsOrBuilder(
          int index) {
        if (indexTableColRefForCoveredColumnsBuilder_ == null) {
          return indexTableColRefForCoveredColumns_.get(index);  } else {
          return indexTableColRefForCoveredColumnsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
       */
      public java.util.List 
           getIndexTableColRefForCoveredColumnsOrBuilderList() {
        if (indexTableColRefForCoveredColumnsBuilder_ != null) {
          return indexTableColRefForCoveredColumnsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(indexTableColRefForCoveredColumns_);
        }
      }
      /**
       * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder addIndexTableColRefForCoveredColumnsBuilder() {
        return getIndexTableColRefForCoveredColumnsFieldBuilder().addBuilder(
            org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.getDefaultInstance());
      }
      /**
       * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder addIndexTableColRefForCoveredColumnsBuilder(
          int index) {
        return getIndexTableColRefForCoveredColumnsFieldBuilder().addBuilder(
            index, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.getDefaultInstance());
      }
      /**
       * repeated .ColumnReference indexTableColRefForCoveredColumns = 7;
       */
      public java.util.List 
           getIndexTableColRefForCoveredColumnsBuilderList() {
        return getIndexTableColRefForCoveredColumnsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReferenceOrBuilder> 
          getIndexTableColRefForCoveredColumnsFieldBuilder() {
        if (indexTableColRefForCoveredColumnsBuilder_ == null) {
          indexTableColRefForCoveredColumnsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReference.Builder, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnReferenceOrBuilder>(
                  indexTableColRefForCoveredColumns_,
                  ((bitField0_ & 0x00000040) == 0x00000040),
                  getParentForChildren(),
                  isClean());
          indexTableColRefForCoveredColumns_ = null;
        }
        return indexTableColRefForCoveredColumnsBuilder_;
      }

      // required bool isLocalIndex = 8;
      private boolean isLocalIndex_ ;
      /**
       * required bool isLocalIndex = 8;
       */
      public boolean hasIsLocalIndex() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * required bool isLocalIndex = 8;
       */
      public boolean getIsLocalIndex() {
        return isLocalIndex_;
      }
      /**
       * required bool isLocalIndex = 8;
       */
      public Builder setIsLocalIndex(boolean value) {
        bitField0_ |= 0x00000080;
        isLocalIndex_ = value;
        onChanged();
        return this;
      }
      /**
       * required bool isLocalIndex = 8;
       */
      public Builder clearIsLocalIndex() {
        bitField0_ = (bitField0_ & ~0x00000080);
        isLocalIndex_ = false;
        onChanged();
        return this;
      }

      // required bytes indexTableName = 9;
      private com.google.protobuf.ByteString indexTableName_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * required bytes indexTableName = 9;
       */
      public boolean hasIndexTableName() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * required bytes indexTableName = 9;
       */
      public com.google.protobuf.ByteString getIndexTableName() {
        return indexTableName_;
      }
      /**
       * required bytes indexTableName = 9;
       */
      public Builder setIndexTableName(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000100;
        indexTableName_ = value;
        onChanged();
        return this;
      }
      /**
       * required bytes indexTableName = 9;
       */
      public Builder clearIndexTableName() {
        bitField0_ = (bitField0_ & ~0x00000100);
        indexTableName_ = getDefaultInstance().getIndexTableName();
        onChanged();
        return this;
      }

      // required bool rowKeyOrderOptimizable = 10;
      private boolean rowKeyOrderOptimizable_ ;
      /**
       * required bool rowKeyOrderOptimizable = 10;
       */
      public boolean hasRowKeyOrderOptimizable() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * required bool rowKeyOrderOptimizable = 10;
       */
      public boolean getRowKeyOrderOptimizable() {
        return rowKeyOrderOptimizable_;
      }
      /**
       * required bool rowKeyOrderOptimizable = 10;
       */
      public Builder setRowKeyOrderOptimizable(boolean value) {
        bitField0_ |= 0x00000200;
        rowKeyOrderOptimizable_ = value;
        onChanged();
        return this;
      }
      /**
       * required bool rowKeyOrderOptimizable = 10;
       */
      public Builder clearRowKeyOrderOptimizable() {
        bitField0_ = (bitField0_ & ~0x00000200);
        rowKeyOrderOptimizable_ = false;
        onChanged();
        return this;
      }

      // required bytes dataTableEmptyKeyValueColFamily = 11;
      private com.google.protobuf.ByteString dataTableEmptyKeyValueColFamily_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * required bytes dataTableEmptyKeyValueColFamily = 11;
       */
      public boolean hasDataTableEmptyKeyValueColFamily() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * required bytes dataTableEmptyKeyValueColFamily = 11;
       */
      public com.google.protobuf.ByteString getDataTableEmptyKeyValueColFamily() {
        return dataTableEmptyKeyValueColFamily_;
      }
      /**
       * required bytes dataTableEmptyKeyValueColFamily = 11;
       */
      public Builder setDataTableEmptyKeyValueColFamily(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000400;
        dataTableEmptyKeyValueColFamily_ = value;
        onChanged();
        return this;
      }
      /**
       * required bytes dataTableEmptyKeyValueColFamily = 11;
       */
      public Builder clearDataTableEmptyKeyValueColFamily() {
        bitField0_ = (bitField0_ & ~0x00000400);
        dataTableEmptyKeyValueColFamily_ = getDefaultInstance().getDataTableEmptyKeyValueColFamily();
        onChanged();
        return this;
      }

      // required .ImmutableBytesWritable emptyKeyValueColFamily = 12;
      private org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable emptyKeyValueColFamily_ = org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.Builder, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritableOrBuilder> emptyKeyValueColFamilyBuilder_;
      /**
       * required .ImmutableBytesWritable emptyKeyValueColFamily = 12;
       */
      public boolean hasEmptyKeyValueColFamily() {
        return ((bitField0_ & 0x00000800) == 0x00000800);
      }
      /**
       * required .ImmutableBytesWritable emptyKeyValueColFamily = 12;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable getEmptyKeyValueColFamily() {
        if (emptyKeyValueColFamilyBuilder_ == null) {
          return emptyKeyValueColFamily_;
        } else {
          return emptyKeyValueColFamilyBuilder_.getMessage();
        }
      }
      /**
       * required .ImmutableBytesWritable emptyKeyValueColFamily = 12;
       */
      public Builder setEmptyKeyValueColFamily(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable value) {
        if (emptyKeyValueColFamilyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          emptyKeyValueColFamily_ = value;
          onChanged();
        } else {
          emptyKeyValueColFamilyBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000800;
        return this;
      }
      /**
       * required .ImmutableBytesWritable emptyKeyValueColFamily = 12;
       */
      public Builder setEmptyKeyValueColFamily(
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.Builder builderForValue) {
        if (emptyKeyValueColFamilyBuilder_ == null) {
          emptyKeyValueColFamily_ = builderForValue.build();
          onChanged();
        } else {
          emptyKeyValueColFamilyBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000800;
        return this;
      }
      /**
       * required .ImmutableBytesWritable emptyKeyValueColFamily = 12;
       */
      public Builder mergeEmptyKeyValueColFamily(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable value) {
        if (emptyKeyValueColFamilyBuilder_ == null) {
          if (((bitField0_ & 0x00000800) == 0x00000800) &&
              emptyKeyValueColFamily_ != org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.getDefaultInstance()) {
            emptyKeyValueColFamily_ =
              org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.newBuilder(emptyKeyValueColFamily_).mergeFrom(value).buildPartial();
          } else {
            emptyKeyValueColFamily_ = value;
          }
          onChanged();
        } else {
          emptyKeyValueColFamilyBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000800;
        return this;
      }
      /**
       * required .ImmutableBytesWritable emptyKeyValueColFamily = 12;
       */
      public Builder clearEmptyKeyValueColFamily() {
        if (emptyKeyValueColFamilyBuilder_ == null) {
          emptyKeyValueColFamily_ = org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.getDefaultInstance();
          onChanged();
        } else {
          emptyKeyValueColFamilyBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000800);
        return this;
      }
      /**
       * required .ImmutableBytesWritable emptyKeyValueColFamily = 12;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.Builder getEmptyKeyValueColFamilyBuilder() {
        bitField0_ |= 0x00000800;
        onChanged();
        return getEmptyKeyValueColFamilyFieldBuilder().getBuilder();
      }
      /**
       * required .ImmutableBytesWritable emptyKeyValueColFamily = 12;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritableOrBuilder getEmptyKeyValueColFamilyOrBuilder() {
        if (emptyKeyValueColFamilyBuilder_ != null) {
          return emptyKeyValueColFamilyBuilder_.getMessageOrBuilder();
        } else {
          return emptyKeyValueColFamily_;
        }
      }
      /**
       * required .ImmutableBytesWritable emptyKeyValueColFamily = 12;
       */
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.Builder, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritableOrBuilder> 
          getEmptyKeyValueColFamilyFieldBuilder() {
        if (emptyKeyValueColFamilyBuilder_ == null) {
          emptyKeyValueColFamilyBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.Builder, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritableOrBuilder>(
                  emptyKeyValueColFamily_,
                  getParentForChildren(),
                  isClean());
          emptyKeyValueColFamily_ = null;
        }
        return emptyKeyValueColFamilyBuilder_;
      }

      // optional bytes indexedExpressions = 13;
      private com.google.protobuf.ByteString indexedExpressions_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes indexedExpressions = 13;
       */
      public boolean hasIndexedExpressions() {
        return ((bitField0_ & 0x00001000) == 0x00001000);
      }
      /**
       * optional bytes indexedExpressions = 13;
       */
      public com.google.protobuf.ByteString getIndexedExpressions() {
        return indexedExpressions_;
      }
      /**
       * optional bytes indexedExpressions = 13;
       */
      public Builder setIndexedExpressions(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00001000;
        indexedExpressions_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes indexedExpressions = 13;
       */
      public Builder clearIndexedExpressions() {
        bitField0_ = (bitField0_ & ~0x00001000);
        indexedExpressions_ = getDefaultInstance().getIndexedExpressions();
        onChanged();
        return this;
      }

      // required bytes rowKeyMetadata = 14;
      private com.google.protobuf.ByteString rowKeyMetadata_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * required bytes rowKeyMetadata = 14;
       */
      public boolean hasRowKeyMetadata() {
        return ((bitField0_ & 0x00002000) == 0x00002000);
      }
      /**
       * required bytes rowKeyMetadata = 14;
       */
      public com.google.protobuf.ByteString getRowKeyMetadata() {
        return rowKeyMetadata_;
      }
      /**
       * required bytes rowKeyMetadata = 14;
       */
      public Builder setRowKeyMetadata(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00002000;
        rowKeyMetadata_ = value;
        onChanged();
        return this;
      }
      /**
       * required bytes rowKeyMetadata = 14;
       */
      public Builder clearRowKeyMetadata() {
        bitField0_ = (bitField0_ & ~0x00002000);
        rowKeyMetadata_ = getDefaultInstance().getRowKeyMetadata();
        onChanged();
        return this;
      }

      // required int32 numDataTableColFamilies = 15;
      private int numDataTableColFamilies_ ;
      /**
       * required int32 numDataTableColFamilies = 15;
       */
      public boolean hasNumDataTableColFamilies() {
        return ((bitField0_ & 0x00004000) == 0x00004000);
      }
      /**
       * required int32 numDataTableColFamilies = 15;
       */
      public int getNumDataTableColFamilies() {
        return numDataTableColFamilies_;
      }
      /**
       * required int32 numDataTableColFamilies = 15;
       */
      public Builder setNumDataTableColFamilies(int value) {
        bitField0_ |= 0x00004000;
        numDataTableColFamilies_ = value;
        onChanged();
        return this;
      }
      /**
       * required int32 numDataTableColFamilies = 15;
       */
      public Builder clearNumDataTableColFamilies() {
        bitField0_ = (bitField0_ & ~0x00004000);
        numDataTableColFamilies_ = 0;
        onChanged();
        return this;
      }

      // required bool indexWalDisabled = 16;
      private boolean indexWalDisabled_ ;
      /**
       * required bool indexWalDisabled = 16;
       */
      public boolean hasIndexWalDisabled() {
        return ((bitField0_ & 0x00008000) == 0x00008000);
      }
      /**
       * required bool indexWalDisabled = 16;
       */
      public boolean getIndexWalDisabled() {
        return indexWalDisabled_;
      }
      /**
       * required bool indexWalDisabled = 16;
       */
      public Builder setIndexWalDisabled(boolean value) {
        bitField0_ |= 0x00008000;
        indexWalDisabled_ = value;
        onChanged();
        return this;
      }
      /**
       * required bool indexWalDisabled = 16;
       */
      public Builder clearIndexWalDisabled() {
        bitField0_ = (bitField0_ & ~0x00008000);
        indexWalDisabled_ = false;
        onChanged();
        return this;
      }

      // required int32 indexRowKeyByteSize = 17;
      private int indexRowKeyByteSize_ ;
      /**
       * required int32 indexRowKeyByteSize = 17;
       */
      public boolean hasIndexRowKeyByteSize() {
        return ((bitField0_ & 0x00010000) == 0x00010000);
      }
      /**
       * required int32 indexRowKeyByteSize = 17;
       */
      public int getIndexRowKeyByteSize() {
        return indexRowKeyByteSize_;
      }
      /**
       * required int32 indexRowKeyByteSize = 17;
       */
      public Builder setIndexRowKeyByteSize(int value) {
        bitField0_ |= 0x00010000;
        indexRowKeyByteSize_ = value;
        onChanged();
        return this;
      }
      /**
       * required int32 indexRowKeyByteSize = 17;
       */
      public Builder clearIndexRowKeyByteSize() {
        bitField0_ = (bitField0_ & ~0x00010000);
        indexRowKeyByteSize_ = 0;
        onChanged();
        return this;
      }

      // required bool immutable = 18;
      private boolean immutable_ ;
      /**
       * required bool immutable = 18;
       */
      public boolean hasImmutable() {
        return ((bitField0_ & 0x00020000) == 0x00020000);
      }
      /**
       * required bool immutable = 18;
       */
      public boolean getImmutable() {
        return immutable_;
      }
      /**
       * required bool immutable = 18;
       */
      public Builder setImmutable(boolean value) {
        bitField0_ |= 0x00020000;
        immutable_ = value;
        onChanged();
        return this;
      }
      /**
       * required bool immutable = 18;
       */
      public Builder clearImmutable() {
        bitField0_ = (bitField0_ & ~0x00020000);
        immutable_ = false;
        onChanged();
        return this;
      }

      // repeated .ColumnInfo indexedColumnInfo = 19;
      private java.util.List indexedColumnInfo_ =
        java.util.Collections.emptyList();
      private void ensureIndexedColumnInfoIsMutable() {
        if (!((bitField0_ & 0x00040000) == 0x00040000)) {
          indexedColumnInfo_ = new java.util.ArrayList(indexedColumnInfo_);
          bitField0_ |= 0x00040000;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo.Builder, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfoOrBuilder> indexedColumnInfoBuilder_;

      /**
       * repeated .ColumnInfo indexedColumnInfo = 19;
       */
      public java.util.List getIndexedColumnInfoList() {
        if (indexedColumnInfoBuilder_ == null) {
          return java.util.Collections.unmodifiableList(indexedColumnInfo_);
        } else {
          return indexedColumnInfoBuilder_.getMessageList();
        }
      }
      /**
       * repeated .ColumnInfo indexedColumnInfo = 19;
       */
      public int getIndexedColumnInfoCount() {
        if (indexedColumnInfoBuilder_ == null) {
          return indexedColumnInfo_.size();
        } else {
          return indexedColumnInfoBuilder_.getCount();
        }
      }
      /**
       * repeated .ColumnInfo indexedColumnInfo = 19;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo getIndexedColumnInfo(int index) {
        if (indexedColumnInfoBuilder_ == null) {
          return indexedColumnInfo_.get(index);
        } else {
          return indexedColumnInfoBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .ColumnInfo indexedColumnInfo = 19;
       */
      public Builder setIndexedColumnInfo(
          int index, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo value) {
        if (indexedColumnInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureIndexedColumnInfoIsMutable();
          indexedColumnInfo_.set(index, value);
          onChanged();
        } else {
          indexedColumnInfoBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .ColumnInfo indexedColumnInfo = 19;
       */
      public Builder setIndexedColumnInfo(
          int index, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo.Builder builderForValue) {
        if (indexedColumnInfoBuilder_ == null) {
          ensureIndexedColumnInfoIsMutable();
          indexedColumnInfo_.set(index, builderForValue.build());
          onChanged();
        } else {
          indexedColumnInfoBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .ColumnInfo indexedColumnInfo = 19;
       */
      public Builder addIndexedColumnInfo(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo value) {
        if (indexedColumnInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureIndexedColumnInfoIsMutable();
          indexedColumnInfo_.add(value);
          onChanged();
        } else {
          indexedColumnInfoBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .ColumnInfo indexedColumnInfo = 19;
       */
      public Builder addIndexedColumnInfo(
          int index, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo value) {
        if (indexedColumnInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureIndexedColumnInfoIsMutable();
          indexedColumnInfo_.add(index, value);
          onChanged();
        } else {
          indexedColumnInfoBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .ColumnInfo indexedColumnInfo = 19;
       */
      public Builder addIndexedColumnInfo(
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo.Builder builderForValue) {
        if (indexedColumnInfoBuilder_ == null) {
          ensureIndexedColumnInfoIsMutable();
          indexedColumnInfo_.add(builderForValue.build());
          onChanged();
        } else {
          indexedColumnInfoBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .ColumnInfo indexedColumnInfo = 19;
       */
      public Builder addIndexedColumnInfo(
          int index, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo.Builder builderForValue) {
        if (indexedColumnInfoBuilder_ == null) {
          ensureIndexedColumnInfoIsMutable();
          indexedColumnInfo_.add(index, builderForValue.build());
          onChanged();
        } else {
          indexedColumnInfoBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .ColumnInfo indexedColumnInfo = 19;
       */
      public Builder addAllIndexedColumnInfo(
          java.lang.Iterable values) {
        if (indexedColumnInfoBuilder_ == null) {
          ensureIndexedColumnInfoIsMutable();
          super.addAll(values, indexedColumnInfo_);
          onChanged();
        } else {
          indexedColumnInfoBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .ColumnInfo indexedColumnInfo = 19;
       */
      public Builder clearIndexedColumnInfo() {
        if (indexedColumnInfoBuilder_ == null) {
          indexedColumnInfo_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00040000);
          onChanged();
        } else {
          indexedColumnInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .ColumnInfo indexedColumnInfo = 19;
       */
      public Builder removeIndexedColumnInfo(int index) {
        if (indexedColumnInfoBuilder_ == null) {
          ensureIndexedColumnInfoIsMutable();
          indexedColumnInfo_.remove(index);
          onChanged();
        } else {
          indexedColumnInfoBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .ColumnInfo indexedColumnInfo = 19;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo.Builder getIndexedColumnInfoBuilder(
          int index) {
        return getIndexedColumnInfoFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .ColumnInfo indexedColumnInfo = 19;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfoOrBuilder getIndexedColumnInfoOrBuilder(
          int index) {
        if (indexedColumnInfoBuilder_ == null) {
          return indexedColumnInfo_.get(index);  } else {
          return indexedColumnInfoBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .ColumnInfo indexedColumnInfo = 19;
       */
      public java.util.List 
           getIndexedColumnInfoOrBuilderList() {
        if (indexedColumnInfoBuilder_ != null) {
          return indexedColumnInfoBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(indexedColumnInfo_);
        }
      }
      /**
       * repeated .ColumnInfo indexedColumnInfo = 19;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo.Builder addIndexedColumnInfoBuilder() {
        return getIndexedColumnInfoFieldBuilder().addBuilder(
            org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo.getDefaultInstance());
      }
      /**
       * repeated .ColumnInfo indexedColumnInfo = 19;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo.Builder addIndexedColumnInfoBuilder(
          int index) {
        return getIndexedColumnInfoFieldBuilder().addBuilder(
            index, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo.getDefaultInstance());
      }
      /**
       * repeated .ColumnInfo indexedColumnInfo = 19;
       */
      public java.util.List 
           getIndexedColumnInfoBuilderList() {
        return getIndexedColumnInfoFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo.Builder, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfoOrBuilder> 
          getIndexedColumnInfoFieldBuilder() {
        if (indexedColumnInfoBuilder_ == null) {
          indexedColumnInfoBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfo.Builder, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ColumnInfoOrBuilder>(
                  indexedColumnInfo_,
                  ((bitField0_ & 0x00040000) == 0x00040000),
                  getParentForChildren(),
                  isClean());
          indexedColumnInfo_ = null;
        }
        return indexedColumnInfoBuilder_;
      }

      // required int32 encodingScheme = 20;
      private int encodingScheme_ ;
      /**
       * required int32 encodingScheme = 20;
       */
      public boolean hasEncodingScheme() {
        return ((bitField0_ & 0x00080000) == 0x00080000);
      }
      /**
       * required int32 encodingScheme = 20;
       */
      public int getEncodingScheme() {
        return encodingScheme_;
      }
      /**
       * required int32 encodingScheme = 20;
       */
      public Builder setEncodingScheme(int value) {
        bitField0_ |= 0x00080000;
        encodingScheme_ = value;
        onChanged();
        return this;
      }
      /**
       * required int32 encodingScheme = 20;
       */
      public Builder clearEncodingScheme() {
        bitField0_ = (bitField0_ & ~0x00080000);
        encodingScheme_ = 0;
        onChanged();
        return this;
      }

      // required int32 immutableStorageScheme = 21;
      private int immutableStorageScheme_ ;
      /**
       * required int32 immutableStorageScheme = 21;
       */
      public boolean hasImmutableStorageScheme() {
        return ((bitField0_ & 0x00100000) == 0x00100000);
      }
      /**
       * required int32 immutableStorageScheme = 21;
       */
      public int getImmutableStorageScheme() {
        return immutableStorageScheme_;
      }
      /**
       * required int32 immutableStorageScheme = 21;
       */
      public Builder setImmutableStorageScheme(int value) {
        bitField0_ |= 0x00100000;
        immutableStorageScheme_ = value;
        onChanged();
        return this;
      }
      /**
       * required int32 immutableStorageScheme = 21;
       */
      public Builder clearImmutableStorageScheme() {
        bitField0_ = (bitField0_ & ~0x00100000);
        immutableStorageScheme_ = 0;
        onChanged();
        return this;
      }

      // optional int32 viewIndexIdType = 22;
      private int viewIndexIdType_ ;
      /**
       * optional int32 viewIndexIdType = 22;
       */
      public boolean hasViewIndexIdType() {
        return ((bitField0_ & 0x00200000) == 0x00200000);
      }
      /**
       * optional int32 viewIndexIdType = 22;
       */
      public int getViewIndexIdType() {
        return viewIndexIdType_;
      }
      /**
       * optional int32 viewIndexIdType = 22;
       */
      public Builder setViewIndexIdType(int value) {
        bitField0_ |= 0x00200000;
        viewIndexIdType_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 viewIndexIdType = 22;
       */
      public Builder clearViewIndexIdType() {
        bitField0_ = (bitField0_ & ~0x00200000);
        viewIndexIdType_ = 0;
        onChanged();
        return this;
      }

      // optional int32 indexDataColumnCount = 23 [default = -1];
      private int indexDataColumnCount_ = -1;
      /**
       * optional int32 indexDataColumnCount = 23 [default = -1];
       */
      public boolean hasIndexDataColumnCount() {
        return ((bitField0_ & 0x00400000) == 0x00400000);
      }
      /**
       * optional int32 indexDataColumnCount = 23 [default = -1];
       */
      public int getIndexDataColumnCount() {
        return indexDataColumnCount_;
      }
      /**
       * optional int32 indexDataColumnCount = 23 [default = -1];
       */
      public Builder setIndexDataColumnCount(int value) {
        bitField0_ |= 0x00400000;
        indexDataColumnCount_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 indexDataColumnCount = 23 [default = -1];
       */
      public Builder clearIndexDataColumnCount() {
        bitField0_ = (bitField0_ & ~0x00400000);
        indexDataColumnCount_ = -1;
        onChanged();
        return this;
      }

      // optional string parentTableType = 24;
      private java.lang.Object parentTableType_ = "";
      /**
       * optional string parentTableType = 24;
       */
      public boolean hasParentTableType() {
        return ((bitField0_ & 0x00800000) == 0x00800000);
      }
      /**
       * optional string parentTableType = 24;
       */
      public java.lang.String getParentTableType() {
        java.lang.Object ref = parentTableType_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          parentTableType_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string parentTableType = 24;
       */
      public com.google.protobuf.ByteString
          getParentTableTypeBytes() {
        java.lang.Object ref = parentTableType_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          parentTableType_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string parentTableType = 24;
       */
      public Builder setParentTableType(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00800000;
        parentTableType_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string parentTableType = 24;
       */
      public Builder clearParentTableType() {
        bitField0_ = (bitField0_ & ~0x00800000);
        parentTableType_ = getDefaultInstance().getParentTableType();
        onChanged();
        return this;
      }
      /**
       * optional string parentTableType = 24;
       */
      public Builder setParentTableTypeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00800000;
        parentTableType_ = value;
        onChanged();
        return this;
      }

      // optional string logicalIndexName = 25;
      private java.lang.Object logicalIndexName_ = "";
      /**
       * optional string logicalIndexName = 25;
       */
      public boolean hasLogicalIndexName() {
        return ((bitField0_ & 0x01000000) == 0x01000000);
      }
      /**
       * optional string logicalIndexName = 25;
       */
      public java.lang.String getLogicalIndexName() {
        java.lang.Object ref = logicalIndexName_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          logicalIndexName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string logicalIndexName = 25;
       */
      public com.google.protobuf.ByteString
          getLogicalIndexNameBytes() {
        java.lang.Object ref = logicalIndexName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          logicalIndexName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string logicalIndexName = 25;
       */
      public Builder setLogicalIndexName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x01000000;
        logicalIndexName_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string logicalIndexName = 25;
       */
      public Builder clearLogicalIndexName() {
        bitField0_ = (bitField0_ & ~0x01000000);
        logicalIndexName_ = getDefaultInstance().getLogicalIndexName();
        onChanged();
        return this;
      }
      /**
       * optional string logicalIndexName = 25;
       */
      public Builder setLogicalIndexNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x01000000;
        logicalIndexName_ = value;
        onChanged();
        return this;
      }

      // optional int32 dataEncodingScheme = 26;
      private int dataEncodingScheme_ ;
      /**
       * optional int32 dataEncodingScheme = 26;
       */
      public boolean hasDataEncodingScheme() {
        return ((bitField0_ & 0x02000000) == 0x02000000);
      }
      /**
       * optional int32 dataEncodingScheme = 26;
       */
      public int getDataEncodingScheme() {
        return dataEncodingScheme_;
      }
      /**
       * optional int32 dataEncodingScheme = 26;
       */
      public Builder setDataEncodingScheme(int value) {
        bitField0_ |= 0x02000000;
        dataEncodingScheme_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 dataEncodingScheme = 26;
       */
      public Builder clearDataEncodingScheme() {
        bitField0_ = (bitField0_ & ~0x02000000);
        dataEncodingScheme_ = 0;
        onChanged();
        return this;
      }

      // optional int32 dataImmutableStorageScheme = 27;
      private int dataImmutableStorageScheme_ ;
      /**
       * optional int32 dataImmutableStorageScheme = 27;
       */
      public boolean hasDataImmutableStorageScheme() {
        return ((bitField0_ & 0x04000000) == 0x04000000);
      }
      /**
       * optional int32 dataImmutableStorageScheme = 27;
       */
      public int getDataImmutableStorageScheme() {
        return dataImmutableStorageScheme_;
      }
      /**
       * optional int32 dataImmutableStorageScheme = 27;
       */
      public Builder setDataImmutableStorageScheme(int value) {
        bitField0_ |= 0x04000000;
        dataImmutableStorageScheme_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 dataImmutableStorageScheme = 27;
       */
      public Builder clearDataImmutableStorageScheme() {
        bitField0_ = (bitField0_ & ~0x04000000);
        dataImmutableStorageScheme_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:IndexMaintainer)
    }

    static {
      defaultInstance = new IndexMaintainer(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:IndexMaintainer)
  }

  public interface AddServerCacheRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional bytes tenantId = 1;
    /**
     * optional bytes tenantId = 1;
     */
    boolean hasTenantId();
    /**
     * optional bytes tenantId = 1;
     */
    com.google.protobuf.ByteString getTenantId();

    // required bytes cacheId = 2;
    /**
     * required bytes cacheId = 2;
     */
    boolean hasCacheId();
    /**
     * required bytes cacheId = 2;
     */
    com.google.protobuf.ByteString getCacheId();

    // required .ImmutableBytesWritable cachePtr = 3;
    /**
     * required .ImmutableBytesWritable cachePtr = 3;
     */
    boolean hasCachePtr();
    /**
     * required .ImmutableBytesWritable cachePtr = 3;
     */
    org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable getCachePtr();
    /**
     * required .ImmutableBytesWritable cachePtr = 3;
     */
    org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritableOrBuilder getCachePtrOrBuilder();

    // required .ServerCacheFactory cacheFactory = 4;
    /**
     * required .ServerCacheFactory cacheFactory = 4;
     */
    boolean hasCacheFactory();
    /**
     * required .ServerCacheFactory cacheFactory = 4;
     */
    org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory getCacheFactory();
    /**
     * required .ServerCacheFactory cacheFactory = 4;
     */
    org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactoryOrBuilder getCacheFactoryOrBuilder();

    // optional bytes txState = 5;
    /**
     * optional bytes txState = 5;
     */
    boolean hasTxState();
    /**
     * optional bytes txState = 5;
     */
    com.google.protobuf.ByteString getTxState();

    // optional bool hasProtoBufIndexMaintainer = 6;
    /**
     * optional bool hasProtoBufIndexMaintainer = 6;
     */
    boolean hasHasProtoBufIndexMaintainer();
    /**
     * optional bool hasProtoBufIndexMaintainer = 6;
     */
    boolean getHasProtoBufIndexMaintainer();

    // optional int32 clientVersion = 7;
    /**
     * optional int32 clientVersion = 7;
     */
    boolean hasClientVersion();
    /**
     * optional int32 clientVersion = 7;
     */
    int getClientVersion();

    // optional bool usePersistentCache = 8;
    /**
     * optional bool usePersistentCache = 8;
     */
    boolean hasUsePersistentCache();
    /**
     * optional bool usePersistentCache = 8;
     */
    boolean getUsePersistentCache();
  }
  /**
   * Protobuf type {@code AddServerCacheRequest}
   */
  public static final class AddServerCacheRequest extends
      com.google.protobuf.GeneratedMessage
      implements AddServerCacheRequestOrBuilder {
    // Use AddServerCacheRequest.newBuilder() to construct.
    private AddServerCacheRequest(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private AddServerCacheRequest(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final AddServerCacheRequest defaultInstance;
    public static AddServerCacheRequest getDefaultInstance() {
      return defaultInstance;
    }

    public AddServerCacheRequest getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private AddServerCacheRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              tenantId_ = input.readBytes();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              cacheId_ = input.readBytes();
              break;
            }
            case 26: {
              org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = cachePtr_.toBuilder();
              }
              cachePtr_ = input.readMessage(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(cachePtr_);
                cachePtr_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            case 34: {
              org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory.Builder subBuilder = null;
              if (((bitField0_ & 0x00000008) == 0x00000008)) {
                subBuilder = cacheFactory_.toBuilder();
              }
              cacheFactory_ = input.readMessage(org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(cacheFactory_);
                cacheFactory_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000008;
              break;
            }
            case 42: {
              bitField0_ |= 0x00000010;
              txState_ = input.readBytes();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              hasProtoBufIndexMaintainer_ = input.readBool();
              break;
            }
            case 56: {
              bitField0_ |= 0x00000040;
              clientVersion_ = input.readInt32();
              break;
            }
            case 64: {
              bitField0_ |= 0x00000080;
              usePersistentCache_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_AddServerCacheRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_AddServerCacheRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest.class, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public AddServerCacheRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new AddServerCacheRequest(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional bytes tenantId = 1;
    public static final int TENANTID_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString tenantId_;
    /**
     * optional bytes tenantId = 1;
     */
    public boolean hasTenantId() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional bytes tenantId = 1;
     */
    public com.google.protobuf.ByteString getTenantId() {
      return tenantId_;
    }

    // required bytes cacheId = 2;
    public static final int CACHEID_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString cacheId_;
    /**
     * required bytes cacheId = 2;
     */
    public boolean hasCacheId() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * required bytes cacheId = 2;
     */
    public com.google.protobuf.ByteString getCacheId() {
      return cacheId_;
    }

    // required .ImmutableBytesWritable cachePtr = 3;
    public static final int CACHEPTR_FIELD_NUMBER = 3;
    private org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable cachePtr_;
    /**
     * required .ImmutableBytesWritable cachePtr = 3;
     */
    public boolean hasCachePtr() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * required .ImmutableBytesWritable cachePtr = 3;
     */
    public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable getCachePtr() {
      return cachePtr_;
    }
    /**
     * required .ImmutableBytesWritable cachePtr = 3;
     */
    public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritableOrBuilder getCachePtrOrBuilder() {
      return cachePtr_;
    }

    // required .ServerCacheFactory cacheFactory = 4;
    public static final int CACHEFACTORY_FIELD_NUMBER = 4;
    private org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory cacheFactory_;
    /**
     * required .ServerCacheFactory cacheFactory = 4;
     */
    public boolean hasCacheFactory() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * required .ServerCacheFactory cacheFactory = 4;
     */
    public org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory getCacheFactory() {
      return cacheFactory_;
    }
    /**
     * required .ServerCacheFactory cacheFactory = 4;
     */
    public org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactoryOrBuilder getCacheFactoryOrBuilder() {
      return cacheFactory_;
    }

    // optional bytes txState = 5;
    public static final int TXSTATE_FIELD_NUMBER = 5;
    private com.google.protobuf.ByteString txState_;
    /**
     * optional bytes txState = 5;
     */
    public boolean hasTxState() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional bytes txState = 5;
     */
    public com.google.protobuf.ByteString getTxState() {
      return txState_;
    }

    // optional bool hasProtoBufIndexMaintainer = 6;
    public static final int HASPROTOBUFINDEXMAINTAINER_FIELD_NUMBER = 6;
    private boolean hasProtoBufIndexMaintainer_;
    /**
     * optional bool hasProtoBufIndexMaintainer = 6;
     */
    public boolean hasHasProtoBufIndexMaintainer() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional bool hasProtoBufIndexMaintainer = 6;
     */
    public boolean getHasProtoBufIndexMaintainer() {
      return hasProtoBufIndexMaintainer_;
    }

    // optional int32 clientVersion = 7;
    public static final int CLIENTVERSION_FIELD_NUMBER = 7;
    private int clientVersion_;
    /**
     * optional int32 clientVersion = 7;
     */
    public boolean hasClientVersion() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional int32 clientVersion = 7;
     */
    public int getClientVersion() {
      return clientVersion_;
    }

    // optional bool usePersistentCache = 8;
    public static final int USEPERSISTENTCACHE_FIELD_NUMBER = 8;
    private boolean usePersistentCache_;
    /**
     * optional bool usePersistentCache = 8;
     */
    public boolean hasUsePersistentCache() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * optional bool usePersistentCache = 8;
     */
    public boolean getUsePersistentCache() {
      return usePersistentCache_;
    }

    private void initFields() {
      tenantId_ = com.google.protobuf.ByteString.EMPTY;
      cacheId_ = com.google.protobuf.ByteString.EMPTY;
      cachePtr_ = org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.getDefaultInstance();
      cacheFactory_ = org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory.getDefaultInstance();
      txState_ = com.google.protobuf.ByteString.EMPTY;
      hasProtoBufIndexMaintainer_ = false;
      clientVersion_ = 0;
      usePersistentCache_ = false;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasCacheId()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasCachePtr()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasCacheFactory()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getCachePtr().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getCacheFactory().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.writeBytes(1, tenantId_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, cacheId_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, cachePtr_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeMessage(4, cacheFactory_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeBytes(5, txState_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeBool(6, hasProtoBufIndexMaintainer_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeInt32(7, clientVersion_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeBool(8, usePersistentCache_);
      }
      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
          .computeBytesSize(1, tenantId_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, cacheId_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, cachePtr_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, cacheFactory_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(5, txState_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(6, hasProtoBufIndexMaintainer_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(7, clientVersion_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(8, usePersistentCache_);
      }
      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 org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest)) {
        return super.equals(obj);
      }
      org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest other = (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest) obj;

      boolean result = true;
      result = result && (hasTenantId() == other.hasTenantId());
      if (hasTenantId()) {
        result = result && getTenantId()
            .equals(other.getTenantId());
      }
      result = result && (hasCacheId() == other.hasCacheId());
      if (hasCacheId()) {
        result = result && getCacheId()
            .equals(other.getCacheId());
      }
      result = result && (hasCachePtr() == other.hasCachePtr());
      if (hasCachePtr()) {
        result = result && getCachePtr()
            .equals(other.getCachePtr());
      }
      result = result && (hasCacheFactory() == other.hasCacheFactory());
      if (hasCacheFactory()) {
        result = result && getCacheFactory()
            .equals(other.getCacheFactory());
      }
      result = result && (hasTxState() == other.hasTxState());
      if (hasTxState()) {
        result = result && getTxState()
            .equals(other.getTxState());
      }
      result = result && (hasHasProtoBufIndexMaintainer() == other.hasHasProtoBufIndexMaintainer());
      if (hasHasProtoBufIndexMaintainer()) {
        result = result && (getHasProtoBufIndexMaintainer()
            == other.getHasProtoBufIndexMaintainer());
      }
      result = result && (hasClientVersion() == other.hasClientVersion());
      if (hasClientVersion()) {
        result = result && (getClientVersion()
            == other.getClientVersion());
      }
      result = result && (hasUsePersistentCache() == other.hasUsePersistentCache());
      if (hasUsePersistentCache()) {
        result = result && (getUsePersistentCache()
            == other.getUsePersistentCache());
      }
      result = result &&
          getUnknownFields().equals(other.getUnknownFields());
      return result;
    }

    private int memoizedHashCode = 0;
    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasTenantId()) {
        hash = (37 * hash) + TENANTID_FIELD_NUMBER;
        hash = (53 * hash) + getTenantId().hashCode();
      }
      if (hasCacheId()) {
        hash = (37 * hash) + CACHEID_FIELD_NUMBER;
        hash = (53 * hash) + getCacheId().hashCode();
      }
      if (hasCachePtr()) {
        hash = (37 * hash) + CACHEPTR_FIELD_NUMBER;
        hash = (53 * hash) + getCachePtr().hashCode();
      }
      if (hasCacheFactory()) {
        hash = (37 * hash) + CACHEFACTORY_FIELD_NUMBER;
        hash = (53 * hash) + getCacheFactory().hashCode();
      }
      if (hasTxState()) {
        hash = (37 * hash) + TXSTATE_FIELD_NUMBER;
        hash = (53 * hash) + getTxState().hashCode();
      }
      if (hasHasProtoBufIndexMaintainer()) {
        hash = (37 * hash) + HASPROTOBUFINDEXMAINTAINER_FIELD_NUMBER;
        hash = (53 * hash) + hashBoolean(getHasProtoBufIndexMaintainer());
      }
      if (hasClientVersion()) {
        hash = (37 * hash) + CLIENTVERSION_FIELD_NUMBER;
        hash = (53 * hash) + getClientVersion();
      }
      if (hasUsePersistentCache()) {
        hash = (37 * hash) + USEPERSISTENTCACHE_FIELD_NUMBER;
        hash = (53 * hash) + hashBoolean(getUsePersistentCache());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest 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;
    }
    /**
     * Protobuf type {@code AddServerCacheRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_AddServerCacheRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_AddServerCacheRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest.class, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest.Builder.class);
      }

      // Construct using org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getCachePtrFieldBuilder();
          getCacheFactoryFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        tenantId_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        cacheId_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        if (cachePtrBuilder_ == null) {
          cachePtr_ = org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.getDefaultInstance();
        } else {
          cachePtrBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        if (cacheFactoryBuilder_ == null) {
          cacheFactory_ = org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory.getDefaultInstance();
        } else {
          cacheFactoryBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        txState_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000010);
        hasProtoBufIndexMaintainer_ = false;
        bitField0_ = (bitField0_ & ~0x00000020);
        clientVersion_ = 0;
        bitField0_ = (bitField0_ & ~0x00000040);
        usePersistentCache_ = false;
        bitField0_ = (bitField0_ & ~0x00000080);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_AddServerCacheRequest_descriptor;
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest getDefaultInstanceForType() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest.getDefaultInstance();
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest build() {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest buildPartial() {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest result = new org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.tenantId_ = tenantId_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.cacheId_ = cacheId_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (cachePtrBuilder_ == null) {
          result.cachePtr_ = cachePtr_;
        } else {
          result.cachePtr_ = cachePtrBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        if (cacheFactoryBuilder_ == null) {
          result.cacheFactory_ = cacheFactory_;
        } else {
          result.cacheFactory_ = cacheFactoryBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.txState_ = txState_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.hasProtoBufIndexMaintainer_ = hasProtoBufIndexMaintainer_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.clientVersion_ = clientVersion_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.usePersistentCache_ = usePersistentCache_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest) {
          return mergeFrom((org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest other) {
        if (other == org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest.getDefaultInstance()) return this;
        if (other.hasTenantId()) {
          setTenantId(other.getTenantId());
        }
        if (other.hasCacheId()) {
          setCacheId(other.getCacheId());
        }
        if (other.hasCachePtr()) {
          mergeCachePtr(other.getCachePtr());
        }
        if (other.hasCacheFactory()) {
          mergeCacheFactory(other.getCacheFactory());
        }
        if (other.hasTxState()) {
          setTxState(other.getTxState());
        }
        if (other.hasHasProtoBufIndexMaintainer()) {
          setHasProtoBufIndexMaintainer(other.getHasProtoBufIndexMaintainer());
        }
        if (other.hasClientVersion()) {
          setClientVersion(other.getClientVersion());
        }
        if (other.hasUsePersistentCache()) {
          setUsePersistentCache(other.getUsePersistentCache());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasCacheId()) {
          
          return false;
        }
        if (!hasCachePtr()) {
          
          return false;
        }
        if (!hasCacheFactory()) {
          
          return false;
        }
        if (!getCachePtr().isInitialized()) {
          
          return false;
        }
        if (!getCacheFactory().isInitialized()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional bytes tenantId = 1;
      private com.google.protobuf.ByteString tenantId_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes tenantId = 1;
       */
      public boolean hasTenantId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional bytes tenantId = 1;
       */
      public com.google.protobuf.ByteString getTenantId() {
        return tenantId_;
      }
      /**
       * optional bytes tenantId = 1;
       */
      public Builder setTenantId(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        tenantId_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes tenantId = 1;
       */
      public Builder clearTenantId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        tenantId_ = getDefaultInstance().getTenantId();
        onChanged();
        return this;
      }

      // required bytes cacheId = 2;
      private com.google.protobuf.ByteString cacheId_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * required bytes cacheId = 2;
       */
      public boolean hasCacheId() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * required bytes cacheId = 2;
       */
      public com.google.protobuf.ByteString getCacheId() {
        return cacheId_;
      }
      /**
       * required bytes cacheId = 2;
       */
      public Builder setCacheId(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        cacheId_ = value;
        onChanged();
        return this;
      }
      /**
       * required bytes cacheId = 2;
       */
      public Builder clearCacheId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        cacheId_ = getDefaultInstance().getCacheId();
        onChanged();
        return this;
      }

      // required .ImmutableBytesWritable cachePtr = 3;
      private org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable cachePtr_ = org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.Builder, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritableOrBuilder> cachePtrBuilder_;
      /**
       * required .ImmutableBytesWritable cachePtr = 3;
       */
      public boolean hasCachePtr() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * required .ImmutableBytesWritable cachePtr = 3;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable getCachePtr() {
        if (cachePtrBuilder_ == null) {
          return cachePtr_;
        } else {
          return cachePtrBuilder_.getMessage();
        }
      }
      /**
       * required .ImmutableBytesWritable cachePtr = 3;
       */
      public Builder setCachePtr(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable value) {
        if (cachePtrBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          cachePtr_ = value;
          onChanged();
        } else {
          cachePtrBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * required .ImmutableBytesWritable cachePtr = 3;
       */
      public Builder setCachePtr(
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.Builder builderForValue) {
        if (cachePtrBuilder_ == null) {
          cachePtr_ = builderForValue.build();
          onChanged();
        } else {
          cachePtrBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * required .ImmutableBytesWritable cachePtr = 3;
       */
      public Builder mergeCachePtr(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable value) {
        if (cachePtrBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              cachePtr_ != org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.getDefaultInstance()) {
            cachePtr_ =
              org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.newBuilder(cachePtr_).mergeFrom(value).buildPartial();
          } else {
            cachePtr_ = value;
          }
          onChanged();
        } else {
          cachePtrBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * required .ImmutableBytesWritable cachePtr = 3;
       */
      public Builder clearCachePtr() {
        if (cachePtrBuilder_ == null) {
          cachePtr_ = org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.getDefaultInstance();
          onChanged();
        } else {
          cachePtrBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * required .ImmutableBytesWritable cachePtr = 3;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.Builder getCachePtrBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getCachePtrFieldBuilder().getBuilder();
      }
      /**
       * required .ImmutableBytesWritable cachePtr = 3;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritableOrBuilder getCachePtrOrBuilder() {
        if (cachePtrBuilder_ != null) {
          return cachePtrBuilder_.getMessageOrBuilder();
        } else {
          return cachePtr_;
        }
      }
      /**
       * required .ImmutableBytesWritable cachePtr = 3;
       */
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.Builder, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritableOrBuilder> 
          getCachePtrFieldBuilder() {
        if (cachePtrBuilder_ == null) {
          cachePtrBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritable.Builder, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ImmutableBytesWritableOrBuilder>(
                  cachePtr_,
                  getParentForChildren(),
                  isClean());
          cachePtr_ = null;
        }
        return cachePtrBuilder_;
      }

      // required .ServerCacheFactory cacheFactory = 4;
      private org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory cacheFactory_ = org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory, org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory.Builder, org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactoryOrBuilder> cacheFactoryBuilder_;
      /**
       * required .ServerCacheFactory cacheFactory = 4;
       */
      public boolean hasCacheFactory() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * required .ServerCacheFactory cacheFactory = 4;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory getCacheFactory() {
        if (cacheFactoryBuilder_ == null) {
          return cacheFactory_;
        } else {
          return cacheFactoryBuilder_.getMessage();
        }
      }
      /**
       * required .ServerCacheFactory cacheFactory = 4;
       */
      public Builder setCacheFactory(org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory value) {
        if (cacheFactoryBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          cacheFactory_ = value;
          onChanged();
        } else {
          cacheFactoryBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * required .ServerCacheFactory cacheFactory = 4;
       */
      public Builder setCacheFactory(
          org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory.Builder builderForValue) {
        if (cacheFactoryBuilder_ == null) {
          cacheFactory_ = builderForValue.build();
          onChanged();
        } else {
          cacheFactoryBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * required .ServerCacheFactory cacheFactory = 4;
       */
      public Builder mergeCacheFactory(org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory value) {
        if (cacheFactoryBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008) &&
              cacheFactory_ != org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory.getDefaultInstance()) {
            cacheFactory_ =
              org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory.newBuilder(cacheFactory_).mergeFrom(value).buildPartial();
          } else {
            cacheFactory_ = value;
          }
          onChanged();
        } else {
          cacheFactoryBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * required .ServerCacheFactory cacheFactory = 4;
       */
      public Builder clearCacheFactory() {
        if (cacheFactoryBuilder_ == null) {
          cacheFactory_ = org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory.getDefaultInstance();
          onChanged();
        } else {
          cacheFactoryBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      /**
       * required .ServerCacheFactory cacheFactory = 4;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory.Builder getCacheFactoryBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getCacheFactoryFieldBuilder().getBuilder();
      }
      /**
       * required .ServerCacheFactory cacheFactory = 4;
       */
      public org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactoryOrBuilder getCacheFactoryOrBuilder() {
        if (cacheFactoryBuilder_ != null) {
          return cacheFactoryBuilder_.getMessageOrBuilder();
        } else {
          return cacheFactory_;
        }
      }
      /**
       * required .ServerCacheFactory cacheFactory = 4;
       */
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory, org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory.Builder, org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactoryOrBuilder> 
          getCacheFactoryFieldBuilder() {
        if (cacheFactoryBuilder_ == null) {
          cacheFactoryBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory, org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactory.Builder, org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.ServerCacheFactoryOrBuilder>(
                  cacheFactory_,
                  getParentForChildren(),
                  isClean());
          cacheFactory_ = null;
        }
        return cacheFactoryBuilder_;
      }

      // optional bytes txState = 5;
      private com.google.protobuf.ByteString txState_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes txState = 5;
       */
      public boolean hasTxState() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional bytes txState = 5;
       */
      public com.google.protobuf.ByteString getTxState() {
        return txState_;
      }
      /**
       * optional bytes txState = 5;
       */
      public Builder setTxState(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        txState_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes txState = 5;
       */
      public Builder clearTxState() {
        bitField0_ = (bitField0_ & ~0x00000010);
        txState_ = getDefaultInstance().getTxState();
        onChanged();
        return this;
      }

      // optional bool hasProtoBufIndexMaintainer = 6;
      private boolean hasProtoBufIndexMaintainer_ ;
      /**
       * optional bool hasProtoBufIndexMaintainer = 6;
       */
      public boolean hasHasProtoBufIndexMaintainer() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional bool hasProtoBufIndexMaintainer = 6;
       */
      public boolean getHasProtoBufIndexMaintainer() {
        return hasProtoBufIndexMaintainer_;
      }
      /**
       * optional bool hasProtoBufIndexMaintainer = 6;
       */
      public Builder setHasProtoBufIndexMaintainer(boolean value) {
        bitField0_ |= 0x00000020;
        hasProtoBufIndexMaintainer_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool hasProtoBufIndexMaintainer = 6;
       */
      public Builder clearHasProtoBufIndexMaintainer() {
        bitField0_ = (bitField0_ & ~0x00000020);
        hasProtoBufIndexMaintainer_ = false;
        onChanged();
        return this;
      }

      // optional int32 clientVersion = 7;
      private int clientVersion_ ;
      /**
       * optional int32 clientVersion = 7;
       */
      public boolean hasClientVersion() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional int32 clientVersion = 7;
       */
      public int getClientVersion() {
        return clientVersion_;
      }
      /**
       * optional int32 clientVersion = 7;
       */
      public Builder setClientVersion(int value) {
        bitField0_ |= 0x00000040;
        clientVersion_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 clientVersion = 7;
       */
      public Builder clearClientVersion() {
        bitField0_ = (bitField0_ & ~0x00000040);
        clientVersion_ = 0;
        onChanged();
        return this;
      }

      // optional bool usePersistentCache = 8;
      private boolean usePersistentCache_ ;
      /**
       * optional bool usePersistentCache = 8;
       */
      public boolean hasUsePersistentCache() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * optional bool usePersistentCache = 8;
       */
      public boolean getUsePersistentCache() {
        return usePersistentCache_;
      }
      /**
       * optional bool usePersistentCache = 8;
       */
      public Builder setUsePersistentCache(boolean value) {
        bitField0_ |= 0x00000080;
        usePersistentCache_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool usePersistentCache = 8;
       */
      public Builder clearUsePersistentCache() {
        bitField0_ = (bitField0_ & ~0x00000080);
        usePersistentCache_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:AddServerCacheRequest)
    }

    static {
      defaultInstance = new AddServerCacheRequest(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:AddServerCacheRequest)
  }

  public interface AddServerCacheResponseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // required bool return = 1;
    /**
     * required bool return = 1;
     */
    boolean hasReturn();
    /**
     * required bool return = 1;
     */
    boolean getReturn();
  }
  /**
   * Protobuf type {@code AddServerCacheResponse}
   */
  public static final class AddServerCacheResponse extends
      com.google.protobuf.GeneratedMessage
      implements AddServerCacheResponseOrBuilder {
    // Use AddServerCacheResponse.newBuilder() to construct.
    private AddServerCacheResponse(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private AddServerCacheResponse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final AddServerCacheResponse defaultInstance;
    public static AddServerCacheResponse getDefaultInstance() {
      return defaultInstance;
    }

    public AddServerCacheResponse getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private AddServerCacheResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              return_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_AddServerCacheResponse_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_AddServerCacheResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse.class, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public AddServerCacheResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new AddServerCacheResponse(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // required bool return = 1;
    public static final int RETURN_FIELD_NUMBER = 1;
    private boolean return_;
    /**
     * required bool return = 1;
     */
    public boolean hasReturn() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * required bool return = 1;
     */
    public boolean getReturn() {
      return return_;
    }

    private void initFields() {
      return_ = false;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasReturn()) {
        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.writeBool(1, return_);
      }
      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
          .computeBoolSize(1, return_);
      }
      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 org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse)) {
        return super.equals(obj);
      }
      org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse other = (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse) obj;

      boolean result = true;
      result = result && (hasReturn() == other.hasReturn());
      if (hasReturn()) {
        result = result && (getReturn()
            == other.getReturn());
      }
      result = result &&
          getUnknownFields().equals(other.getUnknownFields());
      return result;
    }

    private int memoizedHashCode = 0;
    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasReturn()) {
        hash = (37 * hash) + RETURN_FIELD_NUMBER;
        hash = (53 * hash) + hashBoolean(getReturn());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse 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;
    }
    /**
     * Protobuf type {@code AddServerCacheResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_AddServerCacheResponse_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_AddServerCacheResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse.class, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse.Builder.class);
      }

      // Construct using org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        return_ = false;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_AddServerCacheResponse_descriptor;
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse getDefaultInstanceForType() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse.getDefaultInstance();
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse build() {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse buildPartial() {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse result = new org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.return_ = return_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse) {
          return mergeFrom((org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse other) {
        if (other == org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse.getDefaultInstance()) return this;
        if (other.hasReturn()) {
          setReturn(other.getReturn());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasReturn()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // required bool return = 1;
      private boolean return_ ;
      /**
       * required bool return = 1;
       */
      public boolean hasReturn() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * required bool return = 1;
       */
      public boolean getReturn() {
        return return_;
      }
      /**
       * required bool return = 1;
       */
      public Builder setReturn(boolean value) {
        bitField0_ |= 0x00000001;
        return_ = value;
        onChanged();
        return this;
      }
      /**
       * required bool return = 1;
       */
      public Builder clearReturn() {
        bitField0_ = (bitField0_ & ~0x00000001);
        return_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:AddServerCacheResponse)
    }

    static {
      defaultInstance = new AddServerCacheResponse(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:AddServerCacheResponse)
  }

  public interface RemoveServerCacheRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional bytes tenantId = 1;
    /**
     * optional bytes tenantId = 1;
     */
    boolean hasTenantId();
    /**
     * optional bytes tenantId = 1;
     */
    com.google.protobuf.ByteString getTenantId();

    // required bytes cacheId = 2;
    /**
     * required bytes cacheId = 2;
     */
    boolean hasCacheId();
    /**
     * required bytes cacheId = 2;
     */
    com.google.protobuf.ByteString getCacheId();
  }
  /**
   * Protobuf type {@code RemoveServerCacheRequest}
   */
  public static final class RemoveServerCacheRequest extends
      com.google.protobuf.GeneratedMessage
      implements RemoveServerCacheRequestOrBuilder {
    // Use RemoveServerCacheRequest.newBuilder() to construct.
    private RemoveServerCacheRequest(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private RemoveServerCacheRequest(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final RemoveServerCacheRequest defaultInstance;
    public static RemoveServerCacheRequest getDefaultInstance() {
      return defaultInstance;
    }

    public RemoveServerCacheRequest getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private RemoveServerCacheRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              tenantId_ = input.readBytes();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              cacheId_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_RemoveServerCacheRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_RemoveServerCacheRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest.class, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public RemoveServerCacheRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RemoveServerCacheRequest(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional bytes tenantId = 1;
    public static final int TENANTID_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString tenantId_;
    /**
     * optional bytes tenantId = 1;
     */
    public boolean hasTenantId() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional bytes tenantId = 1;
     */
    public com.google.protobuf.ByteString getTenantId() {
      return tenantId_;
    }

    // required bytes cacheId = 2;
    public static final int CACHEID_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString cacheId_;
    /**
     * required bytes cacheId = 2;
     */
    public boolean hasCacheId() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * required bytes cacheId = 2;
     */
    public com.google.protobuf.ByteString getCacheId() {
      return cacheId_;
    }

    private void initFields() {
      tenantId_ = com.google.protobuf.ByteString.EMPTY;
      cacheId_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasCacheId()) {
        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.writeBytes(1, tenantId_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, cacheId_);
      }
      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
          .computeBytesSize(1, tenantId_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, cacheId_);
      }
      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 org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest)) {
        return super.equals(obj);
      }
      org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest other = (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest) obj;

      boolean result = true;
      result = result && (hasTenantId() == other.hasTenantId());
      if (hasTenantId()) {
        result = result && getTenantId()
            .equals(other.getTenantId());
      }
      result = result && (hasCacheId() == other.hasCacheId());
      if (hasCacheId()) {
        result = result && getCacheId()
            .equals(other.getCacheId());
      }
      result = result &&
          getUnknownFields().equals(other.getUnknownFields());
      return result;
    }

    private int memoizedHashCode = 0;
    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasTenantId()) {
        hash = (37 * hash) + TENANTID_FIELD_NUMBER;
        hash = (53 * hash) + getTenantId().hashCode();
      }
      if (hasCacheId()) {
        hash = (37 * hash) + CACHEID_FIELD_NUMBER;
        hash = (53 * hash) + getCacheId().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest 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;
    }
    /**
     * Protobuf type {@code RemoveServerCacheRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_RemoveServerCacheRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_RemoveServerCacheRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest.class, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest.Builder.class);
      }

      // Construct using org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        tenantId_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        cacheId_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_RemoveServerCacheRequest_descriptor;
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest getDefaultInstanceForType() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest.getDefaultInstance();
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest build() {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest buildPartial() {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest result = new org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.tenantId_ = tenantId_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.cacheId_ = cacheId_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest) {
          return mergeFrom((org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest other) {
        if (other == org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest.getDefaultInstance()) return this;
        if (other.hasTenantId()) {
          setTenantId(other.getTenantId());
        }
        if (other.hasCacheId()) {
          setCacheId(other.getCacheId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasCacheId()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional bytes tenantId = 1;
      private com.google.protobuf.ByteString tenantId_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes tenantId = 1;
       */
      public boolean hasTenantId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional bytes tenantId = 1;
       */
      public com.google.protobuf.ByteString getTenantId() {
        return tenantId_;
      }
      /**
       * optional bytes tenantId = 1;
       */
      public Builder setTenantId(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        tenantId_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes tenantId = 1;
       */
      public Builder clearTenantId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        tenantId_ = getDefaultInstance().getTenantId();
        onChanged();
        return this;
      }

      // required bytes cacheId = 2;
      private com.google.protobuf.ByteString cacheId_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * required bytes cacheId = 2;
       */
      public boolean hasCacheId() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * required bytes cacheId = 2;
       */
      public com.google.protobuf.ByteString getCacheId() {
        return cacheId_;
      }
      /**
       * required bytes cacheId = 2;
       */
      public Builder setCacheId(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        cacheId_ = value;
        onChanged();
        return this;
      }
      /**
       * required bytes cacheId = 2;
       */
      public Builder clearCacheId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        cacheId_ = getDefaultInstance().getCacheId();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:RemoveServerCacheRequest)
    }

    static {
      defaultInstance = new RemoveServerCacheRequest(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:RemoveServerCacheRequest)
  }

  public interface RemoveServerCacheResponseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // required bool return = 1;
    /**
     * required bool return = 1;
     */
    boolean hasReturn();
    /**
     * required bool return = 1;
     */
    boolean getReturn();
  }
  /**
   * Protobuf type {@code RemoveServerCacheResponse}
   */
  public static final class RemoveServerCacheResponse extends
      com.google.protobuf.GeneratedMessage
      implements RemoveServerCacheResponseOrBuilder {
    // Use RemoveServerCacheResponse.newBuilder() to construct.
    private RemoveServerCacheResponse(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private RemoveServerCacheResponse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final RemoveServerCacheResponse defaultInstance;
    public static RemoveServerCacheResponse getDefaultInstance() {
      return defaultInstance;
    }

    public RemoveServerCacheResponse getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private RemoveServerCacheResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              return_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_RemoveServerCacheResponse_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_RemoveServerCacheResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse.class, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public RemoveServerCacheResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RemoveServerCacheResponse(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // required bool return = 1;
    public static final int RETURN_FIELD_NUMBER = 1;
    private boolean return_;
    /**
     * required bool return = 1;
     */
    public boolean hasReturn() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * required bool return = 1;
     */
    public boolean getReturn() {
      return return_;
    }

    private void initFields() {
      return_ = false;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasReturn()) {
        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.writeBool(1, return_);
      }
      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
          .computeBoolSize(1, return_);
      }
      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 org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse)) {
        return super.equals(obj);
      }
      org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse other = (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse) obj;

      boolean result = true;
      result = result && (hasReturn() == other.hasReturn());
      if (hasReturn()) {
        result = result && (getReturn()
            == other.getReturn());
      }
      result = result &&
          getUnknownFields().equals(other.getUnknownFields());
      return result;
    }

    private int memoizedHashCode = 0;
    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasReturn()) {
        hash = (37 * hash) + RETURN_FIELD_NUMBER;
        hash = (53 * hash) + hashBoolean(getReturn());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse 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;
    }
    /**
     * Protobuf type {@code RemoveServerCacheResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_RemoveServerCacheResponse_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_RemoveServerCacheResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse.class, org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse.Builder.class);
      }

      // Construct using org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        return_ = false;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.internal_static_RemoveServerCacheResponse_descriptor;
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse getDefaultInstanceForType() {
        return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse.getDefaultInstance();
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse build() {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse buildPartial() {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse result = new org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.return_ = return_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse) {
          return mergeFrom((org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse other) {
        if (other == org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse.getDefaultInstance()) return this;
        if (other.hasReturn()) {
          setReturn(other.getReturn());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasReturn()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // required bool return = 1;
      private boolean return_ ;
      /**
       * required bool return = 1;
       */
      public boolean hasReturn() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * required bool return = 1;
       */
      public boolean getReturn() {
        return return_;
      }
      /**
       * required bool return = 1;
       */
      public Builder setReturn(boolean value) {
        bitField0_ |= 0x00000001;
        return_ = value;
        onChanged();
        return this;
      }
      /**
       * required bool return = 1;
       */
      public Builder clearReturn() {
        bitField0_ = (bitField0_ & ~0x00000001);
        return_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:RemoveServerCacheResponse)
    }

    static {
      defaultInstance = new RemoveServerCacheResponse(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:RemoveServerCacheResponse)
  }

  /**
   * Protobuf service {@code ServerCachingService}
   */
  public static abstract class ServerCachingService
      implements com.google.protobuf.Service {
    protected ServerCachingService() {}

    public interface Interface {
      /**
       * rpc addServerCache(.AddServerCacheRequest) returns (.AddServerCacheResponse);
       */
      public abstract void addServerCache(
          com.google.protobuf.RpcController controller,
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest request,
          com.google.protobuf.RpcCallback done);

      /**
       * rpc removeServerCache(.RemoveServerCacheRequest) returns (.RemoveServerCacheResponse);
       */
      public abstract void removeServerCache(
          com.google.protobuf.RpcController controller,
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest request,
          com.google.protobuf.RpcCallback done);

    }

    public static com.google.protobuf.Service newReflectiveService(
        final Interface impl) {
      return new ServerCachingService() {
        @java.lang.Override
        public  void addServerCache(
            com.google.protobuf.RpcController controller,
            org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest request,
            com.google.protobuf.RpcCallback done) {
          impl.addServerCache(controller, request, done);
        }

        @java.lang.Override
        public  void removeServerCache(
            com.google.protobuf.RpcController controller,
            org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest request,
            com.google.protobuf.RpcCallback done) {
          impl.removeServerCache(controller, request, done);
        }

      };
    }

    public static com.google.protobuf.BlockingService
        newReflectiveBlockingService(final BlockingInterface impl) {
      return new com.google.protobuf.BlockingService() {
        public final com.google.protobuf.Descriptors.ServiceDescriptor
            getDescriptorForType() {
          return getDescriptor();
        }

        public final com.google.protobuf.Message callBlockingMethod(
            com.google.protobuf.Descriptors.MethodDescriptor method,
            com.google.protobuf.RpcController controller,
            com.google.protobuf.Message request)
            throws com.google.protobuf.ServiceException {
          if (method.getService() != getDescriptor()) {
            throw new java.lang.IllegalArgumentException(
              "Service.callBlockingMethod() given method descriptor for " +
              "wrong service type.");
          }
          switch(method.getIndex()) {
            case 0:
              return impl.addServerCache(controller, (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest)request);
            case 1:
              return impl.removeServerCache(controller, (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest)request);
            default:
              throw new java.lang.AssertionError("Can't get here.");
          }
        }

        public final com.google.protobuf.Message
            getRequestPrototype(
            com.google.protobuf.Descriptors.MethodDescriptor method) {
          if (method.getService() != getDescriptor()) {
            throw new java.lang.IllegalArgumentException(
              "Service.getRequestPrototype() given method " +
              "descriptor for wrong service type.");
          }
          switch(method.getIndex()) {
            case 0:
              return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest.getDefaultInstance();
            case 1:
              return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest.getDefaultInstance();
            default:
              throw new java.lang.AssertionError("Can't get here.");
          }
        }

        public final com.google.protobuf.Message
            getResponsePrototype(
            com.google.protobuf.Descriptors.MethodDescriptor method) {
          if (method.getService() != getDescriptor()) {
            throw new java.lang.IllegalArgumentException(
              "Service.getResponsePrototype() given method " +
              "descriptor for wrong service type.");
          }
          switch(method.getIndex()) {
            case 0:
              return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse.getDefaultInstance();
            case 1:
              return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse.getDefaultInstance();
            default:
              throw new java.lang.AssertionError("Can't get here.");
          }
        }

      };
    }

    /**
     * rpc addServerCache(.AddServerCacheRequest) returns (.AddServerCacheResponse);
     */
    public abstract void addServerCache(
        com.google.protobuf.RpcController controller,
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest request,
        com.google.protobuf.RpcCallback done);

    /**
     * rpc removeServerCache(.RemoveServerCacheRequest) returns (.RemoveServerCacheResponse);
     */
    public abstract void removeServerCache(
        com.google.protobuf.RpcController controller,
        org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest request,
        com.google.protobuf.RpcCallback done);

    public static final
        com.google.protobuf.Descriptors.ServiceDescriptor
        getDescriptor() {
      return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.getDescriptor().getServices().get(0);
    }
    public final com.google.protobuf.Descriptors.ServiceDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }

    public final void callMethod(
        com.google.protobuf.Descriptors.MethodDescriptor method,
        com.google.protobuf.RpcController controller,
        com.google.protobuf.Message request,
        com.google.protobuf.RpcCallback<
          com.google.protobuf.Message> done) {
      if (method.getService() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "Service.callMethod() given method descriptor for wrong " +
          "service type.");
      }
      switch(method.getIndex()) {
        case 0:
          this.addServerCache(controller, (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest)request,
            com.google.protobuf.RpcUtil.specializeCallback(
              done));
          return;
        case 1:
          this.removeServerCache(controller, (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest)request,
            com.google.protobuf.RpcUtil.specializeCallback(
              done));
          return;
        default:
          throw new java.lang.AssertionError("Can't get here.");
      }
    }

    public final com.google.protobuf.Message
        getRequestPrototype(
        com.google.protobuf.Descriptors.MethodDescriptor method) {
      if (method.getService() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "Service.getRequestPrototype() given method " +
          "descriptor for wrong service type.");
      }
      switch(method.getIndex()) {
        case 0:
          return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest.getDefaultInstance();
        case 1:
          return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest.getDefaultInstance();
        default:
          throw new java.lang.AssertionError("Can't get here.");
      }
    }

    public final com.google.protobuf.Message
        getResponsePrototype(
        com.google.protobuf.Descriptors.MethodDescriptor method) {
      if (method.getService() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "Service.getResponsePrototype() given method " +
          "descriptor for wrong service type.");
      }
      switch(method.getIndex()) {
        case 0:
          return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse.getDefaultInstance();
        case 1:
          return org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse.getDefaultInstance();
        default:
          throw new java.lang.AssertionError("Can't get here.");
      }
    }

    public static Stub newStub(
        com.google.protobuf.RpcChannel channel) {
      return new Stub(channel);
    }

    public static final class Stub extends org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ServerCachingService implements Interface {
      private Stub(com.google.protobuf.RpcChannel channel) {
        this.channel = channel;
      }

      private final com.google.protobuf.RpcChannel channel;

      public com.google.protobuf.RpcChannel getChannel() {
        return channel;
      }

      public  void addServerCache(
          com.google.protobuf.RpcController controller,
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest request,
          com.google.protobuf.RpcCallback done) {
        channel.callMethod(
          getDescriptor().getMethods().get(0),
          controller,
          request,
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse.getDefaultInstance(),
          com.google.protobuf.RpcUtil.generalizeCallback(
            done,
            org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse.class,
            org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse.getDefaultInstance()));
      }

      public  void removeServerCache(
          com.google.protobuf.RpcController controller,
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest request,
          com.google.protobuf.RpcCallback done) {
        channel.callMethod(
          getDescriptor().getMethods().get(1),
          controller,
          request,
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse.getDefaultInstance(),
          com.google.protobuf.RpcUtil.generalizeCallback(
            done,
            org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse.class,
            org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse.getDefaultInstance()));
      }
    }

    public static BlockingInterface newBlockingStub(
        com.google.protobuf.BlockingRpcChannel channel) {
      return new BlockingStub(channel);
    }

    public interface BlockingInterface {
      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse addServerCache(
          com.google.protobuf.RpcController controller,
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest request)
          throws com.google.protobuf.ServiceException;

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse removeServerCache(
          com.google.protobuf.RpcController controller,
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest request)
          throws com.google.protobuf.ServiceException;
    }

    private static final class BlockingStub implements BlockingInterface {
      private BlockingStub(com.google.protobuf.BlockingRpcChannel channel) {
        this.channel = channel;
      }

      private final com.google.protobuf.BlockingRpcChannel channel;

      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse addServerCache(
          com.google.protobuf.RpcController controller,
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheRequest request)
          throws com.google.protobuf.ServiceException {
        return (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse) channel.callBlockingMethod(
          getDescriptor().getMethods().get(0),
          controller,
          request,
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.AddServerCacheResponse.getDefaultInstance());
      }


      public org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse removeServerCache(
          com.google.protobuf.RpcController controller,
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheRequest request)
          throws com.google.protobuf.ServiceException {
        return (org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse) channel.callBlockingMethod(
          getDescriptor().getMethods().get(1),
          controller,
          request,
          org.apache.phoenix.coprocessor.generated.ServerCachingProtos.RemoveServerCacheResponse.getDefaultInstance());
      }

    }

    // @@protoc_insertion_point(class_scope:ServerCachingService)
  }

  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_ImmutableBytesWritable_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_ImmutableBytesWritable_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_ColumnReference_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_ColumnReference_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_ColumnInfo_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_ColumnInfo_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_IndexMaintainer_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_IndexMaintainer_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_AddServerCacheRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_AddServerCacheRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_AddServerCacheResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_AddServerCacheResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_RemoveServerCacheRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_RemoveServerCacheRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_RemoveServerCacheResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_RemoveServerCacheResponse_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\032ServerCachingService.proto\032\030ServerCach" +
      "eFactory.proto\"K\n\026ImmutableBytesWritable" +
      "\022\021\n\tbyteArray\030\001 \002(\014\022\016\n\006offset\030\002 \002(\005\022\016\n\006l" +
      "ength\030\003 \002(\005\"4\n\017ColumnReference\022\016\n\006family" +
      "\030\001 \002(\014\022\021\n\tqualifier\030\002 \002(\014\"4\n\nColumnInfo\022" +
      "\022\n\nfamilyName\030\001 \001(\t\022\022\n\ncolumnName\030\002 \002(\t\"" +
      "\364\006\n\017IndexMaintainer\022\023\n\013saltBuckets\030\001 \002(\005" +
      "\022\025\n\risMultiTenant\030\002 \002(\010\022\023\n\013viewIndexId\030\003" +
      " \001(\014\022(\n\016indexedColumns\030\004 \003(\0132\020.ColumnRef" +
      "erence\022 \n\030indexedColumnTypeOrdinal\030\005 \003(\005",
      "\022:\n dataTableColRefForCoveredColumns\030\006 \003" +
      "(\0132\020.ColumnReference\022;\n!indexTableColRef" +
      "ForCoveredColumns\030\007 \003(\0132\020.ColumnReferenc" +
      "e\022\024\n\014isLocalIndex\030\010 \002(\010\022\026\n\016indexTableNam" +
      "e\030\t \002(\014\022\036\n\026rowKeyOrderOptimizable\030\n \002(\010\022" +
      "\'\n\037dataTableEmptyKeyValueColFamily\030\013 \002(\014" +
      "\0227\n\026emptyKeyValueColFamily\030\014 \002(\0132\027.Immut" +
      "ableBytesWritable\022\032\n\022indexedExpressions\030" +
      "\r \001(\014\022\026\n\016rowKeyMetadata\030\016 \002(\014\022\037\n\027numData" +
      "TableColFamilies\030\017 \002(\005\022\030\n\020indexWalDisabl",
      "ed\030\020 \002(\010\022\033\n\023indexRowKeyByteSize\030\021 \002(\005\022\021\n" +
      "\timmutable\030\022 \002(\010\022&\n\021indexedColumnInfo\030\023 " +
      "\003(\0132\013.ColumnInfo\022\026\n\016encodingScheme\030\024 \002(\005" +
      "\022\036\n\026immutableStorageScheme\030\025 \002(\005\022\027\n\017view" +
      "IndexIdType\030\026 \001(\005\022 \n\024indexDataColumnCoun" +
      "t\030\027 \001(\005:\002-1\022\027\n\017parentTableType\030\030 \001(\t\022\030\n\020" +
      "logicalIndexName\030\031 \001(\t\022\032\n\022dataEncodingSc" +
      "heme\030\032 \001(\005\022\"\n\032dataImmutableStorageScheme" +
      "\030\033 \001(\005\"\370\001\n\025AddServerCacheRequest\022\020\n\010tena" +
      "ntId\030\001 \001(\014\022\017\n\007cacheId\030\002 \002(\014\022)\n\010cachePtr\030",
      "\003 \002(\0132\027.ImmutableBytesWritable\022)\n\014cacheF" +
      "actory\030\004 \002(\0132\023.ServerCacheFactory\022\017\n\007txS" +
      "tate\030\005 \001(\014\022\"\n\032hasProtoBufIndexMaintainer" +
      "\030\006 \001(\010\022\025\n\rclientVersion\030\007 \001(\005\022\032\n\022usePers" +
      "istentCache\030\010 \001(\010\"(\n\026AddServerCacheRespo" +
      "nse\022\016\n\006return\030\001 \002(\010\"=\n\030RemoveServerCache" +
      "Request\022\020\n\010tenantId\030\001 \001(\014\022\017\n\007cacheId\030\002 \002" +
      "(\014\"+\n\031RemoveServerCacheResponse\022\016\n\006retur" +
      "n\030\001 \002(\0102\245\001\n\024ServerCachingService\022A\n\016addS" +
      "erverCache\022\026.AddServerCacheRequest\032\027.Add",
      "ServerCacheResponse\022J\n\021removeServerCache" +
      "\022\031.RemoveServerCacheRequest\032\032.RemoveServ" +
      "erCacheResponseBG\n(org.apache.phoenix.co" +
      "processor.generatedB\023ServerCachingProtos" +
      "H\001\210\001\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_ImmutableBytesWritable_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_ImmutableBytesWritable_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_ImmutableBytesWritable_descriptor,
              new java.lang.String[] { "ByteArray", "Offset", "Length", });
          internal_static_ColumnReference_descriptor =
            getDescriptor().getMessageTypes().get(1);
          internal_static_ColumnReference_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_ColumnReference_descriptor,
              new java.lang.String[] { "Family", "Qualifier", });
          internal_static_ColumnInfo_descriptor =
            getDescriptor().getMessageTypes().get(2);
          internal_static_ColumnInfo_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_ColumnInfo_descriptor,
              new java.lang.String[] { "FamilyName", "ColumnName", });
          internal_static_IndexMaintainer_descriptor =
            getDescriptor().getMessageTypes().get(3);
          internal_static_IndexMaintainer_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_IndexMaintainer_descriptor,
              new java.lang.String[] { "SaltBuckets", "IsMultiTenant", "ViewIndexId", "IndexedColumns", "IndexedColumnTypeOrdinal", "DataTableColRefForCoveredColumns", "IndexTableColRefForCoveredColumns", "IsLocalIndex", "IndexTableName", "RowKeyOrderOptimizable", "DataTableEmptyKeyValueColFamily", "EmptyKeyValueColFamily", "IndexedExpressions", "RowKeyMetadata", "NumDataTableColFamilies", "IndexWalDisabled", "IndexRowKeyByteSize", "Immutable", "IndexedColumnInfo", "EncodingScheme", "ImmutableStorageScheme", "ViewIndexIdType", "IndexDataColumnCount", "ParentTableType", "LogicalIndexName", "DataEncodingScheme", "DataImmutableStorageScheme", });
          internal_static_AddServerCacheRequest_descriptor =
            getDescriptor().getMessageTypes().get(4);
          internal_static_AddServerCacheRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_AddServerCacheRequest_descriptor,
              new java.lang.String[] { "TenantId", "CacheId", "CachePtr", "CacheFactory", "TxState", "HasProtoBufIndexMaintainer", "ClientVersion", "UsePersistentCache", });
          internal_static_AddServerCacheResponse_descriptor =
            getDescriptor().getMessageTypes().get(5);
          internal_static_AddServerCacheResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_AddServerCacheResponse_descriptor,
              new java.lang.String[] { "Return", });
          internal_static_RemoveServerCacheRequest_descriptor =
            getDescriptor().getMessageTypes().get(6);
          internal_static_RemoveServerCacheRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_RemoveServerCacheRequest_descriptor,
              new java.lang.String[] { "TenantId", "CacheId", });
          internal_static_RemoveServerCacheResponse_descriptor =
            getDescriptor().getMessageTypes().get(7);
          internal_static_RemoveServerCacheResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_RemoveServerCacheResponse_descriptor,
              new java.lang.String[] { "Return", });
          return null;
        }
      };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          org.apache.phoenix.coprocessor.generated.ServerCacheFactoryProtos.getDescriptor(),
        }, assigner);
  }

  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy