// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: voldemort-client.proto

package voldemort.client.protocol.pb;

public final class VProto {
  private VProto() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  public enum RequestType
      implements com.google.protobuf.ProtocolMessageEnum {
    GET(0, 0),
    GET_ALL(1, 1),
    PUT(2, 2),
    DELETE(3, 3),
    GET_VERSION(4, 4),
    ;
    
    
    public final int getNumber() { return value; }
    
    public static RequestType valueOf(int value) {
      switch (value) {
        case 0: return GET;
        case 1: return GET_ALL;
        case 2: return PUT;
        case 3: return DELETE;
        case 4: return GET_VERSION;
        default: return null;
      }
    }
    
    public static com.google.protobuf.Internal.EnumLiteMap<RequestType>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap<RequestType>
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<RequestType>() {
            public RequestType findValueByNumber(int number) {
              return RequestType.valueOf(number)
    ;        }
          };
    
    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return voldemort.client.protocol.pb.VProto.getDescriptor().getEnumTypes().get(0);
    }
    
    private static final RequestType[] VALUES = {
      GET, GET_ALL, PUT, DELETE, GET_VERSION, 
    };
    public static RequestType valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      return VALUES[desc.getIndex()];
    }
    private final int index;
    private final int value;
    private RequestType(int index, int value) {
      this.index = index;
      this.value = value;
    }
    
    static {
      voldemort.client.protocol.pb.VProto.getDescriptor();
    }
    
    // @@protoc_insertion_point(enum_scope:voldemort.RequestType)
  }
  
  public static final class ClockEntry extends
      com.google.protobuf.GeneratedMessage {
    // Use ClockEntry.newBuilder() to construct.
    private ClockEntry() {
      initFields();
    }
    private ClockEntry(boolean noInit) {}
    
    private static final ClockEntry defaultInstance;
    public static ClockEntry getDefaultInstance() {
      return defaultInstance;
    }
    
    public ClockEntry getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_ClockEntry_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_ClockEntry_fieldAccessorTable;
    }
    
    // required int32 node_id = 1;
    public static final int NODE_ID_FIELD_NUMBER = 1;
    private boolean hasNodeId;
    private int nodeId_ = 0;
    public boolean hasNodeId() { return hasNodeId; }
    public int getNodeId() { return nodeId_; }
    
    // required int64 version = 2;
    public static final int VERSION_FIELD_NUMBER = 2;
    private boolean hasVersion;
    private long version_ = 0L;
    public boolean hasVersion() { return hasVersion; }
    public long getVersion() { return version_; }
    
    private void initFields() {
    }
    public final boolean isInitialized() {
      if (!hasNodeId) return false;
      if (!hasVersion) return false;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (hasNodeId()) {
        output.writeInt32(1, getNodeId());
      }
      if (hasVersion()) {
        output.writeInt64(2, getVersion());
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (hasNodeId()) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, getNodeId());
      }
      if (hasVersion()) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(2, getVersion());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    public static voldemort.client.protocol.pb.VProto.ClockEntry parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.ClockEntry parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.ClockEntry parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.ClockEntry parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.ClockEntry parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.ClockEntry parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.ClockEntry parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.ClockEntry parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.ClockEntry parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.ClockEntry parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(voldemort.client.protocol.pb.VProto.ClockEntry prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> {
      private voldemort.client.protocol.pb.VProto.ClockEntry result;
      
      // Construct using voldemort.client.protocol.pb.VProto.ClockEntry.newBuilder()
      private Builder() {}
      
      private static Builder create() {
        Builder builder = new Builder();
        builder.result = new voldemort.client.protocol.pb.VProto.ClockEntry();
        return builder;
      }
      
      protected voldemort.client.protocol.pb.VProto.ClockEntry internalGetResult() {
        return result;
      }
      
      public Builder clear() {
        if (result == null) {
          throw new IllegalStateException(
            "Cannot call clear() after build().");
        }
        result = new voldemort.client.protocol.pb.VProto.ClockEntry();
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(result);
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return voldemort.client.protocol.pb.VProto.ClockEntry.getDescriptor();
      }
      
      public voldemort.client.protocol.pb.VProto.ClockEntry getDefaultInstanceForType() {
        return voldemort.client.protocol.pb.VProto.ClockEntry.getDefaultInstance();
      }
      
      public boolean isInitialized() {
        return result.isInitialized();
      }
      public voldemort.client.protocol.pb.VProto.ClockEntry build() {
        if (result != null && !isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return buildPartial();
      }
      
      private voldemort.client.protocol.pb.VProto.ClockEntry buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        if (!isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return buildPartial();
      }
      
      public voldemort.client.protocol.pb.VProto.ClockEntry buildPartial() {
        if (result == null) {
          throw new IllegalStateException(
            "build() has already been called on this Builder.");
        }
        voldemort.client.protocol.pb.VProto.ClockEntry returnMe = result;
        result = null;
        return returnMe;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof voldemort.client.protocol.pb.VProto.ClockEntry) {
          return mergeFrom((voldemort.client.protocol.pb.VProto.ClockEntry)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(voldemort.client.protocol.pb.VProto.ClockEntry other) {
        if (other == voldemort.client.protocol.pb.VProto.ClockEntry.getDefaultInstance()) return this;
        if (other.hasNodeId()) {
          setNodeId(other.getNodeId());
        }
        if (other.hasVersion()) {
          setVersion(other.getVersion());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                return this;
              }
              break;
            }
            case 8: {
              setNodeId(input.readInt32());
              break;
            }
            case 16: {
              setVersion(input.readInt64());
              break;
            }
          }
        }
      }
      
      
      // required int32 node_id = 1;
      public boolean hasNodeId() {
        return result.hasNodeId();
      }
      public int getNodeId() {
        return result.getNodeId();
      }
      public Builder setNodeId(int value) {
        result.hasNodeId = true;
        result.nodeId_ = value;
        return this;
      }
      public Builder clearNodeId() {
        result.hasNodeId = false;
        result.nodeId_ = 0;
        return this;
      }
      
      // required int64 version = 2;
      public boolean hasVersion() {
        return result.hasVersion();
      }
      public long getVersion() {
        return result.getVersion();
      }
      public Builder setVersion(long value) {
        result.hasVersion = true;
        result.version_ = value;
        return this;
      }
      public Builder clearVersion() {
        result.hasVersion = false;
        result.version_ = 0L;
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:voldemort.ClockEntry)
    }
    
    static {
      defaultInstance = new ClockEntry(true);
      voldemort.client.protocol.pb.VProto.internalForceInit();
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:voldemort.ClockEntry)
  }
  
  public static final class VectorClock extends
      com.google.protobuf.GeneratedMessage {
    // Use VectorClock.newBuilder() to construct.
    private VectorClock() {
      initFields();
    }
    private VectorClock(boolean noInit) {}
    
    private static final VectorClock defaultInstance;
    public static VectorClock getDefaultInstance() {
      return defaultInstance;
    }
    
    public VectorClock getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_VectorClock_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_VectorClock_fieldAccessorTable;
    }
    
    // repeated .voldemort.ClockEntry entries = 1;
    public static final int ENTRIES_FIELD_NUMBER = 1;
    private java.util.List<voldemort.client.protocol.pb.VProto.ClockEntry> entries_ =
      java.util.Collections.emptyList();
    public java.util.List<voldemort.client.protocol.pb.VProto.ClockEntry> getEntriesList() {
      return entries_;
    }
    public int getEntriesCount() { return entries_.size(); }
    public voldemort.client.protocol.pb.VProto.ClockEntry getEntries(int index) {
      return entries_.get(index);
    }
    
    // optional int64 timestamp = 2;
    public static final int TIMESTAMP_FIELD_NUMBER = 2;
    private boolean hasTimestamp;
    private long timestamp_ = 0L;
    public boolean hasTimestamp() { return hasTimestamp; }
    public long getTimestamp() { return timestamp_; }
    
    private void initFields() {
    }
    public final boolean isInitialized() {
      for (voldemort.client.protocol.pb.VProto.ClockEntry element : getEntriesList()) {
        if (!element.isInitialized()) return false;
      }
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (voldemort.client.protocol.pb.VProto.ClockEntry element : getEntriesList()) {
        output.writeMessage(1, element);
      }
      if (hasTimestamp()) {
        output.writeInt64(2, getTimestamp());
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      for (voldemort.client.protocol.pb.VProto.ClockEntry element : getEntriesList()) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, element);
      }
      if (hasTimestamp()) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(2, getTimestamp());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    public static voldemort.client.protocol.pb.VProto.VectorClock parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.VectorClock parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.VectorClock parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.VectorClock parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.VectorClock parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.VectorClock parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.VectorClock parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.VectorClock parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.VectorClock parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.VectorClock parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(voldemort.client.protocol.pb.VProto.VectorClock prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> {
      private voldemort.client.protocol.pb.VProto.VectorClock result;
      
      // Construct using voldemort.client.protocol.pb.VProto.VectorClock.newBuilder()
      private Builder() {}
      
      private static Builder create() {
        Builder builder = new Builder();
        builder.result = new voldemort.client.protocol.pb.VProto.VectorClock();
        return builder;
      }
      
      protected voldemort.client.protocol.pb.VProto.VectorClock internalGetResult() {
        return result;
      }
      
      public Builder clear() {
        if (result == null) {
          throw new IllegalStateException(
            "Cannot call clear() after build().");
        }
        result = new voldemort.client.protocol.pb.VProto.VectorClock();
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(result);
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return voldemort.client.protocol.pb.VProto.VectorClock.getDescriptor();
      }
      
      public voldemort.client.protocol.pb.VProto.VectorClock getDefaultInstanceForType() {
        return voldemort.client.protocol.pb.VProto.VectorClock.getDefaultInstance();
      }
      
      public boolean isInitialized() {
        return result.isInitialized();
      }
      public voldemort.client.protocol.pb.VProto.VectorClock build() {
        if (result != null && !isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return buildPartial();
      }
      
      private voldemort.client.protocol.pb.VProto.VectorClock buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        if (!isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return buildPartial();
      }
      
      public voldemort.client.protocol.pb.VProto.VectorClock buildPartial() {
        if (result == null) {
          throw new IllegalStateException(
            "build() has already been called on this Builder.");
        }
        if (result.entries_ != java.util.Collections.EMPTY_LIST) {
          result.entries_ =
            java.util.Collections.unmodifiableList(result.entries_);
        }
        voldemort.client.protocol.pb.VProto.VectorClock returnMe = result;
        result = null;
        return returnMe;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof voldemort.client.protocol.pb.VProto.VectorClock) {
          return mergeFrom((voldemort.client.protocol.pb.VProto.VectorClock)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(voldemort.client.protocol.pb.VProto.VectorClock other) {
        if (other == voldemort.client.protocol.pb.VProto.VectorClock.getDefaultInstance()) return this;
        if (!other.entries_.isEmpty()) {
          if (result.entries_.isEmpty()) {
            result.entries_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.ClockEntry>();
          }
          result.entries_.addAll(other.entries_);
        }
        if (other.hasTimestamp()) {
          setTimestamp(other.getTimestamp());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                return this;
              }
              break;
            }
            case 10: {
              voldemort.client.protocol.pb.VProto.ClockEntry.Builder subBuilder = voldemort.client.protocol.pb.VProto.ClockEntry.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addEntries(subBuilder.buildPartial());
              break;
            }
            case 16: {
              setTimestamp(input.readInt64());
              break;
            }
          }
        }
      }
      
      
      // repeated .voldemort.ClockEntry entries = 1;
      public java.util.List<voldemort.client.protocol.pb.VProto.ClockEntry> getEntriesList() {
        return java.util.Collections.unmodifiableList(result.entries_);
      }
      public int getEntriesCount() {
        return result.getEntriesCount();
      }
      public voldemort.client.protocol.pb.VProto.ClockEntry getEntries(int index) {
        return result.getEntries(index);
      }
      public Builder setEntries(int index, voldemort.client.protocol.pb.VProto.ClockEntry value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.entries_.set(index, value);
        return this;
      }
      public Builder setEntries(int index, voldemort.client.protocol.pb.VProto.ClockEntry.Builder builderForValue) {
        result.entries_.set(index, builderForValue.build());
        return this;
      }
      public Builder addEntries(voldemort.client.protocol.pb.VProto.ClockEntry value) {
        if (value == null) {
          throw new NullPointerException();
        }
        if (result.entries_.isEmpty()) {
          result.entries_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.ClockEntry>();
        }
        result.entries_.add(value);
        return this;
      }
      public Builder addEntries(voldemort.client.protocol.pb.VProto.ClockEntry.Builder builderForValue) {
        if (result.entries_.isEmpty()) {
          result.entries_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.ClockEntry>();
        }
        result.entries_.add(builderForValue.build());
        return this;
      }
      public Builder addAllEntries(
          java.lang.Iterable<? extends voldemort.client.protocol.pb.VProto.ClockEntry> values) {
        if (result.entries_.isEmpty()) {
          result.entries_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.ClockEntry>();
        }
        super.addAll(values, result.entries_);
        return this;
      }
      public Builder clearEntries() {
        result.entries_ = java.util.Collections.emptyList();
        return this;
      }
      
      // optional int64 timestamp = 2;
      public boolean hasTimestamp() {
        return result.hasTimestamp();
      }
      public long getTimestamp() {
        return result.getTimestamp();
      }
      public Builder setTimestamp(long value) {
        result.hasTimestamp = true;
        result.timestamp_ = value;
        return this;
      }
      public Builder clearTimestamp() {
        result.hasTimestamp = false;
        result.timestamp_ = 0L;
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:voldemort.VectorClock)
    }
    
    static {
      defaultInstance = new VectorClock(true);
      voldemort.client.protocol.pb.VProto.internalForceInit();
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:voldemort.VectorClock)
  }
  
  public static final class Versioned extends
      com.google.protobuf.GeneratedMessage {
    // Use Versioned.newBuilder() to construct.
    private Versioned() {
      initFields();
    }
    private Versioned(boolean noInit) {}
    
    private static final Versioned defaultInstance;
    public static Versioned getDefaultInstance() {
      return defaultInstance;
    }
    
    public Versioned getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_Versioned_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_Versioned_fieldAccessorTable;
    }
    
    // required bytes value = 1;
    public static final int VALUE_FIELD_NUMBER = 1;
    private boolean hasValue;
    private com.google.protobuf.ByteString value_ = com.google.protobuf.ByteString.EMPTY;
    public boolean hasValue() { return hasValue; }
    public com.google.protobuf.ByteString getValue() { return value_; }
    
    // required .voldemort.VectorClock version = 2;
    public static final int VERSION_FIELD_NUMBER = 2;
    private boolean hasVersion;
    private voldemort.client.protocol.pb.VProto.VectorClock version_;
    public boolean hasVersion() { return hasVersion; }
    public voldemort.client.protocol.pb.VProto.VectorClock getVersion() { return version_; }
    
    private void initFields() {
      version_ = voldemort.client.protocol.pb.VProto.VectorClock.getDefaultInstance();
    }
    public final boolean isInitialized() {
      if (!hasValue) return false;
      if (!hasVersion) return false;
      if (!getVersion().isInitialized()) return false;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (hasValue()) {
        output.writeBytes(1, getValue());
      }
      if (hasVersion()) {
        output.writeMessage(2, getVersion());
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (hasValue()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getValue());
      }
      if (hasVersion()) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getVersion());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    public static voldemort.client.protocol.pb.VProto.Versioned parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.Versioned parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.Versioned parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.Versioned parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.Versioned parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.Versioned parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.Versioned parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.Versioned parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.Versioned parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.Versioned parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(voldemort.client.protocol.pb.VProto.Versioned prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> {
      private voldemort.client.protocol.pb.VProto.Versioned result;
      
      // Construct using voldemort.client.protocol.pb.VProto.Versioned.newBuilder()
      private Builder() {}
      
      private static Builder create() {
        Builder builder = new Builder();
        builder.result = new voldemort.client.protocol.pb.VProto.Versioned();
        return builder;
      }
      
      protected voldemort.client.protocol.pb.VProto.Versioned internalGetResult() {
        return result;
      }
      
      public Builder clear() {
        if (result == null) {
          throw new IllegalStateException(
            "Cannot call clear() after build().");
        }
        result = new voldemort.client.protocol.pb.VProto.Versioned();
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(result);
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return voldemort.client.protocol.pb.VProto.Versioned.getDescriptor();
      }
      
      public voldemort.client.protocol.pb.VProto.Versioned getDefaultInstanceForType() {
        return voldemort.client.protocol.pb.VProto.Versioned.getDefaultInstance();
      }
      
      public boolean isInitialized() {
        return result.isInitialized();
      }
      public voldemort.client.protocol.pb.VProto.Versioned build() {
        if (result != null && !isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return buildPartial();
      }
      
      private voldemort.client.protocol.pb.VProto.Versioned buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        if (!isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return buildPartial();
      }
      
      public voldemort.client.protocol.pb.VProto.Versioned buildPartial() {
        if (result == null) {
          throw new IllegalStateException(
            "build() has already been called on this Builder.");
        }
        voldemort.client.protocol.pb.VProto.Versioned returnMe = result;
        result = null;
        return returnMe;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof voldemort.client.protocol.pb.VProto.Versioned) {
          return mergeFrom((voldemort.client.protocol.pb.VProto.Versioned)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(voldemort.client.protocol.pb.VProto.Versioned other) {
        if (other == voldemort.client.protocol.pb.VProto.Versioned.getDefaultInstance()) return this;
        if (other.hasValue()) {
          setValue(other.getValue());
        }
        if (other.hasVersion()) {
          mergeVersion(other.getVersion());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                return this;
              }
              break;
            }
            case 10: {
              setValue(input.readBytes());
              break;
            }
            case 18: {
              voldemort.client.protocol.pb.VProto.VectorClock.Builder subBuilder = voldemort.client.protocol.pb.VProto.VectorClock.newBuilder();
              if (hasVersion()) {
                subBuilder.mergeFrom(getVersion());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setVersion(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      
      // required bytes value = 1;
      public boolean hasValue() {
        return result.hasValue();
      }
      public com.google.protobuf.ByteString getValue() {
        return result.getValue();
      }
      public Builder setValue(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  result.hasValue = true;
        result.value_ = value;
        return this;
      }
      public Builder clearValue() {
        result.hasValue = false;
        result.value_ = getDefaultInstance().getValue();
        return this;
      }
      
      // required .voldemort.VectorClock version = 2;
      public boolean hasVersion() {
        return result.hasVersion();
      }
      public voldemort.client.protocol.pb.VProto.VectorClock getVersion() {
        return result.getVersion();
      }
      public Builder setVersion(voldemort.client.protocol.pb.VProto.VectorClock value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.hasVersion = true;
        result.version_ = value;
        return this;
      }
      public Builder setVersion(voldemort.client.protocol.pb.VProto.VectorClock.Builder builderForValue) {
        result.hasVersion = true;
        result.version_ = builderForValue.build();
        return this;
      }
      public Builder mergeVersion(voldemort.client.protocol.pb.VProto.VectorClock value) {
        if (result.hasVersion() &&
            result.version_ != voldemort.client.protocol.pb.VProto.VectorClock.getDefaultInstance()) {
          result.version_ =
            voldemort.client.protocol.pb.VProto.VectorClock.newBuilder(result.version_).mergeFrom(value).buildPartial();
        } else {
          result.version_ = value;
        }
        result.hasVersion = true;
        return this;
      }
      public Builder clearVersion() {
        result.hasVersion = false;
        result.version_ = voldemort.client.protocol.pb.VProto.VectorClock.getDefaultInstance();
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:voldemort.Versioned)
    }
    
    static {
      defaultInstance = new Versioned(true);
      voldemort.client.protocol.pb.VProto.internalForceInit();
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:voldemort.Versioned)
  }
  
  public static final class Error extends
      com.google.protobuf.GeneratedMessage {
    // Use Error.newBuilder() to construct.
    private Error() {
      initFields();
    }
    private Error(boolean noInit) {}
    
    private static final Error defaultInstance;
    public static Error getDefaultInstance() {
      return defaultInstance;
    }
    
    public Error getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_Error_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_Error_fieldAccessorTable;
    }
    
    // required int32 error_code = 1;
    public static final int ERROR_CODE_FIELD_NUMBER = 1;
    private boolean hasErrorCode;
    private int errorCode_ = 0;
    public boolean hasErrorCode() { return hasErrorCode; }
    public int getErrorCode() { return errorCode_; }
    
    // required string error_message = 2;
    public static final int ERROR_MESSAGE_FIELD_NUMBER = 2;
    private boolean hasErrorMessage;
    private java.lang.String errorMessage_ = "";
    public boolean hasErrorMessage() { return hasErrorMessage; }
    public java.lang.String getErrorMessage() { return errorMessage_; }
    
    private void initFields() {
    }
    public final boolean isInitialized() {
      if (!hasErrorCode) return false;
      if (!hasErrorMessage) return false;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (hasErrorCode()) {
        output.writeInt32(1, getErrorCode());
      }
      if (hasErrorMessage()) {
        output.writeString(2, getErrorMessage());
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (hasErrorCode()) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, getErrorCode());
      }
      if (hasErrorMessage()) {
        size += com.google.protobuf.CodedOutputStream
          .computeStringSize(2, getErrorMessage());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    public static voldemort.client.protocol.pb.VProto.Error parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.Error parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.Error parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.Error parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.Error parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.Error parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.Error parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.Error parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.Error parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.Error parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(voldemort.client.protocol.pb.VProto.Error prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> {
      private voldemort.client.protocol.pb.VProto.Error result;
      
      // Construct using voldemort.client.protocol.pb.VProto.Error.newBuilder()
      private Builder() {}
      
      private static Builder create() {
        Builder builder = new Builder();
        builder.result = new voldemort.client.protocol.pb.VProto.Error();
        return builder;
      }
      
      protected voldemort.client.protocol.pb.VProto.Error internalGetResult() {
        return result;
      }
      
      public Builder clear() {
        if (result == null) {
          throw new IllegalStateException(
            "Cannot call clear() after build().");
        }
        result = new voldemort.client.protocol.pb.VProto.Error();
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(result);
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return voldemort.client.protocol.pb.VProto.Error.getDescriptor();
      }
      
      public voldemort.client.protocol.pb.VProto.Error getDefaultInstanceForType() {
        return voldemort.client.protocol.pb.VProto.Error.getDefaultInstance();
      }
      
      public boolean isInitialized() {
        return result.isInitialized();
      }
      public voldemort.client.protocol.pb.VProto.Error build() {
        if (result != null && !isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return buildPartial();
      }
      
      private voldemort.client.protocol.pb.VProto.Error buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        if (!isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return buildPartial();
      }
      
      public voldemort.client.protocol.pb.VProto.Error buildPartial() {
        if (result == null) {
          throw new IllegalStateException(
            "build() has already been called on this Builder.");
        }
        voldemort.client.protocol.pb.VProto.Error returnMe = result;
        result = null;
        return returnMe;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof voldemort.client.protocol.pb.VProto.Error) {
          return mergeFrom((voldemort.client.protocol.pb.VProto.Error)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(voldemort.client.protocol.pb.VProto.Error other) {
        if (other == voldemort.client.protocol.pb.VProto.Error.getDefaultInstance()) return this;
        if (other.hasErrorCode()) {
          setErrorCode(other.getErrorCode());
        }
        if (other.hasErrorMessage()) {
          setErrorMessage(other.getErrorMessage());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                return this;
              }
              break;
            }
            case 8: {
              setErrorCode(input.readInt32());
              break;
            }
            case 18: {
              setErrorMessage(input.readString());
              break;
            }
          }
        }
      }
      
      
      // required int32 error_code = 1;
      public boolean hasErrorCode() {
        return result.hasErrorCode();
      }
      public int getErrorCode() {
        return result.getErrorCode();
      }
      public Builder setErrorCode(int value) {
        result.hasErrorCode = true;
        result.errorCode_ = value;
        return this;
      }
      public Builder clearErrorCode() {
        result.hasErrorCode = false;
        result.errorCode_ = 0;
        return this;
      }
      
      // required string error_message = 2;
      public boolean hasErrorMessage() {
        return result.hasErrorMessage();
      }
      public java.lang.String getErrorMessage() {
        return result.getErrorMessage();
      }
      public Builder setErrorMessage(java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  result.hasErrorMessage = true;
        result.errorMessage_ = value;
        return this;
      }
      public Builder clearErrorMessage() {
        result.hasErrorMessage = false;
        result.errorMessage_ = getDefaultInstance().getErrorMessage();
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:voldemort.Error)
    }
    
    static {
      defaultInstance = new Error(true);
      voldemort.client.protocol.pb.VProto.internalForceInit();
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:voldemort.Error)
  }
  
  public static final class KeyedVersions extends
      com.google.protobuf.GeneratedMessage {
    // Use KeyedVersions.newBuilder() to construct.
    private KeyedVersions() {
      initFields();
    }
    private KeyedVersions(boolean noInit) {}
    
    private static final KeyedVersions defaultInstance;
    public static KeyedVersions getDefaultInstance() {
      return defaultInstance;
    }
    
    public KeyedVersions getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_KeyedVersions_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_KeyedVersions_fieldAccessorTable;
    }
    
    // required bytes key = 1;
    public static final int KEY_FIELD_NUMBER = 1;
    private boolean hasKey;
    private com.google.protobuf.ByteString key_ = com.google.protobuf.ByteString.EMPTY;
    public boolean hasKey() { return hasKey; }
    public com.google.protobuf.ByteString getKey() { return key_; }
    
    // repeated .voldemort.Versioned versions = 2;
    public static final int VERSIONS_FIELD_NUMBER = 2;
    private java.util.List<voldemort.client.protocol.pb.VProto.Versioned> versions_ =
      java.util.Collections.emptyList();
    public java.util.List<voldemort.client.protocol.pb.VProto.Versioned> getVersionsList() {
      return versions_;
    }
    public int getVersionsCount() { return versions_.size(); }
    public voldemort.client.protocol.pb.VProto.Versioned getVersions(int index) {
      return versions_.get(index);
    }
    
    private void initFields() {
    }
    public final boolean isInitialized() {
      if (!hasKey) return false;
      for (voldemort.client.protocol.pb.VProto.Versioned element : getVersionsList()) {
        if (!element.isInitialized()) return false;
      }
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (hasKey()) {
        output.writeBytes(1, getKey());
      }
      for (voldemort.client.protocol.pb.VProto.Versioned element : getVersionsList()) {
        output.writeMessage(2, element);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (hasKey()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getKey());
      }
      for (voldemort.client.protocol.pb.VProto.Versioned element : getVersionsList()) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, element);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    public static voldemort.client.protocol.pb.VProto.KeyedVersions parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.KeyedVersions parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.KeyedVersions parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.KeyedVersions parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.KeyedVersions parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.KeyedVersions parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.KeyedVersions parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.KeyedVersions parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.KeyedVersions parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.KeyedVersions parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(voldemort.client.protocol.pb.VProto.KeyedVersions prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> {
      private voldemort.client.protocol.pb.VProto.KeyedVersions result;
      
      // Construct using voldemort.client.protocol.pb.VProto.KeyedVersions.newBuilder()
      private Builder() {}
      
      private static Builder create() {
        Builder builder = new Builder();
        builder.result = new voldemort.client.protocol.pb.VProto.KeyedVersions();
        return builder;
      }
      
      protected voldemort.client.protocol.pb.VProto.KeyedVersions internalGetResult() {
        return result;
      }
      
      public Builder clear() {
        if (result == null) {
          throw new IllegalStateException(
            "Cannot call clear() after build().");
        }
        result = new voldemort.client.protocol.pb.VProto.KeyedVersions();
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(result);
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return voldemort.client.protocol.pb.VProto.KeyedVersions.getDescriptor();
      }
      
      public voldemort.client.protocol.pb.VProto.KeyedVersions getDefaultInstanceForType() {
        return voldemort.client.protocol.pb.VProto.KeyedVersions.getDefaultInstance();
      }
      
      public boolean isInitialized() {
        return result.isInitialized();
      }
      public voldemort.client.protocol.pb.VProto.KeyedVersions build() {
        if (result != null && !isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return buildPartial();
      }
      
      private voldemort.client.protocol.pb.VProto.KeyedVersions buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        if (!isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return buildPartial();
      }
      
      public voldemort.client.protocol.pb.VProto.KeyedVersions buildPartial() {
        if (result == null) {
          throw new IllegalStateException(
            "build() has already been called on this Builder.");
        }
        if (result.versions_ != java.util.Collections.EMPTY_LIST) {
          result.versions_ =
            java.util.Collections.unmodifiableList(result.versions_);
        }
        voldemort.client.protocol.pb.VProto.KeyedVersions returnMe = result;
        result = null;
        return returnMe;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof voldemort.client.protocol.pb.VProto.KeyedVersions) {
          return mergeFrom((voldemort.client.protocol.pb.VProto.KeyedVersions)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(voldemort.client.protocol.pb.VProto.KeyedVersions other) {
        if (other == voldemort.client.protocol.pb.VProto.KeyedVersions.getDefaultInstance()) return this;
        if (other.hasKey()) {
          setKey(other.getKey());
        }
        if (!other.versions_.isEmpty()) {
          if (result.versions_.isEmpty()) {
            result.versions_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.Versioned>();
          }
          result.versions_.addAll(other.versions_);
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                return this;
              }
              break;
            }
            case 10: {
              setKey(input.readBytes());
              break;
            }
            case 18: {
              voldemort.client.protocol.pb.VProto.Versioned.Builder subBuilder = voldemort.client.protocol.pb.VProto.Versioned.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addVersions(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      
      // required bytes key = 1;
      public boolean hasKey() {
        return result.hasKey();
      }
      public com.google.protobuf.ByteString getKey() {
        return result.getKey();
      }
      public Builder setKey(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  result.hasKey = true;
        result.key_ = value;
        return this;
      }
      public Builder clearKey() {
        result.hasKey = false;
        result.key_ = getDefaultInstance().getKey();
        return this;
      }
      
      // repeated .voldemort.Versioned versions = 2;
      public java.util.List<voldemort.client.protocol.pb.VProto.Versioned> getVersionsList() {
        return java.util.Collections.unmodifiableList(result.versions_);
      }
      public int getVersionsCount() {
        return result.getVersionsCount();
      }
      public voldemort.client.protocol.pb.VProto.Versioned getVersions(int index) {
        return result.getVersions(index);
      }
      public Builder setVersions(int index, voldemort.client.protocol.pb.VProto.Versioned value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.versions_.set(index, value);
        return this;
      }
      public Builder setVersions(int index, voldemort.client.protocol.pb.VProto.Versioned.Builder builderForValue) {
        result.versions_.set(index, builderForValue.build());
        return this;
      }
      public Builder addVersions(voldemort.client.protocol.pb.VProto.Versioned value) {
        if (value == null) {
          throw new NullPointerException();
        }
        if (result.versions_.isEmpty()) {
          result.versions_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.Versioned>();
        }
        result.versions_.add(value);
        return this;
      }
      public Builder addVersions(voldemort.client.protocol.pb.VProto.Versioned.Builder builderForValue) {
        if (result.versions_.isEmpty()) {
          result.versions_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.Versioned>();
        }
        result.versions_.add(builderForValue.build());
        return this;
      }
      public Builder addAllVersions(
          java.lang.Iterable<? extends voldemort.client.protocol.pb.VProto.Versioned> values) {
        if (result.versions_.isEmpty()) {
          result.versions_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.Versioned>();
        }
        super.addAll(values, result.versions_);
        return this;
      }
      public Builder clearVersions() {
        result.versions_ = java.util.Collections.emptyList();
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:voldemort.KeyedVersions)
    }
    
    static {
      defaultInstance = new KeyedVersions(true);
      voldemort.client.protocol.pb.VProto.internalForceInit();
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:voldemort.KeyedVersions)
  }
  
  public static final class GetRequest extends
      com.google.protobuf.GeneratedMessage {
    // Use GetRequest.newBuilder() to construct.
    private GetRequest() {
      initFields();
    }
    private GetRequest(boolean noInit) {}
    
    private static final GetRequest defaultInstance;
    public static GetRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public GetRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_GetRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_GetRequest_fieldAccessorTable;
    }
    
    // optional bytes key = 1;
    public static final int KEY_FIELD_NUMBER = 1;
    private boolean hasKey;
    private com.google.protobuf.ByteString key_ = com.google.protobuf.ByteString.EMPTY;
    public boolean hasKey() { return hasKey; }
    public com.google.protobuf.ByteString getKey() { return key_; }
    
    // optional bytes transforms = 2;
    public static final int TRANSFORMS_FIELD_NUMBER = 2;
    private boolean hasTransforms;
    private com.google.protobuf.ByteString transforms_ = com.google.protobuf.ByteString.EMPTY;
    public boolean hasTransforms() { return hasTransforms; }
    public com.google.protobuf.ByteString getTransforms() { return transforms_; }
    
    private void initFields() {
    }
    public final boolean isInitialized() {
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (hasKey()) {
        output.writeBytes(1, getKey());
      }
      if (hasTransforms()) {
        output.writeBytes(2, getTransforms());
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (hasKey()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getKey());
      }
      if (hasTransforms()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getTransforms());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    public static voldemort.client.protocol.pb.VProto.GetRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.GetRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.GetRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(voldemort.client.protocol.pb.VProto.GetRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> {
      private voldemort.client.protocol.pb.VProto.GetRequest result;
      
      // Construct using voldemort.client.protocol.pb.VProto.GetRequest.newBuilder()
      private Builder() {}
      
      private static Builder create() {
        Builder builder = new Builder();
        builder.result = new voldemort.client.protocol.pb.VProto.GetRequest();
        return builder;
      }
      
      protected voldemort.client.protocol.pb.VProto.GetRequest internalGetResult() {
        return result;
      }
      
      public Builder clear() {
        if (result == null) {
          throw new IllegalStateException(
            "Cannot call clear() after build().");
        }
        result = new voldemort.client.protocol.pb.VProto.GetRequest();
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(result);
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return voldemort.client.protocol.pb.VProto.GetRequest.getDescriptor();
      }
      
      public voldemort.client.protocol.pb.VProto.GetRequest getDefaultInstanceForType() {
        return voldemort.client.protocol.pb.VProto.GetRequest.getDefaultInstance();
      }
      
      public boolean isInitialized() {
        return result.isInitialized();
      }
      public voldemort.client.protocol.pb.VProto.GetRequest build() {
        if (result != null && !isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return buildPartial();
      }
      
      private voldemort.client.protocol.pb.VProto.GetRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        if (!isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return buildPartial();
      }
      
      public voldemort.client.protocol.pb.VProto.GetRequest buildPartial() {
        if (result == null) {
          throw new IllegalStateException(
            "build() has already been called on this Builder.");
        }
        voldemort.client.protocol.pb.VProto.GetRequest returnMe = result;
        result = null;
        return returnMe;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof voldemort.client.protocol.pb.VProto.GetRequest) {
          return mergeFrom((voldemort.client.protocol.pb.VProto.GetRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(voldemort.client.protocol.pb.VProto.GetRequest other) {
        if (other == voldemort.client.protocol.pb.VProto.GetRequest.getDefaultInstance()) return this;
        if (other.hasKey()) {
          setKey(other.getKey());
        }
        if (other.hasTransforms()) {
          setTransforms(other.getTransforms());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                return this;
              }
              break;
            }
            case 10: {
              setKey(input.readBytes());
              break;
            }
            case 18: {
              setTransforms(input.readBytes());
              break;
            }
          }
        }
      }
      
      
      // optional bytes key = 1;
      public boolean hasKey() {
        return result.hasKey();
      }
      public com.google.protobuf.ByteString getKey() {
        return result.getKey();
      }
      public Builder setKey(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  result.hasKey = true;
        result.key_ = value;
        return this;
      }
      public Builder clearKey() {
        result.hasKey = false;
        result.key_ = getDefaultInstance().getKey();
        return this;
      }
      
      // optional bytes transforms = 2;
      public boolean hasTransforms() {
        return result.hasTransforms();
      }
      public com.google.protobuf.ByteString getTransforms() {
        return result.getTransforms();
      }
      public Builder setTransforms(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  result.hasTransforms = true;
        result.transforms_ = value;
        return this;
      }
      public Builder clearTransforms() {
        result.hasTransforms = false;
        result.transforms_ = getDefaultInstance().getTransforms();
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:voldemort.GetRequest)
    }
    
    static {
      defaultInstance = new GetRequest(true);
      voldemort.client.protocol.pb.VProto.internalForceInit();
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:voldemort.GetRequest)
  }
  
  public static final class GetResponse extends
      com.google.protobuf.GeneratedMessage {
    // Use GetResponse.newBuilder() to construct.
    private GetResponse() {
      initFields();
    }
    private GetResponse(boolean noInit) {}
    
    private static final GetResponse defaultInstance;
    public static GetResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public GetResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_GetResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_GetResponse_fieldAccessorTable;
    }
    
    // repeated .voldemort.Versioned versioned = 1;
    public static final int VERSIONED_FIELD_NUMBER = 1;
    private java.util.List<voldemort.client.protocol.pb.VProto.Versioned> versioned_ =
      java.util.Collections.emptyList();
    public java.util.List<voldemort.client.protocol.pb.VProto.Versioned> getVersionedList() {
      return versioned_;
    }
    public int getVersionedCount() { return versioned_.size(); }
    public voldemort.client.protocol.pb.VProto.Versioned getVersioned(int index) {
      return versioned_.get(index);
    }
    
    // optional .voldemort.Error error = 2;
    public static final int ERROR_FIELD_NUMBER = 2;
    private boolean hasError;
    private voldemort.client.protocol.pb.VProto.Error error_;
    public boolean hasError() { return hasError; }
    public voldemort.client.protocol.pb.VProto.Error getError() { return error_; }
    
    private void initFields() {
      error_ = voldemort.client.protocol.pb.VProto.Error.getDefaultInstance();
    }
    public final boolean isInitialized() {
      for (voldemort.client.protocol.pb.VProto.Versioned element : getVersionedList()) {
        if (!element.isInitialized()) return false;
      }
      if (hasError()) {
        if (!getError().isInitialized()) return false;
      }
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (voldemort.client.protocol.pb.VProto.Versioned element : getVersionedList()) {
        output.writeMessage(1, element);
      }
      if (hasError()) {
        output.writeMessage(2, getError());
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      for (voldemort.client.protocol.pb.VProto.Versioned element : getVersionedList()) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, element);
      }
      if (hasError()) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getError());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    public static voldemort.client.protocol.pb.VProto.GetResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.GetResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.GetResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(voldemort.client.protocol.pb.VProto.GetResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> {
      private voldemort.client.protocol.pb.VProto.GetResponse result;
      
      // Construct using voldemort.client.protocol.pb.VProto.GetResponse.newBuilder()
      private Builder() {}
      
      private static Builder create() {
        Builder builder = new Builder();
        builder.result = new voldemort.client.protocol.pb.VProto.GetResponse();
        return builder;
      }
      
      protected voldemort.client.protocol.pb.VProto.GetResponse internalGetResult() {
        return result;
      }
      
      public Builder clear() {
        if (result == null) {
          throw new IllegalStateException(
            "Cannot call clear() after build().");
        }
        result = new voldemort.client.protocol.pb.VProto.GetResponse();
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(result);
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return voldemort.client.protocol.pb.VProto.GetResponse.getDescriptor();
      }
      
      public voldemort.client.protocol.pb.VProto.GetResponse getDefaultInstanceForType() {
        return voldemort.client.protocol.pb.VProto.GetResponse.getDefaultInstance();
      }
      
      public boolean isInitialized() {
        return result.isInitialized();
      }
      public voldemort.client.protocol.pb.VProto.GetResponse build() {
        if (result != null && !isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return buildPartial();
      }
      
      private voldemort.client.protocol.pb.VProto.GetResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        if (!isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return buildPartial();
      }
      
      public voldemort.client.protocol.pb.VProto.GetResponse buildPartial() {
        if (result == null) {
          throw new IllegalStateException(
            "build() has already been called on this Builder.");
        }
        if (result.versioned_ != java.util.Collections.EMPTY_LIST) {
          result.versioned_ =
            java.util.Collections.unmodifiableList(result.versioned_);
        }
        voldemort.client.protocol.pb.VProto.GetResponse returnMe = result;
        result = null;
        return returnMe;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof voldemort.client.protocol.pb.VProto.GetResponse) {
          return mergeFrom((voldemort.client.protocol.pb.VProto.GetResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(voldemort.client.protocol.pb.VProto.GetResponse other) {
        if (other == voldemort.client.protocol.pb.VProto.GetResponse.getDefaultInstance()) return this;
        if (!other.versioned_.isEmpty()) {
          if (result.versioned_.isEmpty()) {
            result.versioned_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.Versioned>();
          }
          result.versioned_.addAll(other.versioned_);
        }
        if (other.hasError()) {
          mergeError(other.getError());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                return this;
              }
              break;
            }
            case 10: {
              voldemort.client.protocol.pb.VProto.Versioned.Builder subBuilder = voldemort.client.protocol.pb.VProto.Versioned.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addVersioned(subBuilder.buildPartial());
              break;
            }
            case 18: {
              voldemort.client.protocol.pb.VProto.Error.Builder subBuilder = voldemort.client.protocol.pb.VProto.Error.newBuilder();
              if (hasError()) {
                subBuilder.mergeFrom(getError());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setError(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      
      // repeated .voldemort.Versioned versioned = 1;
      public java.util.List<voldemort.client.protocol.pb.VProto.Versioned> getVersionedList() {
        return java.util.Collections.unmodifiableList(result.versioned_);
      }
      public int getVersionedCount() {
        return result.getVersionedCount();
      }
      public voldemort.client.protocol.pb.VProto.Versioned getVersioned(int index) {
        return result.getVersioned(index);
      }
      public Builder setVersioned(int index, voldemort.client.protocol.pb.VProto.Versioned value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.versioned_.set(index, value);
        return this;
      }
      public Builder setVersioned(int index, voldemort.client.protocol.pb.VProto.Versioned.Builder builderForValue) {
        result.versioned_.set(index, builderForValue.build());
        return this;
      }
      public Builder addVersioned(voldemort.client.protocol.pb.VProto.Versioned value) {
        if (value == null) {
          throw new NullPointerException();
        }
        if (result.versioned_.isEmpty()) {
          result.versioned_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.Versioned>();
        }
        result.versioned_.add(value);
        return this;
      }
      public Builder addVersioned(voldemort.client.protocol.pb.VProto.Versioned.Builder builderForValue) {
        if (result.versioned_.isEmpty()) {
          result.versioned_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.Versioned>();
        }
        result.versioned_.add(builderForValue.build());
        return this;
      }
      public Builder addAllVersioned(
          java.lang.Iterable<? extends voldemort.client.protocol.pb.VProto.Versioned> values) {
        if (result.versioned_.isEmpty()) {
          result.versioned_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.Versioned>();
        }
        super.addAll(values, result.versioned_);
        return this;
      }
      public Builder clearVersioned() {
        result.versioned_ = java.util.Collections.emptyList();
        return this;
      }
      
      // optional .voldemort.Error error = 2;
      public boolean hasError() {
        return result.hasError();
      }
      public voldemort.client.protocol.pb.VProto.Error getError() {
        return result.getError();
      }
      public Builder setError(voldemort.client.protocol.pb.VProto.Error value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.hasError = true;
        result.error_ = value;
        return this;
      }
      public Builder setError(voldemort.client.protocol.pb.VProto.Error.Builder builderForValue) {
        result.hasError = true;
        result.error_ = builderForValue.build();
        return this;
      }
      public Builder mergeError(voldemort.client.protocol.pb.VProto.Error value) {
        if (result.hasError() &&
            result.error_ != voldemort.client.protocol.pb.VProto.Error.getDefaultInstance()) {
          result.error_ =
            voldemort.client.protocol.pb.VProto.Error.newBuilder(result.error_).mergeFrom(value).buildPartial();
        } else {
          result.error_ = value;
        }
        result.hasError = true;
        return this;
      }
      public Builder clearError() {
        result.hasError = false;
        result.error_ = voldemort.client.protocol.pb.VProto.Error.getDefaultInstance();
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:voldemort.GetResponse)
    }
    
    static {
      defaultInstance = new GetResponse(true);
      voldemort.client.protocol.pb.VProto.internalForceInit();
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:voldemort.GetResponse)
  }
  
  public static final class GetVersionResponse extends
      com.google.protobuf.GeneratedMessage {
    // Use GetVersionResponse.newBuilder() to construct.
    private GetVersionResponse() {
      initFields();
    }
    private GetVersionResponse(boolean noInit) {}
    
    private static final GetVersionResponse defaultInstance;
    public static GetVersionResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public GetVersionResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_GetVersionResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_GetVersionResponse_fieldAccessorTable;
    }
    
    // repeated .voldemort.VectorClock versions = 1;
    public static final int VERSIONS_FIELD_NUMBER = 1;
    private java.util.List<voldemort.client.protocol.pb.VProto.VectorClock> versions_ =
      java.util.Collections.emptyList();
    public java.util.List<voldemort.client.protocol.pb.VProto.VectorClock> getVersionsList() {
      return versions_;
    }
    public int getVersionsCount() { return versions_.size(); }
    public voldemort.client.protocol.pb.VProto.VectorClock getVersions(int index) {
      return versions_.get(index);
    }
    
    // optional .voldemort.Error error = 2;
    public static final int ERROR_FIELD_NUMBER = 2;
    private boolean hasError;
    private voldemort.client.protocol.pb.VProto.Error error_;
    public boolean hasError() { return hasError; }
    public voldemort.client.protocol.pb.VProto.Error getError() { return error_; }
    
    private void initFields() {
      error_ = voldemort.client.protocol.pb.VProto.Error.getDefaultInstance();
    }
    public final boolean isInitialized() {
      for (voldemort.client.protocol.pb.VProto.VectorClock element : getVersionsList()) {
        if (!element.isInitialized()) return false;
      }
      if (hasError()) {
        if (!getError().isInitialized()) return false;
      }
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (voldemort.client.protocol.pb.VProto.VectorClock element : getVersionsList()) {
        output.writeMessage(1, element);
      }
      if (hasError()) {
        output.writeMessage(2, getError());
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      for (voldemort.client.protocol.pb.VProto.VectorClock element : getVersionsList()) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, element);
      }
      if (hasError()) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getError());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    public static voldemort.client.protocol.pb.VProto.GetVersionResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetVersionResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetVersionResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetVersionResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetVersionResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetVersionResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetVersionResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.GetVersionResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.GetVersionResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetVersionResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(voldemort.client.protocol.pb.VProto.GetVersionResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> {
      private voldemort.client.protocol.pb.VProto.GetVersionResponse result;
      
      // Construct using voldemort.client.protocol.pb.VProto.GetVersionResponse.newBuilder()
      private Builder() {}
      
      private static Builder create() {
        Builder builder = new Builder();
        builder.result = new voldemort.client.protocol.pb.VProto.GetVersionResponse();
        return builder;
      }
      
      protected voldemort.client.protocol.pb.VProto.GetVersionResponse internalGetResult() {
        return result;
      }
      
      public Builder clear() {
        if (result == null) {
          throw new IllegalStateException(
            "Cannot call clear() after build().");
        }
        result = new voldemort.client.protocol.pb.VProto.GetVersionResponse();
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(result);
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return voldemort.client.protocol.pb.VProto.GetVersionResponse.getDescriptor();
      }
      
      public voldemort.client.protocol.pb.VProto.GetVersionResponse getDefaultInstanceForType() {
        return voldemort.client.protocol.pb.VProto.GetVersionResponse.getDefaultInstance();
      }
      
      public boolean isInitialized() {
        return result.isInitialized();
      }
      public voldemort.client.protocol.pb.VProto.GetVersionResponse build() {
        if (result != null && !isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return buildPartial();
      }
      
      private voldemort.client.protocol.pb.VProto.GetVersionResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        if (!isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return buildPartial();
      }
      
      public voldemort.client.protocol.pb.VProto.GetVersionResponse buildPartial() {
        if (result == null) {
          throw new IllegalStateException(
            "build() has already been called on this Builder.");
        }
        if (result.versions_ != java.util.Collections.EMPTY_LIST) {
          result.versions_ =
            java.util.Collections.unmodifiableList(result.versions_);
        }
        voldemort.client.protocol.pb.VProto.GetVersionResponse returnMe = result;
        result = null;
        return returnMe;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof voldemort.client.protocol.pb.VProto.GetVersionResponse) {
          return mergeFrom((voldemort.client.protocol.pb.VProto.GetVersionResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(voldemort.client.protocol.pb.VProto.GetVersionResponse other) {
        if (other == voldemort.client.protocol.pb.VProto.GetVersionResponse.getDefaultInstance()) return this;
        if (!other.versions_.isEmpty()) {
          if (result.versions_.isEmpty()) {
            result.versions_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.VectorClock>();
          }
          result.versions_.addAll(other.versions_);
        }
        if (other.hasError()) {
          mergeError(other.getError());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                return this;
              }
              break;
            }
            case 10: {
              voldemort.client.protocol.pb.VProto.VectorClock.Builder subBuilder = voldemort.client.protocol.pb.VProto.VectorClock.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addVersions(subBuilder.buildPartial());
              break;
            }
            case 18: {
              voldemort.client.protocol.pb.VProto.Error.Builder subBuilder = voldemort.client.protocol.pb.VProto.Error.newBuilder();
              if (hasError()) {
                subBuilder.mergeFrom(getError());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setError(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      
      // repeated .voldemort.VectorClock versions = 1;
      public java.util.List<voldemort.client.protocol.pb.VProto.VectorClock> getVersionsList() {
        return java.util.Collections.unmodifiableList(result.versions_);
      }
      public int getVersionsCount() {
        return result.getVersionsCount();
      }
      public voldemort.client.protocol.pb.VProto.VectorClock getVersions(int index) {
        return result.getVersions(index);
      }
      public Builder setVersions(int index, voldemort.client.protocol.pb.VProto.VectorClock value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.versions_.set(index, value);
        return this;
      }
      public Builder setVersions(int index, voldemort.client.protocol.pb.VProto.VectorClock.Builder builderForValue) {
        result.versions_.set(index, builderForValue.build());
        return this;
      }
      public Builder addVersions(voldemort.client.protocol.pb.VProto.VectorClock value) {
        if (value == null) {
          throw new NullPointerException();
        }
        if (result.versions_.isEmpty()) {
          result.versions_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.VectorClock>();
        }
        result.versions_.add(value);
        return this;
      }
      public Builder addVersions(voldemort.client.protocol.pb.VProto.VectorClock.Builder builderForValue) {
        if (result.versions_.isEmpty()) {
          result.versions_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.VectorClock>();
        }
        result.versions_.add(builderForValue.build());
        return this;
      }
      public Builder addAllVersions(
          java.lang.Iterable<? extends voldemort.client.protocol.pb.VProto.VectorClock> values) {
        if (result.versions_.isEmpty()) {
          result.versions_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.VectorClock>();
        }
        super.addAll(values, result.versions_);
        return this;
      }
      public Builder clearVersions() {
        result.versions_ = java.util.Collections.emptyList();
        return this;
      }
      
      // optional .voldemort.Error error = 2;
      public boolean hasError() {
        return result.hasError();
      }
      public voldemort.client.protocol.pb.VProto.Error getError() {
        return result.getError();
      }
      public Builder setError(voldemort.client.protocol.pb.VProto.Error value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.hasError = true;
        result.error_ = value;
        return this;
      }
      public Builder setError(voldemort.client.protocol.pb.VProto.Error.Builder builderForValue) {
        result.hasError = true;
        result.error_ = builderForValue.build();
        return this;
      }
      public Builder mergeError(voldemort.client.protocol.pb.VProto.Error value) {
        if (result.hasError() &&
            result.error_ != voldemort.client.protocol.pb.VProto.Error.getDefaultInstance()) {
          result.error_ =
            voldemort.client.protocol.pb.VProto.Error.newBuilder(result.error_).mergeFrom(value).buildPartial();
        } else {
          result.error_ = value;
        }
        result.hasError = true;
        return this;
      }
      public Builder clearError() {
        result.hasError = false;
        result.error_ = voldemort.client.protocol.pb.VProto.Error.getDefaultInstance();
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:voldemort.GetVersionResponse)
    }
    
    static {
      defaultInstance = new GetVersionResponse(true);
      voldemort.client.protocol.pb.VProto.internalForceInit();
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:voldemort.GetVersionResponse)
  }
  
  public static final class GetAllRequest extends
      com.google.protobuf.GeneratedMessage {
    // Use GetAllRequest.newBuilder() to construct.
    private GetAllRequest() {
      initFields();
    }
    private GetAllRequest(boolean noInit) {}
    
    private static final GetAllRequest defaultInstance;
    public static GetAllRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public GetAllRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_GetAllRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_GetAllRequest_fieldAccessorTable;
    }
    
    public static final class GetAllTransform extends
        com.google.protobuf.GeneratedMessage {
      // Use GetAllTransform.newBuilder() to construct.
      private GetAllTransform() {
        initFields();
      }
      private GetAllTransform(boolean noInit) {}
      
      private static final GetAllTransform defaultInstance;
      public static GetAllTransform getDefaultInstance() {
        return defaultInstance;
      }
      
      public GetAllTransform getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return voldemort.client.protocol.pb.VProto.internal_static_voldemort_GetAllRequest_GetAllTransform_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return voldemort.client.protocol.pb.VProto.internal_static_voldemort_GetAllRequest_GetAllTransform_fieldAccessorTable;
      }
      
      // required bytes key = 1;
      public static final int KEY_FIELD_NUMBER = 1;
      private boolean hasKey;
      private com.google.protobuf.ByteString key_ = com.google.protobuf.ByteString.EMPTY;
      public boolean hasKey() { return hasKey; }
      public com.google.protobuf.ByteString getKey() { return key_; }
      
      // required bytes transform = 2;
      public static final int TRANSFORM_FIELD_NUMBER = 2;
      private boolean hasTransform;
      private com.google.protobuf.ByteString transform_ = com.google.protobuf.ByteString.EMPTY;
      public boolean hasTransform() { return hasTransform; }
      public com.google.protobuf.ByteString getTransform() { return transform_; }
      
      private void initFields() {
      }
      public final boolean isInitialized() {
        if (!hasKey) return false;
        if (!hasTransform) return false;
        return true;
      }
      
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (hasKey()) {
          output.writeBytes(1, getKey());
        }
        if (hasTransform()) {
          output.writeBytes(2, getTransform());
        }
        getUnknownFields().writeTo(output);
      }
      
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
      
        size = 0;
        if (hasKey()) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, getKey());
        }
        if (hasTransform()) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(2, getTransform());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      public static voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder> {
        private voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform result;
        
        // Construct using voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform.newBuilder()
        private Builder() {}
        
        private static Builder create() {
          Builder builder = new Builder();
          builder.result = new voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform();
          return builder;
        }
        
        protected voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform internalGetResult() {
          return result;
        }
        
        public Builder clear() {
          if (result == null) {
            throw new IllegalStateException(
              "Cannot call clear() after build().");
          }
          result = new voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform();
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(result);
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform.getDescriptor();
        }
        
        public voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform getDefaultInstanceForType() {
          return voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform.getDefaultInstance();
        }
        
        public boolean isInitialized() {
          return result.isInitialized();
        }
        public voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform build() {
          if (result != null && !isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return buildPartial();
        }
        
        private voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          if (!isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return buildPartial();
        }
        
        public voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform buildPartial() {
          if (result == null) {
            throw new IllegalStateException(
              "build() has already been called on this Builder.");
          }
          voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform returnMe = result;
          result = null;
          return returnMe;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform) {
            return mergeFrom((voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform other) {
          if (other == voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform.getDefaultInstance()) return this;
          if (other.hasKey()) {
            setKey(other.getKey());
          }
          if (other.hasTransform()) {
            setTransform(other.getTransform());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  return this;
                }
                break;
              }
              case 10: {
                setKey(input.readBytes());
                break;
              }
              case 18: {
                setTransform(input.readBytes());
                break;
              }
            }
          }
        }
        
        
        // required bytes key = 1;
        public boolean hasKey() {
          return result.hasKey();
        }
        public com.google.protobuf.ByteString getKey() {
          return result.getKey();
        }
        public Builder setKey(com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  result.hasKey = true;
          result.key_ = value;
          return this;
        }
        public Builder clearKey() {
          result.hasKey = false;
          result.key_ = getDefaultInstance().getKey();
          return this;
        }
        
        // required bytes transform = 2;
        public boolean hasTransform() {
          return result.hasTransform();
        }
        public com.google.protobuf.ByteString getTransform() {
          return result.getTransform();
        }
        public Builder setTransform(com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  result.hasTransform = true;
          result.transform_ = value;
          return this;
        }
        public Builder clearTransform() {
          result.hasTransform = false;
          result.transform_ = getDefaultInstance().getTransform();
          return this;
        }
        
        // @@protoc_insertion_point(builder_scope:voldemort.GetAllRequest.GetAllTransform)
      }
      
      static {
        defaultInstance = new GetAllTransform(true);
        voldemort.client.protocol.pb.VProto.internalForceInit();
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:voldemort.GetAllRequest.GetAllTransform)
    }
    
    // repeated bytes keys = 1;
    public static final int KEYS_FIELD_NUMBER = 1;
    private java.util.List<com.google.protobuf.ByteString> keys_ =
      java.util.Collections.emptyList();
    public java.util.List<com.google.protobuf.ByteString> getKeysList() {
      return keys_;
    }
    public int getKeysCount() { return keys_.size(); }
    public com.google.protobuf.ByteString getKeys(int index) {
      return keys_.get(index);
    }
    
    // repeated .voldemort.GetAllRequest.GetAllTransform transforms = 2;
    public static final int TRANSFORMS_FIELD_NUMBER = 2;
    private java.util.List<voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform> transforms_ =
      java.util.Collections.emptyList();
    public java.util.List<voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform> getTransformsList() {
      return transforms_;
    }
    public int getTransformsCount() { return transforms_.size(); }
    public voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform getTransforms(int index) {
      return transforms_.get(index);
    }
    
    private void initFields() {
    }
    public final boolean isInitialized() {
      for (voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform element : getTransformsList()) {
        if (!element.isInitialized()) return false;
      }
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (com.google.protobuf.ByteString element : getKeysList()) {
        output.writeBytes(1, element);
      }
      for (voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform element : getTransformsList()) {
        output.writeMessage(2, element);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      {
        int dataSize = 0;
        for (com.google.protobuf.ByteString element : getKeysList()) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(element);
        }
        size += dataSize;
        size += 1 * getKeysList().size();
      }
      for (voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform element : getTransformsList()) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, element);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    public static voldemort.client.protocol.pb.VProto.GetAllRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetAllRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetAllRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetAllRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetAllRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetAllRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetAllRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.GetAllRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.GetAllRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetAllRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(voldemort.client.protocol.pb.VProto.GetAllRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> {
      private voldemort.client.protocol.pb.VProto.GetAllRequest result;
      
      // Construct using voldemort.client.protocol.pb.VProto.GetAllRequest.newBuilder()
      private Builder() {}
      
      private static Builder create() {
        Builder builder = new Builder();
        builder.result = new voldemort.client.protocol.pb.VProto.GetAllRequest();
        return builder;
      }
      
      protected voldemort.client.protocol.pb.VProto.GetAllRequest internalGetResult() {
        return result;
      }
      
      public Builder clear() {
        if (result == null) {
          throw new IllegalStateException(
            "Cannot call clear() after build().");
        }
        result = new voldemort.client.protocol.pb.VProto.GetAllRequest();
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(result);
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return voldemort.client.protocol.pb.VProto.GetAllRequest.getDescriptor();
      }
      
      public voldemort.client.protocol.pb.VProto.GetAllRequest getDefaultInstanceForType() {
        return voldemort.client.protocol.pb.VProto.GetAllRequest.getDefaultInstance();
      }
      
      public boolean isInitialized() {
        return result.isInitialized();
      }
      public voldemort.client.protocol.pb.VProto.GetAllRequest build() {
        if (result != null && !isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return buildPartial();
      }
      
      private voldemort.client.protocol.pb.VProto.GetAllRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        if (!isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return buildPartial();
      }
      
      public voldemort.client.protocol.pb.VProto.GetAllRequest buildPartial() {
        if (result == null) {
          throw new IllegalStateException(
            "build() has already been called on this Builder.");
        }
        if (result.keys_ != java.util.Collections.EMPTY_LIST) {
          result.keys_ =
            java.util.Collections.unmodifiableList(result.keys_);
        }
        if (result.transforms_ != java.util.Collections.EMPTY_LIST) {
          result.transforms_ =
            java.util.Collections.unmodifiableList(result.transforms_);
        }
        voldemort.client.protocol.pb.VProto.GetAllRequest returnMe = result;
        result = null;
        return returnMe;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof voldemort.client.protocol.pb.VProto.GetAllRequest) {
          return mergeFrom((voldemort.client.protocol.pb.VProto.GetAllRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(voldemort.client.protocol.pb.VProto.GetAllRequest other) {
        if (other == voldemort.client.protocol.pb.VProto.GetAllRequest.getDefaultInstance()) return this;
        if (!other.keys_.isEmpty()) {
          if (result.keys_.isEmpty()) {
            result.keys_ = new java.util.ArrayList<com.google.protobuf.ByteString>();
          }
          result.keys_.addAll(other.keys_);
        }
        if (!other.transforms_.isEmpty()) {
          if (result.transforms_.isEmpty()) {
            result.transforms_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform>();
          }
          result.transforms_.addAll(other.transforms_);
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                return this;
              }
              break;
            }
            case 10: {
              addKeys(input.readBytes());
              break;
            }
            case 18: {
              voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform.Builder subBuilder = voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addTransforms(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      
      // repeated bytes keys = 1;
      public java.util.List<com.google.protobuf.ByteString> getKeysList() {
        return java.util.Collections.unmodifiableList(result.keys_);
      }
      public int getKeysCount() {
        return result.getKeysCount();
      }
      public com.google.protobuf.ByteString getKeys(int index) {
        return result.getKeys(index);
      }
      public Builder setKeys(int index, com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  result.keys_.set(index, value);
        return this;
      }
      public Builder addKeys(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  if (result.keys_.isEmpty()) {
          result.keys_ = new java.util.ArrayList<com.google.protobuf.ByteString>();
        }
        result.keys_.add(value);
        return this;
      }
      public Builder addAllKeys(
          java.lang.Iterable<? extends com.google.protobuf.ByteString> values) {
        if (result.keys_.isEmpty()) {
          result.keys_ = new java.util.ArrayList<com.google.protobuf.ByteString>();
        }
        super.addAll(values, result.keys_);
        return this;
      }
      public Builder clearKeys() {
        result.keys_ = java.util.Collections.emptyList();
        return this;
      }
      
      // repeated .voldemort.GetAllRequest.GetAllTransform transforms = 2;
      public java.util.List<voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform> getTransformsList() {
        return java.util.Collections.unmodifiableList(result.transforms_);
      }
      public int getTransformsCount() {
        return result.getTransformsCount();
      }
      public voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform getTransforms(int index) {
        return result.getTransforms(index);
      }
      public Builder setTransforms(int index, voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.transforms_.set(index, value);
        return this;
      }
      public Builder setTransforms(int index, voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform.Builder builderForValue) {
        result.transforms_.set(index, builderForValue.build());
        return this;
      }
      public Builder addTransforms(voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform value) {
        if (value == null) {
          throw new NullPointerException();
        }
        if (result.transforms_.isEmpty()) {
          result.transforms_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform>();
        }
        result.transforms_.add(value);
        return this;
      }
      public Builder addTransforms(voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform.Builder builderForValue) {
        if (result.transforms_.isEmpty()) {
          result.transforms_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform>();
        }
        result.transforms_.add(builderForValue.build());
        return this;
      }
      public Builder addAllTransforms(
          java.lang.Iterable<? extends voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform> values) {
        if (result.transforms_.isEmpty()) {
          result.transforms_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform>();
        }
        super.addAll(values, result.transforms_);
        return this;
      }
      public Builder clearTransforms() {
        result.transforms_ = java.util.Collections.emptyList();
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:voldemort.GetAllRequest)
    }
    
    static {
      defaultInstance = new GetAllRequest(true);
      voldemort.client.protocol.pb.VProto.internalForceInit();
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:voldemort.GetAllRequest)
  }
  
  public static final class GetAllResponse extends
      com.google.protobuf.GeneratedMessage {
    // Use GetAllResponse.newBuilder() to construct.
    private GetAllResponse() {
      initFields();
    }
    private GetAllResponse(boolean noInit) {}
    
    private static final GetAllResponse defaultInstance;
    public static GetAllResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public GetAllResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_GetAllResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_GetAllResponse_fieldAccessorTable;
    }
    
    // repeated .voldemort.KeyedVersions values = 1;
    public static final int VALUES_FIELD_NUMBER = 1;
    private java.util.List<voldemort.client.protocol.pb.VProto.KeyedVersions> values_ =
      java.util.Collections.emptyList();
    public java.util.List<voldemort.client.protocol.pb.VProto.KeyedVersions> getValuesList() {
      return values_;
    }
    public int getValuesCount() { return values_.size(); }
    public voldemort.client.protocol.pb.VProto.KeyedVersions getValues(int index) {
      return values_.get(index);
    }
    
    // optional .voldemort.Error error = 2;
    public static final int ERROR_FIELD_NUMBER = 2;
    private boolean hasError;
    private voldemort.client.protocol.pb.VProto.Error error_;
    public boolean hasError() { return hasError; }
    public voldemort.client.protocol.pb.VProto.Error getError() { return error_; }
    
    private void initFields() {
      error_ = voldemort.client.protocol.pb.VProto.Error.getDefaultInstance();
    }
    public final boolean isInitialized() {
      for (voldemort.client.protocol.pb.VProto.KeyedVersions element : getValuesList()) {
        if (!element.isInitialized()) return false;
      }
      if (hasError()) {
        if (!getError().isInitialized()) return false;
      }
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (voldemort.client.protocol.pb.VProto.KeyedVersions element : getValuesList()) {
        output.writeMessage(1, element);
      }
      if (hasError()) {
        output.writeMessage(2, getError());
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      for (voldemort.client.protocol.pb.VProto.KeyedVersions element : getValuesList()) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, element);
      }
      if (hasError()) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getError());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    public static voldemort.client.protocol.pb.VProto.GetAllResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetAllResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetAllResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetAllResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetAllResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetAllResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetAllResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.GetAllResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.GetAllResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.GetAllResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(voldemort.client.protocol.pb.VProto.GetAllResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> {
      private voldemort.client.protocol.pb.VProto.GetAllResponse result;
      
      // Construct using voldemort.client.protocol.pb.VProto.GetAllResponse.newBuilder()
      private Builder() {}
      
      private static Builder create() {
        Builder builder = new Builder();
        builder.result = new voldemort.client.protocol.pb.VProto.GetAllResponse();
        return builder;
      }
      
      protected voldemort.client.protocol.pb.VProto.GetAllResponse internalGetResult() {
        return result;
      }
      
      public Builder clear() {
        if (result == null) {
          throw new IllegalStateException(
            "Cannot call clear() after build().");
        }
        result = new voldemort.client.protocol.pb.VProto.GetAllResponse();
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(result);
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return voldemort.client.protocol.pb.VProto.GetAllResponse.getDescriptor();
      }
      
      public voldemort.client.protocol.pb.VProto.GetAllResponse getDefaultInstanceForType() {
        return voldemort.client.protocol.pb.VProto.GetAllResponse.getDefaultInstance();
      }
      
      public boolean isInitialized() {
        return result.isInitialized();
      }
      public voldemort.client.protocol.pb.VProto.GetAllResponse build() {
        if (result != null && !isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return buildPartial();
      }
      
      private voldemort.client.protocol.pb.VProto.GetAllResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        if (!isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return buildPartial();
      }
      
      public voldemort.client.protocol.pb.VProto.GetAllResponse buildPartial() {
        if (result == null) {
          throw new IllegalStateException(
            "build() has already been called on this Builder.");
        }
        if (result.values_ != java.util.Collections.EMPTY_LIST) {
          result.values_ =
            java.util.Collections.unmodifiableList(result.values_);
        }
        voldemort.client.protocol.pb.VProto.GetAllResponse returnMe = result;
        result = null;
        return returnMe;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof voldemort.client.protocol.pb.VProto.GetAllResponse) {
          return mergeFrom((voldemort.client.protocol.pb.VProto.GetAllResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(voldemort.client.protocol.pb.VProto.GetAllResponse other) {
        if (other == voldemort.client.protocol.pb.VProto.GetAllResponse.getDefaultInstance()) return this;
        if (!other.values_.isEmpty()) {
          if (result.values_.isEmpty()) {
            result.values_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.KeyedVersions>();
          }
          result.values_.addAll(other.values_);
        }
        if (other.hasError()) {
          mergeError(other.getError());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                return this;
              }
              break;
            }
            case 10: {
              voldemort.client.protocol.pb.VProto.KeyedVersions.Builder subBuilder = voldemort.client.protocol.pb.VProto.KeyedVersions.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addValues(subBuilder.buildPartial());
              break;
            }
            case 18: {
              voldemort.client.protocol.pb.VProto.Error.Builder subBuilder = voldemort.client.protocol.pb.VProto.Error.newBuilder();
              if (hasError()) {
                subBuilder.mergeFrom(getError());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setError(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      
      // repeated .voldemort.KeyedVersions values = 1;
      public java.util.List<voldemort.client.protocol.pb.VProto.KeyedVersions> getValuesList() {
        return java.util.Collections.unmodifiableList(result.values_);
      }
      public int getValuesCount() {
        return result.getValuesCount();
      }
      public voldemort.client.protocol.pb.VProto.KeyedVersions getValues(int index) {
        return result.getValues(index);
      }
      public Builder setValues(int index, voldemort.client.protocol.pb.VProto.KeyedVersions value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.values_.set(index, value);
        return this;
      }
      public Builder setValues(int index, voldemort.client.protocol.pb.VProto.KeyedVersions.Builder builderForValue) {
        result.values_.set(index, builderForValue.build());
        return this;
      }
      public Builder addValues(voldemort.client.protocol.pb.VProto.KeyedVersions value) {
        if (value == null) {
          throw new NullPointerException();
        }
        if (result.values_.isEmpty()) {
          result.values_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.KeyedVersions>();
        }
        result.values_.add(value);
        return this;
      }
      public Builder addValues(voldemort.client.protocol.pb.VProto.KeyedVersions.Builder builderForValue) {
        if (result.values_.isEmpty()) {
          result.values_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.KeyedVersions>();
        }
        result.values_.add(builderForValue.build());
        return this;
      }
      public Builder addAllValues(
          java.lang.Iterable<? extends voldemort.client.protocol.pb.VProto.KeyedVersions> values) {
        if (result.values_.isEmpty()) {
          result.values_ = new java.util.ArrayList<voldemort.client.protocol.pb.VProto.KeyedVersions>();
        }
        super.addAll(values, result.values_);
        return this;
      }
      public Builder clearValues() {
        result.values_ = java.util.Collections.emptyList();
        return this;
      }
      
      // optional .voldemort.Error error = 2;
      public boolean hasError() {
        return result.hasError();
      }
      public voldemort.client.protocol.pb.VProto.Error getError() {
        return result.getError();
      }
      public Builder setError(voldemort.client.protocol.pb.VProto.Error value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.hasError = true;
        result.error_ = value;
        return this;
      }
      public Builder setError(voldemort.client.protocol.pb.VProto.Error.Builder builderForValue) {
        result.hasError = true;
        result.error_ = builderForValue.build();
        return this;
      }
      public Builder mergeError(voldemort.client.protocol.pb.VProto.Error value) {
        if (result.hasError() &&
            result.error_ != voldemort.client.protocol.pb.VProto.Error.getDefaultInstance()) {
          result.error_ =
            voldemort.client.protocol.pb.VProto.Error.newBuilder(result.error_).mergeFrom(value).buildPartial();
        } else {
          result.error_ = value;
        }
        result.hasError = true;
        return this;
      }
      public Builder clearError() {
        result.hasError = false;
        result.error_ = voldemort.client.protocol.pb.VProto.Error.getDefaultInstance();
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:voldemort.GetAllResponse)
    }
    
    static {
      defaultInstance = new GetAllResponse(true);
      voldemort.client.protocol.pb.VProto.internalForceInit();
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:voldemort.GetAllResponse)
  }
  
  public static final class PutRequest extends
      com.google.protobuf.GeneratedMessage {
    // Use PutRequest.newBuilder() to construct.
    private PutRequest() {
      initFields();
    }
    private PutRequest(boolean noInit) {}
    
    private static final PutRequest defaultInstance;
    public static PutRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public PutRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_PutRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_PutRequest_fieldAccessorTable;
    }
    
    // required bytes key = 1;
    public static final int KEY_FIELD_NUMBER = 1;
    private boolean hasKey;
    private com.google.protobuf.ByteString key_ = com.google.protobuf.ByteString.EMPTY;
    public boolean hasKey() { return hasKey; }
    public com.google.protobuf.ByteString getKey() { return key_; }
    
    // required .voldemort.Versioned versioned = 2;
    public static final int VERSIONED_FIELD_NUMBER = 2;
    private boolean hasVersioned;
    private voldemort.client.protocol.pb.VProto.Versioned versioned_;
    public boolean hasVersioned() { return hasVersioned; }
    public voldemort.client.protocol.pb.VProto.Versioned getVersioned() { return versioned_; }
    
    // optional bytes transforms = 3;
    public static final int TRANSFORMS_FIELD_NUMBER = 3;
    private boolean hasTransforms;
    private com.google.protobuf.ByteString transforms_ = com.google.protobuf.ByteString.EMPTY;
    public boolean hasTransforms() { return hasTransforms; }
    public com.google.protobuf.ByteString getTransforms() { return transforms_; }
    
    private void initFields() {
      versioned_ = voldemort.client.protocol.pb.VProto.Versioned.getDefaultInstance();
    }
    public final boolean isInitialized() {
      if (!hasKey) return false;
      if (!hasVersioned) return false;
      if (!getVersioned().isInitialized()) return false;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (hasKey()) {
        output.writeBytes(1, getKey());
      }
      if (hasVersioned()) {
        output.writeMessage(2, getVersioned());
      }
      if (hasTransforms()) {
        output.writeBytes(3, getTransforms());
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (hasKey()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getKey());
      }
      if (hasVersioned()) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getVersioned());
      }
      if (hasTransforms()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, getTransforms());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    public static voldemort.client.protocol.pb.VProto.PutRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.PutRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.PutRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.PutRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.PutRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.PutRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.PutRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.PutRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.PutRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.PutRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(voldemort.client.protocol.pb.VProto.PutRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> {
      private voldemort.client.protocol.pb.VProto.PutRequest result;
      
      // Construct using voldemort.client.protocol.pb.VProto.PutRequest.newBuilder()
      private Builder() {}
      
      private static Builder create() {
        Builder builder = new Builder();
        builder.result = new voldemort.client.protocol.pb.VProto.PutRequest();
        return builder;
      }
      
      protected voldemort.client.protocol.pb.VProto.PutRequest internalGetResult() {
        return result;
      }
      
      public Builder clear() {
        if (result == null) {
          throw new IllegalStateException(
            "Cannot call clear() after build().");
        }
        result = new voldemort.client.protocol.pb.VProto.PutRequest();
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(result);
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return voldemort.client.protocol.pb.VProto.PutRequest.getDescriptor();
      }
      
      public voldemort.client.protocol.pb.VProto.PutRequest getDefaultInstanceForType() {
        return voldemort.client.protocol.pb.VProto.PutRequest.getDefaultInstance();
      }
      
      public boolean isInitialized() {
        return result.isInitialized();
      }
      public voldemort.client.protocol.pb.VProto.PutRequest build() {
        if (result != null && !isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return buildPartial();
      }
      
      private voldemort.client.protocol.pb.VProto.PutRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        if (!isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return buildPartial();
      }
      
      public voldemort.client.protocol.pb.VProto.PutRequest buildPartial() {
        if (result == null) {
          throw new IllegalStateException(
            "build() has already been called on this Builder.");
        }
        voldemort.client.protocol.pb.VProto.PutRequest returnMe = result;
        result = null;
        return returnMe;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof voldemort.client.protocol.pb.VProto.PutRequest) {
          return mergeFrom((voldemort.client.protocol.pb.VProto.PutRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(voldemort.client.protocol.pb.VProto.PutRequest other) {
        if (other == voldemort.client.protocol.pb.VProto.PutRequest.getDefaultInstance()) return this;
        if (other.hasKey()) {
          setKey(other.getKey());
        }
        if (other.hasVersioned()) {
          mergeVersioned(other.getVersioned());
        }
        if (other.hasTransforms()) {
          setTransforms(other.getTransforms());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                return this;
              }
              break;
            }
            case 10: {
              setKey(input.readBytes());
              break;
            }
            case 18: {
              voldemort.client.protocol.pb.VProto.Versioned.Builder subBuilder = voldemort.client.protocol.pb.VProto.Versioned.newBuilder();
              if (hasVersioned()) {
                subBuilder.mergeFrom(getVersioned());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setVersioned(subBuilder.buildPartial());
              break;
            }
            case 26: {
              setTransforms(input.readBytes());
              break;
            }
          }
        }
      }
      
      
      // required bytes key = 1;
      public boolean hasKey() {
        return result.hasKey();
      }
      public com.google.protobuf.ByteString getKey() {
        return result.getKey();
      }
      public Builder setKey(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  result.hasKey = true;
        result.key_ = value;
        return this;
      }
      public Builder clearKey() {
        result.hasKey = false;
        result.key_ = getDefaultInstance().getKey();
        return this;
      }
      
      // required .voldemort.Versioned versioned = 2;
      public boolean hasVersioned() {
        return result.hasVersioned();
      }
      public voldemort.client.protocol.pb.VProto.Versioned getVersioned() {
        return result.getVersioned();
      }
      public Builder setVersioned(voldemort.client.protocol.pb.VProto.Versioned value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.hasVersioned = true;
        result.versioned_ = value;
        return this;
      }
      public Builder setVersioned(voldemort.client.protocol.pb.VProto.Versioned.Builder builderForValue) {
        result.hasVersioned = true;
        result.versioned_ = builderForValue.build();
        return this;
      }
      public Builder mergeVersioned(voldemort.client.protocol.pb.VProto.Versioned value) {
        if (result.hasVersioned() &&
            result.versioned_ != voldemort.client.protocol.pb.VProto.Versioned.getDefaultInstance()) {
          result.versioned_ =
            voldemort.client.protocol.pb.VProto.Versioned.newBuilder(result.versioned_).mergeFrom(value).buildPartial();
        } else {
          result.versioned_ = value;
        }
        result.hasVersioned = true;
        return this;
      }
      public Builder clearVersioned() {
        result.hasVersioned = false;
        result.versioned_ = voldemort.client.protocol.pb.VProto.Versioned.getDefaultInstance();
        return this;
      }
      
      // optional bytes transforms = 3;
      public boolean hasTransforms() {
        return result.hasTransforms();
      }
      public com.google.protobuf.ByteString getTransforms() {
        return result.getTransforms();
      }
      public Builder setTransforms(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  result.hasTransforms = true;
        result.transforms_ = value;
        return this;
      }
      public Builder clearTransforms() {
        result.hasTransforms = false;
        result.transforms_ = getDefaultInstance().getTransforms();
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:voldemort.PutRequest)
    }
    
    static {
      defaultInstance = new PutRequest(true);
      voldemort.client.protocol.pb.VProto.internalForceInit();
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:voldemort.PutRequest)
  }
  
  public static final class PutResponse extends
      com.google.protobuf.GeneratedMessage {
    // Use PutResponse.newBuilder() to construct.
    private PutResponse() {
      initFields();
    }
    private PutResponse(boolean noInit) {}
    
    private static final PutResponse defaultInstance;
    public static PutResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public PutResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_PutResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_PutResponse_fieldAccessorTable;
    }
    
    // optional .voldemort.Error error = 1;
    public static final int ERROR_FIELD_NUMBER = 1;
    private boolean hasError;
    private voldemort.client.protocol.pb.VProto.Error error_;
    public boolean hasError() { return hasError; }
    public voldemort.client.protocol.pb.VProto.Error getError() { return error_; }
    
    private void initFields() {
      error_ = voldemort.client.protocol.pb.VProto.Error.getDefaultInstance();
    }
    public final boolean isInitialized() {
      if (hasError()) {
        if (!getError().isInitialized()) return false;
      }
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (hasError()) {
        output.writeMessage(1, getError());
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (hasError()) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getError());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    public static voldemort.client.protocol.pb.VProto.PutResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.PutResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.PutResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.PutResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.PutResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.PutResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.PutResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.PutResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.PutResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.PutResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(voldemort.client.protocol.pb.VProto.PutResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> {
      private voldemort.client.protocol.pb.VProto.PutResponse result;
      
      // Construct using voldemort.client.protocol.pb.VProto.PutResponse.newBuilder()
      private Builder() {}
      
      private static Builder create() {
        Builder builder = new Builder();
        builder.result = new voldemort.client.protocol.pb.VProto.PutResponse();
        return builder;
      }
      
      protected voldemort.client.protocol.pb.VProto.PutResponse internalGetResult() {
        return result;
      }
      
      public Builder clear() {
        if (result == null) {
          throw new IllegalStateException(
            "Cannot call clear() after build().");
        }
        result = new voldemort.client.protocol.pb.VProto.PutResponse();
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(result);
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return voldemort.client.protocol.pb.VProto.PutResponse.getDescriptor();
      }
      
      public voldemort.client.protocol.pb.VProto.PutResponse getDefaultInstanceForType() {
        return voldemort.client.protocol.pb.VProto.PutResponse.getDefaultInstance();
      }
      
      public boolean isInitialized() {
        return result.isInitialized();
      }
      public voldemort.client.protocol.pb.VProto.PutResponse build() {
        if (result != null && !isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return buildPartial();
      }
      
      private voldemort.client.protocol.pb.VProto.PutResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        if (!isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return buildPartial();
      }
      
      public voldemort.client.protocol.pb.VProto.PutResponse buildPartial() {
        if (result == null) {
          throw new IllegalStateException(
            "build() has already been called on this Builder.");
        }
        voldemort.client.protocol.pb.VProto.PutResponse returnMe = result;
        result = null;
        return returnMe;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof voldemort.client.protocol.pb.VProto.PutResponse) {
          return mergeFrom((voldemort.client.protocol.pb.VProto.PutResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(voldemort.client.protocol.pb.VProto.PutResponse other) {
        if (other == voldemort.client.protocol.pb.VProto.PutResponse.getDefaultInstance()) return this;
        if (other.hasError()) {
          mergeError(other.getError());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                return this;
              }
              break;
            }
            case 10: {
              voldemort.client.protocol.pb.VProto.Error.Builder subBuilder = voldemort.client.protocol.pb.VProto.Error.newBuilder();
              if (hasError()) {
                subBuilder.mergeFrom(getError());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setError(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      
      // optional .voldemort.Error error = 1;
      public boolean hasError() {
        return result.hasError();
      }
      public voldemort.client.protocol.pb.VProto.Error getError() {
        return result.getError();
      }
      public Builder setError(voldemort.client.protocol.pb.VProto.Error value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.hasError = true;
        result.error_ = value;
        return this;
      }
      public Builder setError(voldemort.client.protocol.pb.VProto.Error.Builder builderForValue) {
        result.hasError = true;
        result.error_ = builderForValue.build();
        return this;
      }
      public Builder mergeError(voldemort.client.protocol.pb.VProto.Error value) {
        if (result.hasError() &&
            result.error_ != voldemort.client.protocol.pb.VProto.Error.getDefaultInstance()) {
          result.error_ =
            voldemort.client.protocol.pb.VProto.Error.newBuilder(result.error_).mergeFrom(value).buildPartial();
        } else {
          result.error_ = value;
        }
        result.hasError = true;
        return this;
      }
      public Builder clearError() {
        result.hasError = false;
        result.error_ = voldemort.client.protocol.pb.VProto.Error.getDefaultInstance();
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:voldemort.PutResponse)
    }
    
    static {
      defaultInstance = new PutResponse(true);
      voldemort.client.protocol.pb.VProto.internalForceInit();
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:voldemort.PutResponse)
  }
  
  public static final class DeleteRequest extends
      com.google.protobuf.GeneratedMessage {
    // Use DeleteRequest.newBuilder() to construct.
    private DeleteRequest() {
      initFields();
    }
    private DeleteRequest(boolean noInit) {}
    
    private static final DeleteRequest defaultInstance;
    public static DeleteRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public DeleteRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_DeleteRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_DeleteRequest_fieldAccessorTable;
    }
    
    // required bytes key = 1;
    public static final int KEY_FIELD_NUMBER = 1;
    private boolean hasKey;
    private com.google.protobuf.ByteString key_ = com.google.protobuf.ByteString.EMPTY;
    public boolean hasKey() { return hasKey; }
    public com.google.protobuf.ByteString getKey() { return key_; }
    
    // required .voldemort.VectorClock version = 2;
    public static final int VERSION_FIELD_NUMBER = 2;
    private boolean hasVersion;
    private voldemort.client.protocol.pb.VProto.VectorClock version_;
    public boolean hasVersion() { return hasVersion; }
    public voldemort.client.protocol.pb.VProto.VectorClock getVersion() { return version_; }
    
    private void initFields() {
      version_ = voldemort.client.protocol.pb.VProto.VectorClock.getDefaultInstance();
    }
    public final boolean isInitialized() {
      if (!hasKey) return false;
      if (!hasVersion) return false;
      if (!getVersion().isInitialized()) return false;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (hasKey()) {
        output.writeBytes(1, getKey());
      }
      if (hasVersion()) {
        output.writeMessage(2, getVersion());
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (hasKey()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getKey());
      }
      if (hasVersion()) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getVersion());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    public static voldemort.client.protocol.pb.VProto.DeleteRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.DeleteRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.DeleteRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.DeleteRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.DeleteRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.DeleteRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.DeleteRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.DeleteRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.DeleteRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.DeleteRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(voldemort.client.protocol.pb.VProto.DeleteRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> {
      private voldemort.client.protocol.pb.VProto.DeleteRequest result;
      
      // Construct using voldemort.client.protocol.pb.VProto.DeleteRequest.newBuilder()
      private Builder() {}
      
      private static Builder create() {
        Builder builder = new Builder();
        builder.result = new voldemort.client.protocol.pb.VProto.DeleteRequest();
        return builder;
      }
      
      protected voldemort.client.protocol.pb.VProto.DeleteRequest internalGetResult() {
        return result;
      }
      
      public Builder clear() {
        if (result == null) {
          throw new IllegalStateException(
            "Cannot call clear() after build().");
        }
        result = new voldemort.client.protocol.pb.VProto.DeleteRequest();
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(result);
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return voldemort.client.protocol.pb.VProto.DeleteRequest.getDescriptor();
      }
      
      public voldemort.client.protocol.pb.VProto.DeleteRequest getDefaultInstanceForType() {
        return voldemort.client.protocol.pb.VProto.DeleteRequest.getDefaultInstance();
      }
      
      public boolean isInitialized() {
        return result.isInitialized();
      }
      public voldemort.client.protocol.pb.VProto.DeleteRequest build() {
        if (result != null && !isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return buildPartial();
      }
      
      private voldemort.client.protocol.pb.VProto.DeleteRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        if (!isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return buildPartial();
      }
      
      public voldemort.client.protocol.pb.VProto.DeleteRequest buildPartial() {
        if (result == null) {
          throw new IllegalStateException(
            "build() has already been called on this Builder.");
        }
        voldemort.client.protocol.pb.VProto.DeleteRequest returnMe = result;
        result = null;
        return returnMe;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof voldemort.client.protocol.pb.VProto.DeleteRequest) {
          return mergeFrom((voldemort.client.protocol.pb.VProto.DeleteRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(voldemort.client.protocol.pb.VProto.DeleteRequest other) {
        if (other == voldemort.client.protocol.pb.VProto.DeleteRequest.getDefaultInstance()) return this;
        if (other.hasKey()) {
          setKey(other.getKey());
        }
        if (other.hasVersion()) {
          mergeVersion(other.getVersion());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                return this;
              }
              break;
            }
            case 10: {
              setKey(input.readBytes());
              break;
            }
            case 18: {
              voldemort.client.protocol.pb.VProto.VectorClock.Builder subBuilder = voldemort.client.protocol.pb.VProto.VectorClock.newBuilder();
              if (hasVersion()) {
                subBuilder.mergeFrom(getVersion());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setVersion(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      
      // required bytes key = 1;
      public boolean hasKey() {
        return result.hasKey();
      }
      public com.google.protobuf.ByteString getKey() {
        return result.getKey();
      }
      public Builder setKey(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  result.hasKey = true;
        result.key_ = value;
        return this;
      }
      public Builder clearKey() {
        result.hasKey = false;
        result.key_ = getDefaultInstance().getKey();
        return this;
      }
      
      // required .voldemort.VectorClock version = 2;
      public boolean hasVersion() {
        return result.hasVersion();
      }
      public voldemort.client.protocol.pb.VProto.VectorClock getVersion() {
        return result.getVersion();
      }
      public Builder setVersion(voldemort.client.protocol.pb.VProto.VectorClock value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.hasVersion = true;
        result.version_ = value;
        return this;
      }
      public Builder setVersion(voldemort.client.protocol.pb.VProto.VectorClock.Builder builderForValue) {
        result.hasVersion = true;
        result.version_ = builderForValue.build();
        return this;
      }
      public Builder mergeVersion(voldemort.client.protocol.pb.VProto.VectorClock value) {
        if (result.hasVersion() &&
            result.version_ != voldemort.client.protocol.pb.VProto.VectorClock.getDefaultInstance()) {
          result.version_ =
            voldemort.client.protocol.pb.VProto.VectorClock.newBuilder(result.version_).mergeFrom(value).buildPartial();
        } else {
          result.version_ = value;
        }
        result.hasVersion = true;
        return this;
      }
      public Builder clearVersion() {
        result.hasVersion = false;
        result.version_ = voldemort.client.protocol.pb.VProto.VectorClock.getDefaultInstance();
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:voldemort.DeleteRequest)
    }
    
    static {
      defaultInstance = new DeleteRequest(true);
      voldemort.client.protocol.pb.VProto.internalForceInit();
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:voldemort.DeleteRequest)
  }
  
  public static final class DeleteResponse extends
      com.google.protobuf.GeneratedMessage {
    // Use DeleteResponse.newBuilder() to construct.
    private DeleteResponse() {
      initFields();
    }
    private DeleteResponse(boolean noInit) {}
    
    private static final DeleteResponse defaultInstance;
    public static DeleteResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public DeleteResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_DeleteResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_DeleteResponse_fieldAccessorTable;
    }
    
    // required bool success = 1;
    public static final int SUCCESS_FIELD_NUMBER = 1;
    private boolean hasSuccess;
    private boolean success_ = false;
    public boolean hasSuccess() { return hasSuccess; }
    public boolean getSuccess() { return success_; }
    
    // optional .voldemort.Error error = 2;
    public static final int ERROR_FIELD_NUMBER = 2;
    private boolean hasError;
    private voldemort.client.protocol.pb.VProto.Error error_;
    public boolean hasError() { return hasError; }
    public voldemort.client.protocol.pb.VProto.Error getError() { return error_; }
    
    private void initFields() {
      error_ = voldemort.client.protocol.pb.VProto.Error.getDefaultInstance();
    }
    public final boolean isInitialized() {
      if (!hasSuccess) return false;
      if (hasError()) {
        if (!getError().isInitialized()) return false;
      }
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (hasSuccess()) {
        output.writeBool(1, getSuccess());
      }
      if (hasError()) {
        output.writeMessage(2, getError());
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (hasSuccess()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, getSuccess());
      }
      if (hasError()) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getError());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    public static voldemort.client.protocol.pb.VProto.DeleteResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.DeleteResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.DeleteResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.DeleteResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.DeleteResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.DeleteResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.DeleteResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.DeleteResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.DeleteResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.DeleteResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(voldemort.client.protocol.pb.VProto.DeleteResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> {
      private voldemort.client.protocol.pb.VProto.DeleteResponse result;
      
      // Construct using voldemort.client.protocol.pb.VProto.DeleteResponse.newBuilder()
      private Builder() {}
      
      private static Builder create() {
        Builder builder = new Builder();
        builder.result = new voldemort.client.protocol.pb.VProto.DeleteResponse();
        return builder;
      }
      
      protected voldemort.client.protocol.pb.VProto.DeleteResponse internalGetResult() {
        return result;
      }
      
      public Builder clear() {
        if (result == null) {
          throw new IllegalStateException(
            "Cannot call clear() after build().");
        }
        result = new voldemort.client.protocol.pb.VProto.DeleteResponse();
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(result);
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return voldemort.client.protocol.pb.VProto.DeleteResponse.getDescriptor();
      }
      
      public voldemort.client.protocol.pb.VProto.DeleteResponse getDefaultInstanceForType() {
        return voldemort.client.protocol.pb.VProto.DeleteResponse.getDefaultInstance();
      }
      
      public boolean isInitialized() {
        return result.isInitialized();
      }
      public voldemort.client.protocol.pb.VProto.DeleteResponse build() {
        if (result != null && !isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return buildPartial();
      }
      
      private voldemort.client.protocol.pb.VProto.DeleteResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        if (!isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return buildPartial();
      }
      
      public voldemort.client.protocol.pb.VProto.DeleteResponse buildPartial() {
        if (result == null) {
          throw new IllegalStateException(
            "build() has already been called on this Builder.");
        }
        voldemort.client.protocol.pb.VProto.DeleteResponse returnMe = result;
        result = null;
        return returnMe;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof voldemort.client.protocol.pb.VProto.DeleteResponse) {
          return mergeFrom((voldemort.client.protocol.pb.VProto.DeleteResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(voldemort.client.protocol.pb.VProto.DeleteResponse other) {
        if (other == voldemort.client.protocol.pb.VProto.DeleteResponse.getDefaultInstance()) return this;
        if (other.hasSuccess()) {
          setSuccess(other.getSuccess());
        }
        if (other.hasError()) {
          mergeError(other.getError());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                return this;
              }
              break;
            }
            case 8: {
              setSuccess(input.readBool());
              break;
            }
            case 18: {
              voldemort.client.protocol.pb.VProto.Error.Builder subBuilder = voldemort.client.protocol.pb.VProto.Error.newBuilder();
              if (hasError()) {
                subBuilder.mergeFrom(getError());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setError(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      
      // required bool success = 1;
      public boolean hasSuccess() {
        return result.hasSuccess();
      }
      public boolean getSuccess() {
        return result.getSuccess();
      }
      public Builder setSuccess(boolean value) {
        result.hasSuccess = true;
        result.success_ = value;
        return this;
      }
      public Builder clearSuccess() {
        result.hasSuccess = false;
        result.success_ = false;
        return this;
      }
      
      // optional .voldemort.Error error = 2;
      public boolean hasError() {
        return result.hasError();
      }
      public voldemort.client.protocol.pb.VProto.Error getError() {
        return result.getError();
      }
      public Builder setError(voldemort.client.protocol.pb.VProto.Error value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.hasError = true;
        result.error_ = value;
        return this;
      }
      public Builder setError(voldemort.client.protocol.pb.VProto.Error.Builder builderForValue) {
        result.hasError = true;
        result.error_ = builderForValue.build();
        return this;
      }
      public Builder mergeError(voldemort.client.protocol.pb.VProto.Error value) {
        if (result.hasError() &&
            result.error_ != voldemort.client.protocol.pb.VProto.Error.getDefaultInstance()) {
          result.error_ =
            voldemort.client.protocol.pb.VProto.Error.newBuilder(result.error_).mergeFrom(value).buildPartial();
        } else {
          result.error_ = value;
        }
        result.hasError = true;
        return this;
      }
      public Builder clearError() {
        result.hasError = false;
        result.error_ = voldemort.client.protocol.pb.VProto.Error.getDefaultInstance();
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:voldemort.DeleteResponse)
    }
    
    static {
      defaultInstance = new DeleteResponse(true);
      voldemort.client.protocol.pb.VProto.internalForceInit();
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:voldemort.DeleteResponse)
  }
  
  public static final class VoldemortRequest extends
      com.google.protobuf.GeneratedMessage {
    // Use VoldemortRequest.newBuilder() to construct.
    private VoldemortRequest() {
      initFields();
    }
    private VoldemortRequest(boolean noInit) {}
    
    private static final VoldemortRequest defaultInstance;
    public static VoldemortRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public VoldemortRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_VoldemortRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return voldemort.client.protocol.pb.VProto.internal_static_voldemort_VoldemortRequest_fieldAccessorTable;
    }
    
    // required .voldemort.RequestType type = 1;
    public static final int TYPE_FIELD_NUMBER = 1;
    private boolean hasType;
    private voldemort.client.protocol.pb.VProto.RequestType type_;
    public boolean hasType() { return hasType; }
    public voldemort.client.protocol.pb.VProto.RequestType getType() { return type_; }
    
    // required bool should_route = 2 [default = false];
    public static final int SHOULD_ROUTE_FIELD_NUMBER = 2;
    private boolean hasShouldRoute;
    private boolean shouldRoute_ = false;
    public boolean hasShouldRoute() { return hasShouldRoute; }
    public boolean getShouldRoute() { return shouldRoute_; }
    
    // required string store = 3;
    public static final int STORE_FIELD_NUMBER = 3;
    private boolean hasStore;
    private java.lang.String store_ = "";
    public boolean hasStore() { return hasStore; }
    public java.lang.String getStore() { return store_; }
    
    // optional .voldemort.GetRequest get = 4;
    public static final int GET_FIELD_NUMBER = 4;
    private boolean hasGet;
    private voldemort.client.protocol.pb.VProto.GetRequest get_;
    public boolean hasGet() { return hasGet; }
    public voldemort.client.protocol.pb.VProto.GetRequest getGet() { return get_; }
    
    // optional .voldemort.GetAllRequest getAll = 5;
    public static final int GETALL_FIELD_NUMBER = 5;
    private boolean hasGetAll;
    private voldemort.client.protocol.pb.VProto.GetAllRequest getAll_;
    public boolean hasGetAll() { return hasGetAll; }
    public voldemort.client.protocol.pb.VProto.GetAllRequest getGetAll() { return getAll_; }
    
    // optional .voldemort.PutRequest put = 6;
    public static final int PUT_FIELD_NUMBER = 6;
    private boolean hasPut;
    private voldemort.client.protocol.pb.VProto.PutRequest put_;
    public boolean hasPut() { return hasPut; }
    public voldemort.client.protocol.pb.VProto.PutRequest getPut() { return put_; }
    
    // optional .voldemort.DeleteRequest delete = 7;
    public static final int DELETE_FIELD_NUMBER = 7;
    private boolean hasDelete;
    private voldemort.client.protocol.pb.VProto.DeleteRequest delete_;
    public boolean hasDelete() { return hasDelete; }
    public voldemort.client.protocol.pb.VProto.DeleteRequest getDelete() { return delete_; }
    
    // optional int32 requestRouteType = 8;
    public static final int REQUESTROUTETYPE_FIELD_NUMBER = 8;
    private boolean hasRequestRouteType;
    private int requestRouteType_ = 0;
    public boolean hasRequestRouteType() { return hasRequestRouteType; }
    public int getRequestRouteType() { return requestRouteType_; }
    
    private void initFields() {
      type_ = voldemort.client.protocol.pb.VProto.RequestType.GET;
      get_ = voldemort.client.protocol.pb.VProto.GetRequest.getDefaultInstance();
      getAll_ = voldemort.client.protocol.pb.VProto.GetAllRequest.getDefaultInstance();
      put_ = voldemort.client.protocol.pb.VProto.PutRequest.getDefaultInstance();
      delete_ = voldemort.client.protocol.pb.VProto.DeleteRequest.getDefaultInstance();
    }
    public final boolean isInitialized() {
      if (!hasType) return false;
      if (!hasShouldRoute) return false;
      if (!hasStore) return false;
      if (hasGetAll()) {
        if (!getGetAll().isInitialized()) return false;
      }
      if (hasPut()) {
        if (!getPut().isInitialized()) return false;
      }
      if (hasDelete()) {
        if (!getDelete().isInitialized()) return false;
      }
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (hasType()) {
        output.writeEnum(1, getType().getNumber());
      }
      if (hasShouldRoute()) {
        output.writeBool(2, getShouldRoute());
      }
      if (hasStore()) {
        output.writeString(3, getStore());
      }
      if (hasGet()) {
        output.writeMessage(4, getGet());
      }
      if (hasGetAll()) {
        output.writeMessage(5, getGetAll());
      }
      if (hasPut()) {
        output.writeMessage(6, getPut());
      }
      if (hasDelete()) {
        output.writeMessage(7, getDelete());
      }
      if (hasRequestRouteType()) {
        output.writeInt32(8, getRequestRouteType());
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (hasType()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, getType().getNumber());
      }
      if (hasShouldRoute()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, getShouldRoute());
      }
      if (hasStore()) {
        size += com.google.protobuf.CodedOutputStream
          .computeStringSize(3, getStore());
      }
      if (hasGet()) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, getGet());
      }
      if (hasGetAll()) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, getGetAll());
      }
      if (hasPut()) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, getPut());
      }
      if (hasDelete()) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, getDelete());
      }
      if (hasRequestRouteType()) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(8, getRequestRouteType());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    public static voldemort.client.protocol.pb.VProto.VoldemortRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.VoldemortRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.VoldemortRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.VoldemortRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.VoldemortRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.VoldemortRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.VoldemortRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.VoldemortRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static voldemort.client.protocol.pb.VProto.VoldemortRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static voldemort.client.protocol.pb.VProto.VoldemortRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(voldemort.client.protocol.pb.VProto.VoldemortRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> {
      private voldemort.client.protocol.pb.VProto.VoldemortRequest result;
      
      // Construct using voldemort.client.protocol.pb.VProto.VoldemortRequest.newBuilder()
      private Builder() {}
      
      private static Builder create() {
        Builder builder = new Builder();
        builder.result = new voldemort.client.protocol.pb.VProto.VoldemortRequest();
        return builder;
      }
      
      protected voldemort.client.protocol.pb.VProto.VoldemortRequest internalGetResult() {
        return result;
      }
      
      public Builder clear() {
        if (result == null) {
          throw new IllegalStateException(
            "Cannot call clear() after build().");
        }
        result = new voldemort.client.protocol.pb.VProto.VoldemortRequest();
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(result);
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return voldemort.client.protocol.pb.VProto.VoldemortRequest.getDescriptor();
      }
      
      public voldemort.client.protocol.pb.VProto.VoldemortRequest getDefaultInstanceForType() {
        return voldemort.client.protocol.pb.VProto.VoldemortRequest.getDefaultInstance();
      }
      
      public boolean isInitialized() {
        return result.isInitialized();
      }
      public voldemort.client.protocol.pb.VProto.VoldemortRequest build() {
        if (result != null && !isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return buildPartial();
      }
      
      private voldemort.client.protocol.pb.VProto.VoldemortRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        if (!isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return buildPartial();
      }
      
      public voldemort.client.protocol.pb.VProto.VoldemortRequest buildPartial() {
        if (result == null) {
          throw new IllegalStateException(
            "build() has already been called on this Builder.");
        }
        voldemort.client.protocol.pb.VProto.VoldemortRequest returnMe = result;
        result = null;
        return returnMe;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof voldemort.client.protocol.pb.VProto.VoldemortRequest) {
          return mergeFrom((voldemort.client.protocol.pb.VProto.VoldemortRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(voldemort.client.protocol.pb.VProto.VoldemortRequest other) {
        if (other == voldemort.client.protocol.pb.VProto.VoldemortRequest.getDefaultInstance()) return this;
        if (other.hasType()) {
          setType(other.getType());
        }
        if (other.hasShouldRoute()) {
          setShouldRoute(other.getShouldRoute());
        }
        if (other.hasStore()) {
          setStore(other.getStore());
        }
        if (other.hasGet()) {
          mergeGet(other.getGet());
        }
        if (other.hasGetAll()) {
          mergeGetAll(other.getGetAll());
        }
        if (other.hasPut()) {
          mergePut(other.getPut());
        }
        if (other.hasDelete()) {
          mergeDelete(other.getDelete());
        }
        if (other.hasRequestRouteType()) {
          setRequestRouteType(other.getRequestRouteType());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                return this;
              }
              break;
            }
            case 8: {
              int rawValue = input.readEnum();
              voldemort.client.protocol.pb.VProto.RequestType value = voldemort.client.protocol.pb.VProto.RequestType.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(1, rawValue);
              } else {
                setType(value);
              }
              break;
            }
            case 16: {
              setShouldRoute(input.readBool());
              break;
            }
            case 26: {
              setStore(input.readString());
              break;
            }
            case 34: {
              voldemort.client.protocol.pb.VProto.GetRequest.Builder subBuilder = voldemort.client.protocol.pb.VProto.GetRequest.newBuilder();
              if (hasGet()) {
                subBuilder.mergeFrom(getGet());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setGet(subBuilder.buildPartial());
              break;
            }
            case 42: {
              voldemort.client.protocol.pb.VProto.GetAllRequest.Builder subBuilder = voldemort.client.protocol.pb.VProto.GetAllRequest.newBuilder();
              if (hasGetAll()) {
                subBuilder.mergeFrom(getGetAll());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setGetAll(subBuilder.buildPartial());
              break;
            }
            case 50: {
              voldemort.client.protocol.pb.VProto.PutRequest.Builder subBuilder = voldemort.client.protocol.pb.VProto.PutRequest.newBuilder();
              if (hasPut()) {
                subBuilder.mergeFrom(getPut());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setPut(subBuilder.buildPartial());
              break;
            }
            case 58: {
              voldemort.client.protocol.pb.VProto.DeleteRequest.Builder subBuilder = voldemort.client.protocol.pb.VProto.DeleteRequest.newBuilder();
              if (hasDelete()) {
                subBuilder.mergeFrom(getDelete());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setDelete(subBuilder.buildPartial());
              break;
            }
            case 64: {
              setRequestRouteType(input.readInt32());
              break;
            }
          }
        }
      }
      
      
      // required .voldemort.RequestType type = 1;
      public boolean hasType() {
        return result.hasType();
      }
      public voldemort.client.protocol.pb.VProto.RequestType getType() {
        return result.getType();
      }
      public Builder setType(voldemort.client.protocol.pb.VProto.RequestType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.hasType = true;
        result.type_ = value;
        return this;
      }
      public Builder clearType() {
        result.hasType = false;
        result.type_ = voldemort.client.protocol.pb.VProto.RequestType.GET;
        return this;
      }
      
      // required bool should_route = 2 [default = false];
      public boolean hasShouldRoute() {
        return result.hasShouldRoute();
      }
      public boolean getShouldRoute() {
        return result.getShouldRoute();
      }
      public Builder setShouldRoute(boolean value) {
        result.hasShouldRoute = true;
        result.shouldRoute_ = value;
        return this;
      }
      public Builder clearShouldRoute() {
        result.hasShouldRoute = false;
        result.shouldRoute_ = false;
        return this;
      }
      
      // required string store = 3;
      public boolean hasStore() {
        return result.hasStore();
      }
      public java.lang.String getStore() {
        return result.getStore();
      }
      public Builder setStore(java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  result.hasStore = true;
        result.store_ = value;
        return this;
      }
      public Builder clearStore() {
        result.hasStore = false;
        result.store_ = getDefaultInstance().getStore();
        return this;
      }
      
      // optional .voldemort.GetRequest get = 4;
      public boolean hasGet() {
        return result.hasGet();
      }
      public voldemort.client.protocol.pb.VProto.GetRequest getGet() {
        return result.getGet();
      }
      public Builder setGet(voldemort.client.protocol.pb.VProto.GetRequest value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.hasGet = true;
        result.get_ = value;
        return this;
      }
      public Builder setGet(voldemort.client.protocol.pb.VProto.GetRequest.Builder builderForValue) {
        result.hasGet = true;
        result.get_ = builderForValue.build();
        return this;
      }
      public Builder mergeGet(voldemort.client.protocol.pb.VProto.GetRequest value) {
        if (result.hasGet() &&
            result.get_ != voldemort.client.protocol.pb.VProto.GetRequest.getDefaultInstance()) {
          result.get_ =
            voldemort.client.protocol.pb.VProto.GetRequest.newBuilder(result.get_).mergeFrom(value).buildPartial();
        } else {
          result.get_ = value;
        }
        result.hasGet = true;
        return this;
      }
      public Builder clearGet() {
        result.hasGet = false;
        result.get_ = voldemort.client.protocol.pb.VProto.GetRequest.getDefaultInstance();
        return this;
      }
      
      // optional .voldemort.GetAllRequest getAll = 5;
      public boolean hasGetAll() {
        return result.hasGetAll();
      }
      public voldemort.client.protocol.pb.VProto.GetAllRequest getGetAll() {
        return result.getGetAll();
      }
      public Builder setGetAll(voldemort.client.protocol.pb.VProto.GetAllRequest value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.hasGetAll = true;
        result.getAll_ = value;
        return this;
      }
      public Builder setGetAll(voldemort.client.protocol.pb.VProto.GetAllRequest.Builder builderForValue) {
        result.hasGetAll = true;
        result.getAll_ = builderForValue.build();
        return this;
      }
      public Builder mergeGetAll(voldemort.client.protocol.pb.VProto.GetAllRequest value) {
        if (result.hasGetAll() &&
            result.getAll_ != voldemort.client.protocol.pb.VProto.GetAllRequest.getDefaultInstance()) {
          result.getAll_ =
            voldemort.client.protocol.pb.VProto.GetAllRequest.newBuilder(result.getAll_).mergeFrom(value).buildPartial();
        } else {
          result.getAll_ = value;
        }
        result.hasGetAll = true;
        return this;
      }
      public Builder clearGetAll() {
        result.hasGetAll = false;
        result.getAll_ = voldemort.client.protocol.pb.VProto.GetAllRequest.getDefaultInstance();
        return this;
      }
      
      // optional .voldemort.PutRequest put = 6;
      public boolean hasPut() {
        return result.hasPut();
      }
      public voldemort.client.protocol.pb.VProto.PutRequest getPut() {
        return result.getPut();
      }
      public Builder setPut(voldemort.client.protocol.pb.VProto.PutRequest value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.hasPut = true;
        result.put_ = value;
        return this;
      }
      public Builder setPut(voldemort.client.protocol.pb.VProto.PutRequest.Builder builderForValue) {
        result.hasPut = true;
        result.put_ = builderForValue.build();
        return this;
      }
      public Builder mergePut(voldemort.client.protocol.pb.VProto.PutRequest value) {
        if (result.hasPut() &&
            result.put_ != voldemort.client.protocol.pb.VProto.PutRequest.getDefaultInstance()) {
          result.put_ =
            voldemort.client.protocol.pb.VProto.PutRequest.newBuilder(result.put_).mergeFrom(value).buildPartial();
        } else {
          result.put_ = value;
        }
        result.hasPut = true;
        return this;
      }
      public Builder clearPut() {
        result.hasPut = false;
        result.put_ = voldemort.client.protocol.pb.VProto.PutRequest.getDefaultInstance();
        return this;
      }
      
      // optional .voldemort.DeleteRequest delete = 7;
      public boolean hasDelete() {
        return result.hasDelete();
      }
      public voldemort.client.protocol.pb.VProto.DeleteRequest getDelete() {
        return result.getDelete();
      }
      public Builder setDelete(voldemort.client.protocol.pb.VProto.DeleteRequest value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.hasDelete = true;
        result.delete_ = value;
        return this;
      }
      public Builder setDelete(voldemort.client.protocol.pb.VProto.DeleteRequest.Builder builderForValue) {
        result.hasDelete = true;
        result.delete_ = builderForValue.build();
        return this;
      }
      public Builder mergeDelete(voldemort.client.protocol.pb.VProto.DeleteRequest value) {
        if (result.hasDelete() &&
            result.delete_ != voldemort.client.protocol.pb.VProto.DeleteRequest.getDefaultInstance()) {
          result.delete_ =
            voldemort.client.protocol.pb.VProto.DeleteRequest.newBuilder(result.delete_).mergeFrom(value).buildPartial();
        } else {
          result.delete_ = value;
        }
        result.hasDelete = true;
        return this;
      }
      public Builder clearDelete() {
        result.hasDelete = false;
        result.delete_ = voldemort.client.protocol.pb.VProto.DeleteRequest.getDefaultInstance();
        return this;
      }
      
      // optional int32 requestRouteType = 8;
      public boolean hasRequestRouteType() {
        return result.hasRequestRouteType();
      }
      public int getRequestRouteType() {
        return result.getRequestRouteType();
      }
      public Builder setRequestRouteType(int value) {
        result.hasRequestRouteType = true;
        result.requestRouteType_ = value;
        return this;
      }
      public Builder clearRequestRouteType() {
        result.hasRequestRouteType = false;
        result.requestRouteType_ = 0;
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:voldemort.VoldemortRequest)
    }
    
    static {
      defaultInstance = new VoldemortRequest(true);
      voldemort.client.protocol.pb.VProto.internalForceInit();
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:voldemort.VoldemortRequest)
  }
  
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_voldemort_ClockEntry_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_voldemort_ClockEntry_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_voldemort_VectorClock_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_voldemort_VectorClock_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_voldemort_Versioned_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_voldemort_Versioned_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_voldemort_Error_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_voldemort_Error_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_voldemort_KeyedVersions_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_voldemort_KeyedVersions_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_voldemort_GetRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_voldemort_GetRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_voldemort_GetResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_voldemort_GetResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_voldemort_GetVersionResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_voldemort_GetVersionResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_voldemort_GetAllRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_voldemort_GetAllRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_voldemort_GetAllRequest_GetAllTransform_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_voldemort_GetAllRequest_GetAllTransform_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_voldemort_GetAllResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_voldemort_GetAllResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_voldemort_PutRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_voldemort_PutRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_voldemort_PutResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_voldemort_PutResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_voldemort_DeleteRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_voldemort_DeleteRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_voldemort_DeleteResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_voldemort_DeleteResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_voldemort_VoldemortRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_voldemort_VoldemortRequest_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\026voldemort-client.proto\022\tvoldemort\".\n\nC" +
      "lockEntry\022\017\n\007node_id\030\001 \002(\005\022\017\n\007version\030\002 " +
      "\002(\003\"H\n\013VectorClock\022&\n\007entries\030\001 \003(\0132\025.vo" +
      "ldemort.ClockEntry\022\021\n\ttimestamp\030\002 \001(\003\"C\n" +
      "\tVersioned\022\r\n\005value\030\001 \002(\014\022\'\n\007version\030\002 \002" +
      "(\0132\026.voldemort.VectorClock\"2\n\005Error\022\022\n\ne" +
      "rror_code\030\001 \002(\005\022\025\n\rerror_message\030\002 \002(\t\"D" +
      "\n\rKeyedVersions\022\013\n\003key\030\001 \002(\014\022&\n\010versions" +
      "\030\002 \003(\0132\024.voldemort.Versioned\"-\n\nGetReque" +
      "st\022\013\n\003key\030\001 \001(\014\022\022\n\ntransforms\030\002 \001(\014\"W\n\013G",
      "etResponse\022\'\n\tversioned\030\001 \003(\0132\024.voldemor" +
      "t.Versioned\022\037\n\005error\030\002 \001(\0132\020.voldemort.E" +
      "rror\"_\n\022GetVersionResponse\022(\n\010versions\030\001" +
      " \003(\0132\026.voldemort.VectorClock\022\037\n\005error\030\002 " +
      "\001(\0132\020.voldemort.Error\"\216\001\n\rGetAllRequest\022" +
      "\014\n\004keys\030\001 \003(\014\022<\n\ntransforms\030\002 \003(\0132(.vold" +
      "emort.GetAllRequest.GetAllTransform\0321\n\017G" +
      "etAllTransform\022\013\n\003key\030\001 \002(\014\022\021\n\ttransform" +
      "\030\002 \002(\014\"[\n\016GetAllResponse\022(\n\006values\030\001 \003(\013" +
      "2\030.voldemort.KeyedVersions\022\037\n\005error\030\002 \001(",
      "\0132\020.voldemort.Error\"V\n\nPutRequest\022\013\n\003key" +
      "\030\001 \002(\014\022\'\n\tversioned\030\002 \002(\0132\024.voldemort.Ve" +
      "rsioned\022\022\n\ntransforms\030\003 \001(\014\".\n\013PutRespon" +
      "se\022\037\n\005error\030\001 \001(\0132\020.voldemort.Error\"E\n\rD" +
      "eleteRequest\022\013\n\003key\030\001 \002(\014\022\'\n\007version\030\002 \002" +
      "(\0132\026.voldemort.VectorClock\"B\n\016DeleteResp" +
      "onse\022\017\n\007success\030\001 \002(\010\022\037\n\005error\030\002 \001(\0132\020.v" +
      "oldemort.Error\"\232\002\n\020VoldemortRequest\022$\n\004t" +
      "ype\030\001 \002(\0162\026.voldemort.RequestType\022\033\n\014sho" +
      "uld_route\030\002 \002(\010:\005false\022\r\n\005store\030\003 \002(\t\022\"\n",
      "\003get\030\004 \001(\0132\025.voldemort.GetRequest\022(\n\006get" +
      "All\030\005 \001(\0132\030.voldemort.GetAllRequest\022\"\n\003p" +
      "ut\030\006 \001(\0132\025.voldemort.PutRequest\022(\n\006delet" +
      "e\030\007 \001(\0132\030.voldemort.DeleteRequest\022\030\n\020req" +
      "uestRouteType\030\010 \001(\005*I\n\013RequestType\022\007\n\003GE" +
      "T\020\000\022\013\n\007GET_ALL\020\001\022\007\n\003PUT\020\002\022\n\n\006DELETE\020\003\022\017\n" +
      "\013GET_VERSION\020\004B(\n\034voldemort.client.proto" +
      "col.pbB\006VProtoH\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_voldemort_ClockEntry_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_voldemort_ClockEntry_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_voldemort_ClockEntry_descriptor,
              new java.lang.String[] { "NodeId", "Version", },
              voldemort.client.protocol.pb.VProto.ClockEntry.class,
              voldemort.client.protocol.pb.VProto.ClockEntry.Builder.class);
          internal_static_voldemort_VectorClock_descriptor =
            getDescriptor().getMessageTypes().get(1);
          internal_static_voldemort_VectorClock_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_voldemort_VectorClock_descriptor,
              new java.lang.String[] { "Entries", "Timestamp", },
              voldemort.client.protocol.pb.VProto.VectorClock.class,
              voldemort.client.protocol.pb.VProto.VectorClock.Builder.class);
          internal_static_voldemort_Versioned_descriptor =
            getDescriptor().getMessageTypes().get(2);
          internal_static_voldemort_Versioned_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_voldemort_Versioned_descriptor,
              new java.lang.String[] { "Value", "Version", },
              voldemort.client.protocol.pb.VProto.Versioned.class,
              voldemort.client.protocol.pb.VProto.Versioned.Builder.class);
          internal_static_voldemort_Error_descriptor =
            getDescriptor().getMessageTypes().get(3);
          internal_static_voldemort_Error_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_voldemort_Error_descriptor,
              new java.lang.String[] { "ErrorCode", "ErrorMessage", },
              voldemort.client.protocol.pb.VProto.Error.class,
              voldemort.client.protocol.pb.VProto.Error.Builder.class);
          internal_static_voldemort_KeyedVersions_descriptor =
            getDescriptor().getMessageTypes().get(4);
          internal_static_voldemort_KeyedVersions_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_voldemort_KeyedVersions_descriptor,
              new java.lang.String[] { "Key", "Versions", },
              voldemort.client.protocol.pb.VProto.KeyedVersions.class,
              voldemort.client.protocol.pb.VProto.KeyedVersions.Builder.class);
          internal_static_voldemort_GetRequest_descriptor =
            getDescriptor().getMessageTypes().get(5);
          internal_static_voldemort_GetRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_voldemort_GetRequest_descriptor,
              new java.lang.String[] { "Key", "Transforms", },
              voldemort.client.protocol.pb.VProto.GetRequest.class,
              voldemort.client.protocol.pb.VProto.GetRequest.Builder.class);
          internal_static_voldemort_GetResponse_descriptor =
            getDescriptor().getMessageTypes().get(6);
          internal_static_voldemort_GetResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_voldemort_GetResponse_descriptor,
              new java.lang.String[] { "Versioned", "Error", },
              voldemort.client.protocol.pb.VProto.GetResponse.class,
              voldemort.client.protocol.pb.VProto.GetResponse.Builder.class);
          internal_static_voldemort_GetVersionResponse_descriptor =
            getDescriptor().getMessageTypes().get(7);
          internal_static_voldemort_GetVersionResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_voldemort_GetVersionResponse_descriptor,
              new java.lang.String[] { "Versions", "Error", },
              voldemort.client.protocol.pb.VProto.GetVersionResponse.class,
              voldemort.client.protocol.pb.VProto.GetVersionResponse.Builder.class);
          internal_static_voldemort_GetAllRequest_descriptor =
            getDescriptor().getMessageTypes().get(8);
          internal_static_voldemort_GetAllRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_voldemort_GetAllRequest_descriptor,
              new java.lang.String[] { "Keys", "Transforms", },
              voldemort.client.protocol.pb.VProto.GetAllRequest.class,
              voldemort.client.protocol.pb.VProto.GetAllRequest.Builder.class);
          internal_static_voldemort_GetAllRequest_GetAllTransform_descriptor =
            internal_static_voldemort_GetAllRequest_descriptor.getNestedTypes().get(0);
          internal_static_voldemort_GetAllRequest_GetAllTransform_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_voldemort_GetAllRequest_GetAllTransform_descriptor,
              new java.lang.String[] { "Key", "Transform", },
              voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform.class,
              voldemort.client.protocol.pb.VProto.GetAllRequest.GetAllTransform.Builder.class);
          internal_static_voldemort_GetAllResponse_descriptor =
            getDescriptor().getMessageTypes().get(9);
          internal_static_voldemort_GetAllResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_voldemort_GetAllResponse_descriptor,
              new java.lang.String[] { "Values", "Error", },
              voldemort.client.protocol.pb.VProto.GetAllResponse.class,
              voldemort.client.protocol.pb.VProto.GetAllResponse.Builder.class);
          internal_static_voldemort_PutRequest_descriptor =
            getDescriptor().getMessageTypes().get(10);
          internal_static_voldemort_PutRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_voldemort_PutRequest_descriptor,
              new java.lang.String[] { "Key", "Versioned", "Transforms", },
              voldemort.client.protocol.pb.VProto.PutRequest.class,
              voldemort.client.protocol.pb.VProto.PutRequest.Builder.class);
          internal_static_voldemort_PutResponse_descriptor =
            getDescriptor().getMessageTypes().get(11);
          internal_static_voldemort_PutResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_voldemort_PutResponse_descriptor,
              new java.lang.String[] { "Error", },
              voldemort.client.protocol.pb.VProto.PutResponse.class,
              voldemort.client.protocol.pb.VProto.PutResponse.Builder.class);
          internal_static_voldemort_DeleteRequest_descriptor =
            getDescriptor().getMessageTypes().get(12);
          internal_static_voldemort_DeleteRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_voldemort_DeleteRequest_descriptor,
              new java.lang.String[] { "Key", "Version", },
              voldemort.client.protocol.pb.VProto.DeleteRequest.class,
              voldemort.client.protocol.pb.VProto.DeleteRequest.Builder.class);
          internal_static_voldemort_DeleteResponse_descriptor =
            getDescriptor().getMessageTypes().get(13);
          internal_static_voldemort_DeleteResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_voldemort_DeleteResponse_descriptor,
              new java.lang.String[] { "Success", "Error", },
              voldemort.client.protocol.pb.VProto.DeleteResponse.class,
              voldemort.client.protocol.pb.VProto.DeleteResponse.Builder.class);
          internal_static_voldemort_VoldemortRequest_descriptor =
            getDescriptor().getMessageTypes().get(14);
          internal_static_voldemort_VoldemortRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_voldemort_VoldemortRequest_descriptor,
              new java.lang.String[] { "Type", "ShouldRoute", "Store", "Get", "GetAll", "Put", "Delete", "RequestRouteType", },
              voldemort.client.protocol.pb.VProto.VoldemortRequest.class,
              voldemort.client.protocol.pb.VProto.VoldemortRequest.Builder.class);
          return null;
        }
      };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
  }
  
  public static void internalForceInit() {}
  
  // @@protoc_insertion_point(outer_class_scope)
}
