http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/7d8609e7/proto_src/org/waveprotocol/wave/concurrencycontrol/ClientServer.java
----------------------------------------------------------------------
diff --git 
a/proto_src/org/waveprotocol/wave/concurrencycontrol/ClientServer.java 
b/proto_src/org/waveprotocol/wave/concurrencycontrol/ClientServer.java
deleted file mode 100644
index 3339a93..0000000
--- a/proto_src/org/waveprotocol/wave/concurrencycontrol/ClientServer.java
+++ /dev/null
@@ -1,15561 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: org/waveprotocol/wave/concurrencycontrol/clientserver.proto
-
-package org.waveprotocol.wave.concurrencycontrol;
-
-public final class ClientServer {
-  private ClientServer() {}
-  public static void registerAllExtensions(
-      com.google.protobuf.ExtensionRegistry registry) {
-  }
-  public interface FetchWaveViewRequestOrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
-
-    // required string waveId = 1;
-    /**
-     * <code>required string waveId = 1;</code>
-     *
-     * <pre>
-     * Wave to open, URI path format.
-     * </pre>
-     */
-    boolean hasWaveId();
-    /**
-     * <code>required string waveId = 1;</code>
-     *
-     * <pre>
-     * Wave to open, URI path format.
-     * </pre>
-     */
-    java.lang.String getWaveId();
-    /**
-     * <code>required string waveId = 1;</code>
-     *
-     * <pre>
-     * Wave to open, URI path format.
-     * </pre>
-     */
-    com.google.protobuf.ByteString
-        getWaveIdBytes();
-
-    // repeated .concurrencycontrol.WaveletVersion knownWavelet = 2;
-    /**
-     * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-     *
-     * <pre>
-     * Wavelet versions the client already knows.
-     * At most one version per wavelet.
-     * </pre>
-     */
-    
java.util.List<org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion>
 
-        getKnownWaveletList();
-    /**
-     * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-     *
-     * <pre>
-     * Wavelet versions the client already knows.
-     * At most one version per wavelet.
-     * </pre>
-     */
-    org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion 
getKnownWavelet(int index);
-    /**
-     * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-     *
-     * <pre>
-     * Wavelet versions the client already knows.
-     * At most one version per wavelet.
-     * </pre>
-     */
-    int getKnownWaveletCount();
-    /**
-     * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-     *
-     * <pre>
-     * Wavelet versions the client already knows.
-     * At most one version per wavelet.
-     * </pre>
-     */
-    java.util.List<? extends 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersionOrBuilder> 
-        getKnownWaveletOrBuilderList();
-    /**
-     * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-     *
-     * <pre>
-     * Wavelet versions the client already knows.
-     * At most one version per wavelet.
-     * </pre>
-     */
-    
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersionOrBuilder 
getKnownWaveletOrBuilder(
-        int index);
-  }
-  /**
-   * Protobuf type {@code concurrencycontrol.FetchWaveViewRequest}
-   */
-  public static final class FetchWaveViewRequest extends
-      com.google.protobuf.GeneratedMessage
-      implements FetchWaveViewRequestOrBuilder {
-    // Use FetchWaveViewRequest.newBuilder() to construct.
-    private 
FetchWaveViewRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private FetchWaveViewRequest(boolean noInit) { this.unknownFields = 
com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final FetchWaveViewRequest defaultInstance;
-    public static FetchWaveViewRequest getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public FetchWaveViewRequest getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private FetchWaveViewRequest(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 10: {
-              bitField0_ |= 0x00000001;
-              waveId_ = input.readBytes();
-              break;
-            }
-            case 18: {
-              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
-                knownWavelet_ = new 
java.util.ArrayList<org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion>();
-                mutable_bitField0_ |= 0x00000002;
-              }
-              
knownWavelet_.add(input.readMessage(org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion.PARSER,
 extensionRegistry));
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
-          knownWavelet_ = 
java.util.Collections.unmodifiableList(knownWavelet_);
-        }
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return 
org.waveprotocol.wave.concurrencycontrol.ClientServer.internal_static_concurrencycontrol_FetchWaveViewRequest_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return 
org.waveprotocol.wave.concurrencycontrol.ClientServer.internal_static_concurrencycontrol_FetchWaveViewRequest_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest.class,
 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<FetchWaveViewRequest> PARSER =
-        new com.google.protobuf.AbstractParser<FetchWaveViewRequest>() {
-      public FetchWaveViewRequest parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new FetchWaveViewRequest(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<FetchWaveViewRequest> getParserForType() 
{
-      return PARSER;
-    }
-
-    private int bitField0_;
-    // required string waveId = 1;
-    public static final int WAVEID_FIELD_NUMBER = 1;
-    private java.lang.Object waveId_;
-    /**
-     * <code>required string waveId = 1;</code>
-     *
-     * <pre>
-     * Wave to open, URI path format.
-     * </pre>
-     */
-    public boolean hasWaveId() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>required string waveId = 1;</code>
-     *
-     * <pre>
-     * Wave to open, URI path format.
-     * </pre>
-     */
-    public java.lang.String getWaveId() {
-      java.lang.Object ref = waveId_;
-      if (ref instanceof java.lang.String) {
-        return (java.lang.String) ref;
-      } else {
-        com.google.protobuf.ByteString bs = 
-            (com.google.protobuf.ByteString) ref;
-        java.lang.String s = bs.toStringUtf8();
-        if (bs.isValidUtf8()) {
-          waveId_ = s;
-        }
-        return s;
-      }
-    }
-    /**
-     * <code>required string waveId = 1;</code>
-     *
-     * <pre>
-     * Wave to open, URI path format.
-     * </pre>
-     */
-    public com.google.protobuf.ByteString
-        getWaveIdBytes() {
-      java.lang.Object ref = waveId_;
-      if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        waveId_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-
-    // repeated .concurrencycontrol.WaveletVersion knownWavelet = 2;
-    public static final int KNOWNWAVELET_FIELD_NUMBER = 2;
-    private 
java.util.List<org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion>
 knownWavelet_;
-    /**
-     * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-     *
-     * <pre>
-     * Wavelet versions the client already knows.
-     * At most one version per wavelet.
-     * </pre>
-     */
-    public 
java.util.List<org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion>
 getKnownWaveletList() {
-      return knownWavelet_;
-    }
-    /**
-     * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-     *
-     * <pre>
-     * Wavelet versions the client already knows.
-     * At most one version per wavelet.
-     * </pre>
-     */
-    public java.util.List<? extends 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersionOrBuilder> 
-        getKnownWaveletOrBuilderList() {
-      return knownWavelet_;
-    }
-    /**
-     * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-     *
-     * <pre>
-     * Wavelet versions the client already knows.
-     * At most one version per wavelet.
-     * </pre>
-     */
-    public int getKnownWaveletCount() {
-      return knownWavelet_.size();
-    }
-    /**
-     * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-     *
-     * <pre>
-     * Wavelet versions the client already knows.
-     * At most one version per wavelet.
-     * </pre>
-     */
-    public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion 
getKnownWavelet(int index) {
-      return knownWavelet_.get(index);
-    }
-    /**
-     * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-     *
-     * <pre>
-     * Wavelet versions the client already knows.
-     * At most one version per wavelet.
-     * </pre>
-     */
-    public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersionOrBuilder 
getKnownWaveletOrBuilder(
-        int index) {
-      return knownWavelet_.get(index);
-    }
-
-    private void initFields() {
-      waveId_ = "";
-      knownWavelet_ = java.util.Collections.emptyList();
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-
-      if (!hasWaveId()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      for (int i = 0; i < getKnownWaveletCount(); i++) {
-        if (!getKnownWavelet(i).isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeBytes(1, getWaveIdBytes());
-      }
-      for (int i = 0; i < knownWavelet_.size(); i++) {
-        output.writeMessage(2, knownWavelet_.get(i));
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(1, getWaveIdBytes());
-      }
-      for (int i = 0; i < knownWavelet_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(2, knownWavelet_.get(i));
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest 
parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest 
parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest 
parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest 
parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest 
parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest 
parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest 
parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest 
parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest 
parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest 
parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder 
newBuilder(org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest
 prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code concurrencycontrol.FetchWaveViewRequest}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder>
-       implements 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequestOrBuilder
 {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return 
org.waveprotocol.wave.concurrencycontrol.ClientServer.internal_static_concurrencycontrol_FetchWaveViewRequest_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return 
org.waveprotocol.wave.concurrencycontrol.ClientServer.internal_static_concurrencycontrol_FetchWaveViewRequest_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest.class,
 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest.Builder.class);
-      }
-
-      // Construct using 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-          getKnownWaveletFieldBuilder();
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        waveId_ = "";
-        bitField0_ = (bitField0_ & ~0x00000001);
-        if (knownWaveletBuilder_ == null) {
-          knownWavelet_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000002);
-        } else {
-          knownWaveletBuilder_.clear();
-        }
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return 
org.waveprotocol.wave.concurrencycontrol.ClientServer.internal_static_concurrencycontrol_FetchWaveViewRequest_descriptor;
-      }
-
-      public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest 
getDefaultInstanceForType() {
-        return 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest.getDefaultInstance();
-      }
-
-      public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest 
build() {
-        
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest 
result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest 
buildPartial() {
-        
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest 
result = new 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.waveId_ = waveId_;
-        if (knownWaveletBuilder_ == null) {
-          if (((bitField0_ & 0x00000002) == 0x00000002)) {
-            knownWavelet_ = 
java.util.Collections.unmodifiableList(knownWavelet_);
-            bitField0_ = (bitField0_ & ~0x00000002);
-          }
-          result.knownWavelet_ = knownWavelet_;
-        } else {
-          result.knownWavelet_ = knownWaveletBuilder_.build();
-        }
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest) {
-          return 
mergeFrom((org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder 
mergeFrom(org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest
 other) {
-        if (other == 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest.getDefaultInstance())
 return this;
-        if (other.hasWaveId()) {
-          bitField0_ |= 0x00000001;
-          waveId_ = other.waveId_;
-          onChanged();
-        }
-        if (knownWaveletBuilder_ == null) {
-          if (!other.knownWavelet_.isEmpty()) {
-            if (knownWavelet_.isEmpty()) {
-              knownWavelet_ = other.knownWavelet_;
-              bitField0_ = (bitField0_ & ~0x00000002);
-            } else {
-              ensureKnownWaveletIsMutable();
-              knownWavelet_.addAll(other.knownWavelet_);
-            }
-            onChanged();
-          }
-        } else {
-          if (!other.knownWavelet_.isEmpty()) {
-            if (knownWaveletBuilder_.isEmpty()) {
-              knownWaveletBuilder_.dispose();
-              knownWaveletBuilder_ = null;
-              knownWavelet_ = other.knownWavelet_;
-              bitField0_ = (bitField0_ & ~0x00000002);
-              knownWaveletBuilder_ = 
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
-                   getKnownWaveletFieldBuilder() : null;
-            } else {
-              knownWaveletBuilder_.addAllMessages(other.knownWavelet_);
-            }
-          }
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasWaveId()) {
-          
-          return false;
-        }
-        for (int i = 0; i < getKnownWaveletCount(); i++) {
-          if (!getKnownWavelet(i).isInitialized()) {
-            
-            return false;
-          }
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest 
parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = 
(org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewRequest) 
e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      // required string waveId = 1;
-      private java.lang.Object waveId_ = "";
-      /**
-       * <code>required string waveId = 1;</code>
-       *
-       * <pre>
-       * Wave to open, URI path format.
-       * </pre>
-       */
-      public boolean hasWaveId() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required string waveId = 1;</code>
-       *
-       * <pre>
-       * Wave to open, URI path format.
-       * </pre>
-       */
-      public java.lang.String getWaveId() {
-        java.lang.Object ref = waveId_;
-        if (!(ref instanceof java.lang.String)) {
-          java.lang.String s = ((com.google.protobuf.ByteString) ref)
-              .toStringUtf8();
-          waveId_ = s;
-          return s;
-        } else {
-          return (java.lang.String) ref;
-        }
-      }
-      /**
-       * <code>required string waveId = 1;</code>
-       *
-       * <pre>
-       * Wave to open, URI path format.
-       * </pre>
-       */
-      public com.google.protobuf.ByteString
-          getWaveIdBytes() {
-        java.lang.Object ref = waveId_;
-        if (ref instanceof String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (java.lang.String) ref);
-          waveId_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
-        }
-      }
-      /**
-       * <code>required string waveId = 1;</code>
-       *
-       * <pre>
-       * Wave to open, URI path format.
-       * </pre>
-       */
-      public Builder setWaveId(
-          java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        waveId_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required string waveId = 1;</code>
-       *
-       * <pre>
-       * Wave to open, URI path format.
-       * </pre>
-       */
-      public Builder clearWaveId() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        waveId_ = getDefaultInstance().getWaveId();
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required string waveId = 1;</code>
-       *
-       * <pre>
-       * Wave to open, URI path format.
-       * </pre>
-       */
-      public Builder setWaveIdBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        waveId_ = value;
-        onChanged();
-        return this;
-      }
-
-      // repeated .concurrencycontrol.WaveletVersion knownWavelet = 2;
-      private 
java.util.List<org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion>
 knownWavelet_ =
-        java.util.Collections.emptyList();
-      private void ensureKnownWaveletIsMutable() {
-        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
-          knownWavelet_ = new 
java.util.ArrayList<org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion>(knownWavelet_);
-          bitField0_ |= 0x00000002;
-         }
-      }
-
-      private com.google.protobuf.RepeatedFieldBuilder<
-          
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion, 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion.Builder, 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersionOrBuilder> 
knownWaveletBuilder_;
-
-      /**
-       * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-       *
-       * <pre>
-       * Wavelet versions the client already knows.
-       * At most one version per wavelet.
-       * </pre>
-       */
-      public 
java.util.List<org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion>
 getKnownWaveletList() {
-        if (knownWaveletBuilder_ == null) {
-          return java.util.Collections.unmodifiableList(knownWavelet_);
-        } else {
-          return knownWaveletBuilder_.getMessageList();
-        }
-      }
-      /**
-       * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-       *
-       * <pre>
-       * Wavelet versions the client already knows.
-       * At most one version per wavelet.
-       * </pre>
-       */
-      public int getKnownWaveletCount() {
-        if (knownWaveletBuilder_ == null) {
-          return knownWavelet_.size();
-        } else {
-          return knownWaveletBuilder_.getCount();
-        }
-      }
-      /**
-       * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-       *
-       * <pre>
-       * Wavelet versions the client already knows.
-       * At most one version per wavelet.
-       * </pre>
-       */
-      public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion 
getKnownWavelet(int index) {
-        if (knownWaveletBuilder_ == null) {
-          return knownWavelet_.get(index);
-        } else {
-          return knownWaveletBuilder_.getMessage(index);
-        }
-      }
-      /**
-       * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-       *
-       * <pre>
-       * Wavelet versions the client already knows.
-       * At most one version per wavelet.
-       * </pre>
-       */
-      public Builder setKnownWavelet(
-          int index, 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion value) {
-        if (knownWaveletBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureKnownWaveletIsMutable();
-          knownWavelet_.set(index, value);
-          onChanged();
-        } else {
-          knownWaveletBuilder_.setMessage(index, value);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-       *
-       * <pre>
-       * Wavelet versions the client already knows.
-       * At most one version per wavelet.
-       * </pre>
-       */
-      public Builder setKnownWavelet(
-          int index, 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion.Builder 
builderForValue) {
-        if (knownWaveletBuilder_ == null) {
-          ensureKnownWaveletIsMutable();
-          knownWavelet_.set(index, builderForValue.build());
-          onChanged();
-        } else {
-          knownWaveletBuilder_.setMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-       *
-       * <pre>
-       * Wavelet versions the client already knows.
-       * At most one version per wavelet.
-       * </pre>
-       */
-      public Builder 
addKnownWavelet(org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion
 value) {
-        if (knownWaveletBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureKnownWaveletIsMutable();
-          knownWavelet_.add(value);
-          onChanged();
-        } else {
-          knownWaveletBuilder_.addMessage(value);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-       *
-       * <pre>
-       * Wavelet versions the client already knows.
-       * At most one version per wavelet.
-       * </pre>
-       */
-      public Builder addKnownWavelet(
-          int index, 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion value) {
-        if (knownWaveletBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureKnownWaveletIsMutable();
-          knownWavelet_.add(index, value);
-          onChanged();
-        } else {
-          knownWaveletBuilder_.addMessage(index, value);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-       *
-       * <pre>
-       * Wavelet versions the client already knows.
-       * At most one version per wavelet.
-       * </pre>
-       */
-      public Builder addKnownWavelet(
-          
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion.Builder 
builderForValue) {
-        if (knownWaveletBuilder_ == null) {
-          ensureKnownWaveletIsMutable();
-          knownWavelet_.add(builderForValue.build());
-          onChanged();
-        } else {
-          knownWaveletBuilder_.addMessage(builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-       *
-       * <pre>
-       * Wavelet versions the client already knows.
-       * At most one version per wavelet.
-       * </pre>
-       */
-      public Builder addKnownWavelet(
-          int index, 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion.Builder 
builderForValue) {
-        if (knownWaveletBuilder_ == null) {
-          ensureKnownWaveletIsMutable();
-          knownWavelet_.add(index, builderForValue.build());
-          onChanged();
-        } else {
-          knownWaveletBuilder_.addMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-       *
-       * <pre>
-       * Wavelet versions the client already knows.
-       * At most one version per wavelet.
-       * </pre>
-       */
-      public Builder addAllKnownWavelet(
-          java.lang.Iterable<? extends 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion> values) {
-        if (knownWaveletBuilder_ == null) {
-          ensureKnownWaveletIsMutable();
-          super.addAll(values, knownWavelet_);
-          onChanged();
-        } else {
-          knownWaveletBuilder_.addAllMessages(values);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-       *
-       * <pre>
-       * Wavelet versions the client already knows.
-       * At most one version per wavelet.
-       * </pre>
-       */
-      public Builder clearKnownWavelet() {
-        if (knownWaveletBuilder_ == null) {
-          knownWavelet_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000002);
-          onChanged();
-        } else {
-          knownWaveletBuilder_.clear();
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-       *
-       * <pre>
-       * Wavelet versions the client already knows.
-       * At most one version per wavelet.
-       * </pre>
-       */
-      public Builder removeKnownWavelet(int index) {
-        if (knownWaveletBuilder_ == null) {
-          ensureKnownWaveletIsMutable();
-          knownWavelet_.remove(index);
-          onChanged();
-        } else {
-          knownWaveletBuilder_.remove(index);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-       *
-       * <pre>
-       * Wavelet versions the client already knows.
-       * At most one version per wavelet.
-       * </pre>
-       */
-      public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion.Builder 
getKnownWaveletBuilder(
-          int index) {
-        return getKnownWaveletFieldBuilder().getBuilder(index);
-      }
-      /**
-       * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-       *
-       * <pre>
-       * Wavelet versions the client already knows.
-       * At most one version per wavelet.
-       * </pre>
-       */
-      public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersionOrBuilder 
getKnownWaveletOrBuilder(
-          int index) {
-        if (knownWaveletBuilder_ == null) {
-          return knownWavelet_.get(index);  } else {
-          return knownWaveletBuilder_.getMessageOrBuilder(index);
-        }
-      }
-      /**
-       * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-       *
-       * <pre>
-       * Wavelet versions the client already knows.
-       * At most one version per wavelet.
-       * </pre>
-       */
-      public java.util.List<? extends 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersionOrBuilder> 
-           getKnownWaveletOrBuilderList() {
-        if (knownWaveletBuilder_ != null) {
-          return knownWaveletBuilder_.getMessageOrBuilderList();
-        } else {
-          return java.util.Collections.unmodifiableList(knownWavelet_);
-        }
-      }
-      /**
-       * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-       *
-       * <pre>
-       * Wavelet versions the client already knows.
-       * At most one version per wavelet.
-       * </pre>
-       */
-      public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion.Builder 
addKnownWaveletBuilder() {
-        return getKnownWaveletFieldBuilder().addBuilder(
-            
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion.getDefaultInstance());
-      }
-      /**
-       * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-       *
-       * <pre>
-       * Wavelet versions the client already knows.
-       * At most one version per wavelet.
-       * </pre>
-       */
-      public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion.Builder 
addKnownWaveletBuilder(
-          int index) {
-        return getKnownWaveletFieldBuilder().addBuilder(
-            index, 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion.getDefaultInstance());
-      }
-      /**
-       * <code>repeated .concurrencycontrol.WaveletVersion knownWavelet = 
2;</code>
-       *
-       * <pre>
-       * Wavelet versions the client already knows.
-       * At most one version per wavelet.
-       * </pre>
-       */
-      public 
java.util.List<org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion.Builder>
 
-           getKnownWaveletBuilderList() {
-        return getKnownWaveletFieldBuilder().getBuilderList();
-      }
-      private com.google.protobuf.RepeatedFieldBuilder<
-          
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion, 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion.Builder, 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersionOrBuilder> 
-          getKnownWaveletFieldBuilder() {
-        if (knownWaveletBuilder_ == null) {
-          knownWaveletBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion, 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersion.Builder, 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletVersionOrBuilder>(
-                  knownWavelet_,
-                  ((bitField0_ & 0x00000002) == 0x00000002),
-                  getParentForChildren(),
-                  isClean());
-          knownWavelet_ = null;
-        }
-        return knownWaveletBuilder_;
-      }
-
-      // 
@@protoc_insertion_point(builder_scope:concurrencycontrol.FetchWaveViewRequest)
-    }
-
-    static {
-      defaultInstance = new FetchWaveViewRequest(true);
-      defaultInstance.initFields();
-    }
-
-    // 
@@protoc_insertion_point(class_scope:concurrencycontrol.FetchWaveViewRequest)
-  }
-
-  public interface FetchWaveViewResponseOrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
-
-    // required .concurrencycontrol.ResponseStatus status = 1;
-    /**
-     * <code>required .concurrencycontrol.ResponseStatus status = 1;</code>
-     */
-    boolean hasStatus();
-    /**
-     * <code>required .concurrencycontrol.ResponseStatus status = 1;</code>
-     */
-    org.waveprotocol.wave.concurrencycontrol.ClientServer.ResponseStatus 
getStatus();
-    /**
-     * <code>required .concurrencycontrol.ResponseStatus status = 1;</code>
-     */
-    
org.waveprotocol.wave.concurrencycontrol.ClientServer.ResponseStatusOrBuilder 
getStatusOrBuilder();
-
-    // repeated .concurrencycontrol.FetchWaveViewResponse.Wavelet wavelet = 2;
-    /**
-     * <code>repeated .concurrencycontrol.FetchWaveViewResponse.Wavelet 
wavelet = 2;</code>
-     */
-    
java.util.List<org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet>
 
-        getWaveletList();
-    /**
-     * <code>repeated .concurrencycontrol.FetchWaveViewResponse.Wavelet 
wavelet = 2;</code>
-     */
-    
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet
 getWavelet(int index);
-    /**
-     * <code>repeated .concurrencycontrol.FetchWaveViewResponse.Wavelet 
wavelet = 2;</code>
-     */
-    int getWaveletCount();
-    /**
-     * <code>repeated .concurrencycontrol.FetchWaveViewResponse.Wavelet 
wavelet = 2;</code>
-     */
-    java.util.List<? extends 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.WaveletOrBuilder>
 
-        getWaveletOrBuilderList();
-    /**
-     * <code>repeated .concurrencycontrol.FetchWaveViewResponse.Wavelet 
wavelet = 2;</code>
-     */
-    
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.WaveletOrBuilder
 getWaveletOrBuilder(
-        int index);
-  }
-  /**
-   * Protobuf type {@code concurrencycontrol.FetchWaveViewResponse}
-   */
-  public static final class FetchWaveViewResponse extends
-      com.google.protobuf.GeneratedMessage
-      implements FetchWaveViewResponseOrBuilder {
-    // Use FetchWaveViewResponse.newBuilder() to construct.
-    private 
FetchWaveViewResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private FetchWaveViewResponse(boolean noInit) { this.unknownFields = 
com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final FetchWaveViewResponse defaultInstance;
-    public static FetchWaveViewResponse getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public FetchWaveViewResponse getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private FetchWaveViewResponse(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 10: {
-              
org.waveprotocol.wave.concurrencycontrol.ClientServer.ResponseStatus.Builder 
subBuilder = null;
-              if (((bitField0_ & 0x00000001) == 0x00000001)) {
-                subBuilder = status_.toBuilder();
-              }
-              status_ = 
input.readMessage(org.waveprotocol.wave.concurrencycontrol.ClientServer.ResponseStatus.PARSER,
 extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(status_);
-                status_ = subBuilder.buildPartial();
-              }
-              bitField0_ |= 0x00000001;
-              break;
-            }
-            case 18: {
-              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
-                wavelet_ = new 
java.util.ArrayList<org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet>();
-                mutable_bitField0_ |= 0x00000002;
-              }
-              
wavelet_.add(input.readMessage(org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet.PARSER,
 extensionRegistry));
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
-          wavelet_ = java.util.Collections.unmodifiableList(wavelet_);
-        }
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return 
org.waveprotocol.wave.concurrencycontrol.ClientServer.internal_static_concurrencycontrol_FetchWaveViewResponse_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return 
org.waveprotocol.wave.concurrencycontrol.ClientServer.internal_static_concurrencycontrol_FetchWaveViewResponse_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.class,
 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<FetchWaveViewResponse> PARSER =
-        new com.google.protobuf.AbstractParser<FetchWaveViewResponse>() {
-      public FetchWaveViewResponse parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new FetchWaveViewResponse(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<FetchWaveViewResponse> 
getParserForType() {
-      return PARSER;
-    }
-
-    public interface WaveletOrBuilder
-        extends com.google.protobuf.MessageOrBuilder {
-
-      // required string waveletId = 1;
-      /**
-       * <code>required string waveletId = 1;</code>
-       *
-       * <pre>
-       * The wavelet in view, URI path format.
-       * </pre>
-       */
-      boolean hasWaveletId();
-      /**
-       * <code>required string waveletId = 1;</code>
-       *
-       * <pre>
-       * The wavelet in view, URI path format.
-       * </pre>
-       */
-      java.lang.String getWaveletId();
-      /**
-       * <code>required string waveletId = 1;</code>
-       *
-       * <pre>
-       * The wavelet in view, URI path format.
-       * </pre>
-       */
-      com.google.protobuf.ByteString
-          getWaveletIdBytes();
-
-      // optional .concurrencycontrol.WaveletSnapshot snapshot = 2;
-      /**
-       * <code>optional .concurrencycontrol.WaveletSnapshot snapshot = 
2;</code>
-       *
-       * <pre>
-       * Snapshot of the wavelet; omitted if the client already knew it.
-       * </pre>
-       */
-      boolean hasSnapshot();
-      /**
-       * <code>optional .concurrencycontrol.WaveletSnapshot snapshot = 
2;</code>
-       *
-       * <pre>
-       * Snapshot of the wavelet; omitted if the client already knew it.
-       * </pre>
-       */
-      org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot 
getSnapshot();
-      /**
-       * <code>optional .concurrencycontrol.WaveletSnapshot snapshot = 
2;</code>
-       *
-       * <pre>
-       * Snapshot of the wavelet; omitted if the client already knew it.
-       * </pre>
-       */
-      
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshotOrBuilder 
getSnapshotOrBuilder();
-    }
-    /**
-     * Protobuf type {@code concurrencycontrol.FetchWaveViewResponse.Wavelet}
-     */
-    public static final class Wavelet extends
-        com.google.protobuf.GeneratedMessage
-        implements WaveletOrBuilder {
-      // Use Wavelet.newBuilder() to construct.
-      private Wavelet(com.google.protobuf.GeneratedMessage.Builder<?> builder) 
{
-        super(builder);
-        this.unknownFields = builder.getUnknownFields();
-      }
-      private Wavelet(boolean noInit) { this.unknownFields = 
com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-      private static final Wavelet defaultInstance;
-      public static Wavelet getDefaultInstance() {
-        return defaultInstance;
-      }
-
-      public Wavelet getDefaultInstanceForType() {
-        return defaultInstance;
-      }
-
-      private final com.google.protobuf.UnknownFieldSet unknownFields;
-      @java.lang.Override
-      public final com.google.protobuf.UnknownFieldSet
-          getUnknownFields() {
-        return this.unknownFields;
-      }
-      private Wavelet(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        initFields();
-        int mutable_bitField0_ = 0;
-        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-            com.google.protobuf.UnknownFieldSet.newBuilder();
-        try {
-          boolean done = false;
-          while (!done) {
-            int tag = input.readTag();
-            switch (tag) {
-              case 0:
-                done = true;
-                break;
-              default: {
-                if (!parseUnknownField(input, unknownFields,
-                                       extensionRegistry, tag)) {
-                  done = true;
-                }
-                break;
-              }
-              case 10: {
-                bitField0_ |= 0x00000001;
-                waveletId_ = input.readBytes();
-                break;
-              }
-              case 18: {
-                
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot.Builder 
subBuilder = null;
-                if (((bitField0_ & 0x00000002) == 0x00000002)) {
-                  subBuilder = snapshot_.toBuilder();
-                }
-                snapshot_ = 
input.readMessage(org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot.PARSER,
 extensionRegistry);
-                if (subBuilder != null) {
-                  subBuilder.mergeFrom(snapshot_);
-                  snapshot_ = subBuilder.buildPartial();
-                }
-                bitField0_ |= 0x00000002;
-                break;
-              }
-            }
-          }
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          throw e.setUnfinishedMessage(this);
-        } catch (java.io.IOException e) {
-          throw new com.google.protobuf.InvalidProtocolBufferException(
-              e.getMessage()).setUnfinishedMessage(this);
-        } finally {
-          this.unknownFields = unknownFields.build();
-          makeExtensionsImmutable();
-        }
-      }
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return 
org.waveprotocol.wave.concurrencycontrol.ClientServer.internal_static_concurrencycontrol_FetchWaveViewResponse_Wavelet_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return 
org.waveprotocol.wave.concurrencycontrol.ClientServer.internal_static_concurrencycontrol_FetchWaveViewResponse_Wavelet_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet.class,
 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet.Builder.class);
-      }
-
-      public static com.google.protobuf.Parser<Wavelet> PARSER =
-          new com.google.protobuf.AbstractParser<Wavelet>() {
-        public Wavelet parsePartialFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
-          return new Wavelet(input, extensionRegistry);
-        }
-      };
-
-      @java.lang.Override
-      public com.google.protobuf.Parser<Wavelet> getParserForType() {
-        return PARSER;
-      }
-
-      private int bitField0_;
-      // required string waveletId = 1;
-      public static final int WAVELETID_FIELD_NUMBER = 1;
-      private java.lang.Object waveletId_;
-      /**
-       * <code>required string waveletId = 1;</code>
-       *
-       * <pre>
-       * The wavelet in view, URI path format.
-       * </pre>
-       */
-      public boolean hasWaveletId() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required string waveletId = 1;</code>
-       *
-       * <pre>
-       * The wavelet in view, URI path format.
-       * </pre>
-       */
-      public java.lang.String getWaveletId() {
-        java.lang.Object ref = waveletId_;
-        if (ref instanceof java.lang.String) {
-          return (java.lang.String) ref;
-        } else {
-          com.google.protobuf.ByteString bs = 
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            waveletId_ = s;
-          }
-          return s;
-        }
-      }
-      /**
-       * <code>required string waveletId = 1;</code>
-       *
-       * <pre>
-       * The wavelet in view, URI path format.
-       * </pre>
-       */
-      public com.google.protobuf.ByteString
-          getWaveletIdBytes() {
-        java.lang.Object ref = waveletId_;
-        if (ref instanceof java.lang.String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (java.lang.String) ref);
-          waveletId_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
-        }
-      }
-
-      // optional .concurrencycontrol.WaveletSnapshot snapshot = 2;
-      public static final int SNAPSHOT_FIELD_NUMBER = 2;
-      private 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot snapshot_;
-      /**
-       * <code>optional .concurrencycontrol.WaveletSnapshot snapshot = 
2;</code>
-       *
-       * <pre>
-       * Snapshot of the wavelet; omitted if the client already knew it.
-       * </pre>
-       */
-      public boolean hasSnapshot() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>optional .concurrencycontrol.WaveletSnapshot snapshot = 
2;</code>
-       *
-       * <pre>
-       * Snapshot of the wavelet; omitted if the client already knew it.
-       * </pre>
-       */
-      public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot 
getSnapshot() {
-        return snapshot_;
-      }
-      /**
-       * <code>optional .concurrencycontrol.WaveletSnapshot snapshot = 
2;</code>
-       *
-       * <pre>
-       * Snapshot of the wavelet; omitted if the client already knew it.
-       * </pre>
-       */
-      public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshotOrBuilder 
getSnapshotOrBuilder() {
-        return snapshot_;
-      }
-
-      private void initFields() {
-        waveletId_ = "";
-        snapshot_ = 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot.getDefaultInstance();
-      }
-      private byte memoizedIsInitialized = -1;
-      public final boolean isInitialized() {
-        byte isInitialized = memoizedIsInitialized;
-        if (isInitialized != -1) return isInitialized == 1;
-
-        if (!hasWaveletId()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-        if (hasSnapshot()) {
-          if (!getSnapshot().isInitialized()) {
-            memoizedIsInitialized = 0;
-            return false;
-          }
-        }
-        memoizedIsInitialized = 1;
-        return true;
-      }
-
-      public void writeTo(com.google.protobuf.CodedOutputStream output)
-                          throws java.io.IOException {
-        getSerializedSize();
-        if (((bitField0_ & 0x00000001) == 0x00000001)) {
-          output.writeBytes(1, getWaveletIdBytes());
-        }
-        if (((bitField0_ & 0x00000002) == 0x00000002)) {
-          output.writeMessage(2, snapshot_);
-        }
-        getUnknownFields().writeTo(output);
-      }
-
-      private int memoizedSerializedSize = -1;
-      public int getSerializedSize() {
-        int size = memoizedSerializedSize;
-        if (size != -1) return size;
-
-        size = 0;
-        if (((bitField0_ & 0x00000001) == 0x00000001)) {
-          size += com.google.protobuf.CodedOutputStream
-            .computeBytesSize(1, getWaveletIdBytes());
-        }
-        if (((bitField0_ & 0x00000002) == 0x00000002)) {
-          size += com.google.protobuf.CodedOutputStream
-            .computeMessageSize(2, snapshot_);
-        }
-        size += getUnknownFields().getSerializedSize();
-        memoizedSerializedSize = size;
-        return size;
-      }
-
-      private static final long serialVersionUID = 0L;
-      @java.lang.Override
-      protected java.lang.Object writeReplace()
-          throws java.io.ObjectStreamException {
-        return super.writeReplace();
-      }
-
-      public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet
 parseFrom(
-          com.google.protobuf.ByteString data)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data);
-      }
-      public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet
 parseFrom(
-          com.google.protobuf.ByteString data,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data, extensionRegistry);
-      }
-      public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet
 parseFrom(byte[] data)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data);
-      }
-      public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet
 parseFrom(
-          byte[] data,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data, extensionRegistry);
-      }
-      public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet
 parseFrom(java.io.InputStream input)
-          throws java.io.IOException {
-        return PARSER.parseFrom(input);
-      }
-      public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet
 parseFrom(
-          java.io.InputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return PARSER.parseFrom(input, extensionRegistry);
-      }
-      public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet
 parseDelimitedFrom(java.io.InputStream input)
-          throws java.io.IOException {
-        return PARSER.parseDelimitedFrom(input);
-      }
-      public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet
 parseDelimitedFrom(
-          java.io.InputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return PARSER.parseDelimitedFrom(input, extensionRegistry);
-      }
-      public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet
 parseFrom(
-          com.google.protobuf.CodedInputStream input)
-          throws java.io.IOException {
-        return PARSER.parseFrom(input);
-      }
-      public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet
 parseFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return PARSER.parseFrom(input, extensionRegistry);
-      }
-
-      public static Builder newBuilder() { return Builder.create(); }
-      public Builder newBuilderForType() { return newBuilder(); }
-      public static Builder 
newBuilder(org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet
 prototype) {
-        return newBuilder().mergeFrom(prototype);
-      }
-      public Builder toBuilder() { return newBuilder(this); }
-
-      @java.lang.Override
-      protected Builder newBuilderForType(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        Builder builder = new Builder(parent);
-        return builder;
-      }
-      /**
-       * Protobuf type {@code concurrencycontrol.FetchWaveViewResponse.Wavelet}
-       */
-      public static final class Builder extends
-          com.google.protobuf.GeneratedMessage.Builder<Builder>
-         implements 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.WaveletOrBuilder
 {
-        public static final com.google.protobuf.Descriptors.Descriptor
-            getDescriptor() {
-          return 
org.waveprotocol.wave.concurrencycontrol.ClientServer.internal_static_concurrencycontrol_FetchWaveViewResponse_Wavelet_descriptor;
-        }
-
-        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-            internalGetFieldAccessorTable() {
-          return 
org.waveprotocol.wave.concurrencycontrol.ClientServer.internal_static_concurrencycontrol_FetchWaveViewResponse_Wavelet_fieldAccessorTable
-              .ensureFieldAccessorsInitialized(
-                  
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet.class,
 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet.Builder.class);
-        }
-
-        // Construct using 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet.newBuilder()
-        private Builder() {
-          maybeForceBuilderInitialization();
-        }
-
-        private Builder(
-            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-          super(parent);
-          maybeForceBuilderInitialization();
-        }
-        private void maybeForceBuilderInitialization() {
-          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-            getSnapshotFieldBuilder();
-          }
-        }
-        private static Builder create() {
-          return new Builder();
-        }
-
-        public Builder clear() {
-          super.clear();
-          waveletId_ = "";
-          bitField0_ = (bitField0_ & ~0x00000001);
-          if (snapshotBuilder_ == null) {
-            snapshot_ = 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot.getDefaultInstance();
-          } else {
-            snapshotBuilder_.clear();
-          }
-          bitField0_ = (bitField0_ & ~0x00000002);
-          return this;
-        }
-
-        public Builder clone() {
-          return create().mergeFrom(buildPartial());
-        }
-
-        public com.google.protobuf.Descriptors.Descriptor
-            getDescriptorForType() {
-          return 
org.waveprotocol.wave.concurrencycontrol.ClientServer.internal_static_concurrencycontrol_FetchWaveViewResponse_Wavelet_descriptor;
-        }
-
-        public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet
 getDefaultInstanceForType() {
-          return 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet.getDefaultInstance();
-        }
-
-        public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet
 build() {
-          
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet
 result = buildPartial();
-          if (!result.isInitialized()) {
-            throw newUninitializedMessageException(result);
-          }
-          return result;
-        }
-
-        public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet
 buildPartial() {
-          
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet
 result = new 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet(this);
-          int from_bitField0_ = bitField0_;
-          int to_bitField0_ = 0;
-          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-            to_bitField0_ |= 0x00000001;
-          }
-          result.waveletId_ = waveletId_;
-          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-            to_bitField0_ |= 0x00000002;
-          }
-          if (snapshotBuilder_ == null) {
-            result.snapshot_ = snapshot_;
-          } else {
-            result.snapshot_ = snapshotBuilder_.build();
-          }
-          result.bitField0_ = to_bitField0_;
-          onBuilt();
-          return result;
-        }
-
-        public Builder mergeFrom(com.google.protobuf.Message other) {
-          if (other instanceof 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet)
 {
-            return 
mergeFrom((org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet)other);
-          } else {
-            super.mergeFrom(other);
-            return this;
-          }
-        }
-
-        public Builder 
mergeFrom(org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet
 other) {
-          if (other == 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet.getDefaultInstance())
 return this;
-          if (other.hasWaveletId()) {
-            bitField0_ |= 0x00000001;
-            waveletId_ = other.waveletId_;
-            onChanged();
-          }
-          if (other.hasSnapshot()) {
-            mergeSnapshot(other.getSnapshot());
-          }
-          this.mergeUnknownFields(other.getUnknownFields());
-          return this;
-        }
-
-        public final boolean isInitialized() {
-          if (!hasWaveletId()) {
-            
-            return false;
-          }
-          if (hasSnapshot()) {
-            if (!getSnapshot().isInitialized()) {
-              
-              return false;
-            }
-          }
-          return true;
-        }
-
-        public Builder mergeFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
-          
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet
 parsedMessage = null;
-          try {
-            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-            parsedMessage = 
(org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet)
 e.getUnfinishedMessage();
-            throw e;
-          } finally {
-            if (parsedMessage != null) {
-              mergeFrom(parsedMessage);
-            }
-          }
-          return this;
-        }
-        private int bitField0_;
-
-        // required string waveletId = 1;
-        private java.lang.Object waveletId_ = "";
-        /**
-         * <code>required string waveletId = 1;</code>
-         *
-         * <pre>
-         * The wavelet in view, URI path format.
-         * </pre>
-         */
-        public boolean hasWaveletId() {
-          return ((bitField0_ & 0x00000001) == 0x00000001);
-        }
-        /**
-         * <code>required string waveletId = 1;</code>
-         *
-         * <pre>
-         * The wavelet in view, URI path format.
-         * </pre>
-         */
-        public java.lang.String getWaveletId() {
-          java.lang.Object ref = waveletId_;
-          if (!(ref instanceof java.lang.String)) {
-            java.lang.String s = ((com.google.protobuf.ByteString) ref)
-                .toStringUtf8();
-            waveletId_ = s;
-            return s;
-          } else {
-            return (java.lang.String) ref;
-          }
-        }
-        /**
-         * <code>required string waveletId = 1;</code>
-         *
-         * <pre>
-         * The wavelet in view, URI path format.
-         * </pre>
-         */
-        public com.google.protobuf.ByteString
-            getWaveletIdBytes() {
-          java.lang.Object ref = waveletId_;
-          if (ref instanceof String) {
-            com.google.protobuf.ByteString b = 
-                com.google.protobuf.ByteString.copyFromUtf8(
-                    (java.lang.String) ref);
-            waveletId_ = b;
-            return b;
-          } else {
-            return (com.google.protobuf.ByteString) ref;
-          }
-        }
-        /**
-         * <code>required string waveletId = 1;</code>
-         *
-         * <pre>
-         * The wavelet in view, URI path format.
-         * </pre>
-         */
-        public Builder setWaveletId(
-            java.lang.String value) {
-          if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-          waveletId_ = value;
-          onChanged();
-          return this;
-        }
-        /**
-         * <code>required string waveletId = 1;</code>
-         *
-         * <pre>
-         * The wavelet in view, URI path format.
-         * </pre>
-         */
-        public Builder clearWaveletId() {
-          bitField0_ = (bitField0_ & ~0x00000001);
-          waveletId_ = getDefaultInstance().getWaveletId();
-          onChanged();
-          return this;
-        }
-        /**
-         * <code>required string waveletId = 1;</code>
-         *
-         * <pre>
-         * The wavelet in view, URI path format.
-         * </pre>
-         */
-        public Builder setWaveletIdBytes(
-            com.google.protobuf.ByteString value) {
-          if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-          waveletId_ = value;
-          onChanged();
-          return this;
-        }
-
-        // optional .concurrencycontrol.WaveletSnapshot snapshot = 2;
-        private 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot snapshot_ 
= 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot.getDefaultInstance();
-        private com.google.protobuf.SingleFieldBuilder<
-            
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot, 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot.Builder, 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshotOrBuilder> 
snapshotBuilder_;
-        /**
-         * <code>optional .concurrencycontrol.WaveletSnapshot snapshot = 
2;</code>
-         *
-         * <pre>
-         * Snapshot of the wavelet; omitted if the client already knew it.
-         * </pre>
-         */
-        public boolean hasSnapshot() {
-          return ((bitField0_ & 0x00000002) == 0x00000002);
-        }
-        /**
-         * <code>optional .concurrencycontrol.WaveletSnapshot snapshot = 
2;</code>
-         *
-         * <pre>
-         * Snapshot of the wavelet; omitted if the client already knew it.
-         * </pre>
-         */
-        public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot 
getSnapshot() {
-          if (snapshotBuilder_ == null) {
-            return snapshot_;
-          } else {
-            return snapshotBuilder_.getMessage();
-          }
-        }
-        /**
-         * <code>optional .concurrencycontrol.WaveletSnapshot snapshot = 
2;</code>
-         *
-         * <pre>
-         * Snapshot of the wavelet; omitted if the client already knew it.
-         * </pre>
-         */
-        public Builder 
setSnapshot(org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot
 value) {
-          if (snapshotBuilder_ == null) {
-            if (value == null) {
-              throw new NullPointerException();
-            }
-            snapshot_ = value;
-            onChanged();
-          } else {
-            snapshotBuilder_.setMessage(value);
-          }
-          bitField0_ |= 0x00000002;
-          return this;
-        }
-        /**
-         * <code>optional .concurrencycontrol.WaveletSnapshot snapshot = 
2;</code>
-         *
-         * <pre>
-         * Snapshot of the wavelet; omitted if the client already knew it.
-         * </pre>
-         */
-        public Builder setSnapshot(
-            
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot.Builder 
builderForValue) {
-          if (snapshotBuilder_ == null) {
-            snapshot_ = builderForValue.build();
-            onChanged();
-          } else {
-            snapshotBuilder_.setMessage(builderForValue.build());
-          }
-          bitField0_ |= 0x00000002;
-          return this;
-        }
-        /**
-         * <code>optional .concurrencycontrol.WaveletSnapshot snapshot = 
2;</code>
-         *
-         * <pre>
-         * Snapshot of the wavelet; omitted if the client already knew it.
-         * </pre>
-         */
-        public Builder 
mergeSnapshot(org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot
 value) {
-          if (snapshotBuilder_ == null) {
-            if (((bitField0_ & 0x00000002) == 0x00000002) &&
-                snapshot_ != 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot.getDefaultInstance())
 {
-              snapshot_ =
-                
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot.newBuilder(snapshot_).mergeFrom(value).buildPartial();
-            } else {
-              snapshot_ = value;
-            }
-            onChanged();
-          } else {
-            snapshotBuilder_.mergeFrom(value);
-          }
-          bitField0_ |= 0x00000002;
-          return this;
-        }
-        /**
-         * <code>optional .concurrencycontrol.WaveletSnapshot snapshot = 
2;</code>
-         *
-         * <pre>
-         * Snapshot of the wavelet; omitted if the client already knew it.
-         * </pre>
-         */
-        public Builder clearSnapshot() {
-          if (snapshotBuilder_ == null) {
-            snapshot_ = 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot.getDefaultInstance();
-            onChanged();
-          } else {
-            snapshotBuilder_.clear();
-          }
-          bitField0_ = (bitField0_ & ~0x00000002);
-          return this;
-        }
-        /**
-         * <code>optional .concurrencycontrol.WaveletSnapshot snapshot = 
2;</code>
-         *
-         * <pre>
-         * Snapshot of the wavelet; omitted if the client already knew it.
-         * </pre>
-         */
-        public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot.Builder 
getSnapshotBuilder() {
-          bitField0_ |= 0x00000002;
-          onChanged();
-          return getSnapshotFieldBuilder().getBuilder();
-        }
-        /**
-         * <code>optional .concurrencycontrol.WaveletSnapshot snapshot = 
2;</code>
-         *
-         * <pre>
-         * Snapshot of the wavelet; omitted if the client already knew it.
-         * </pre>
-         */
-        public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshotOrBuilder 
getSnapshotOrBuilder() {
-          if (snapshotBuilder_ != null) {
-            return snapshotBuilder_.getMessageOrBuilder();
-          } else {
-            return snapshot_;
-          }
-        }
-        /**
-         * <code>optional .concurrencycontrol.WaveletSnapshot snapshot = 
2;</code>
-         *
-         * <pre>
-         * Snapshot of the wavelet; omitted if the client already knew it.
-         * </pre>
-         */
-        private com.google.protobuf.SingleFieldBuilder<
-            
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot, 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot.Builder, 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshotOrBuilder> 
-            getSnapshotFieldBuilder() {
-          if (snapshotBuilder_ == null) {
-            snapshotBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-                
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot, 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshot.Builder, 
org.waveprotocol.wave.concurrencycontrol.ClientServer.WaveletSnapshotOrBuilder>(
-                    snapshot_,
-                    getParentForChildren(),
-                    isClean());
-            snapshot_ = null;
-          }
-          return snapshotBuilder_;
-        }
-
-        // 
@@protoc_insertion_point(builder_scope:concurrencycontrol.FetchWaveViewResponse.Wavelet)
-      }
-
-      static {
-        defaultInstance = new Wavelet(true);
-        defaultInstance.initFields();
-      }
-
-      // 
@@protoc_insertion_point(class_scope:concurrencycontrol.FetchWaveViewResponse.Wavelet)
-    }
-
-    private int bitField0_;
-    // required .concurrencycontrol.ResponseStatus status = 1;
-    public static final int STATUS_FIELD_NUMBER = 1;
-    private 
org.waveprotocol.wave.concurrencycontrol.ClientServer.ResponseStatus status_;
-    /**
-     * <code>required .concurrencycontrol.ResponseStatus status = 1;</code>
-     */
-    public boolean hasStatus() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>required .concurrencycontrol.ResponseStatus status = 1;</code>
-     */
-    public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.ResponseStatus 
getStatus() {
-      return status_;
-    }
-    /**
-     * <code>required .concurrencycontrol.ResponseStatus status = 1;</code>
-     */
-    public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.ResponseStatusOrBuilder 
getStatusOrBuilder() {
-      return status_;
-    }
-
-    // repeated .concurrencycontrol.FetchWaveViewResponse.Wavelet wavelet = 2;
-    public static final int WAVELET_FIELD_NUMBER = 2;
-    private 
java.util.List<org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet>
 wavelet_;
-    /**
-     * <code>repeated .concurrencycontrol.FetchWaveViewResponse.Wavelet 
wavelet = 2;</code>
-     */
-    public 
java.util.List<org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet>
 getWaveletList() {
-      return wavelet_;
-    }
-    /**
-     * <code>repeated .concurrencycontrol.FetchWaveViewResponse.Wavelet 
wavelet = 2;</code>
-     */
-    public java.util.List<? extends 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.WaveletOrBuilder>
 
-        getWaveletOrBuilderList() {
-      return wavelet_;
-    }
-    /**
-     * <code>repeated .concurrencycontrol.FetchWaveViewResponse.Wavelet 
wavelet = 2;</code>
-     */
-    public int getWaveletCount() {
-      return wavelet_.size();
-    }
-    /**
-     * <code>repeated .concurrencycontrol.FetchWaveViewResponse.Wavelet 
wavelet = 2;</code>
-     */
-    public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Wavelet
 getWavelet(int index) {
-      return wavelet_.get(index);
-    }
-    /**
-     * <code>repeated .concurrencycontrol.FetchWaveViewResponse.Wavelet 
wavelet = 2;</code>
-     */
-    public 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.WaveletOrBuilder
 getWaveletOrBuilder(
-        int index) {
-      return wavelet_.get(index);
-    }
-
-    private void initFields() {
-      status_ = 
org.waveprotocol.wave.concurrencycontrol.ClientServer.ResponseStatus.getDefaultInstance();
-      wavelet_ = java.util.Collections.emptyList();
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-
-      if (!hasStatus()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!getStatus().isInitialized()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      for (int i = 0; i < getWaveletCount(); i++) {
-        if (!getWavelet(i).isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeMessage(1, status_);
-      }
-      for (int i = 0; i < wavelet_.size(); i++) {
-        output.writeMessage(2, wavelet_.get(i));
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(1, status_);
-      }
-      for (int i = 0; i < wavelet_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(2, wavelet_.get(i));
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse 
parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse 
parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse 
parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse 
parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse 
parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse 
parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse 
parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse 
parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse 
parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse 
parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder 
newBuilder(org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse
 prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code concurrencycontrol.FetchWaveViewResponse}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder>
-       implements 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponseOrBuilder
 {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return 
org.waveprotocol.wave.concurrencycontrol.ClientServer.internal_static_concurrencycontrol_FetchWaveViewResponse_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return 
org.waveprotocol.wave.concurrencycontrol.ClientServer.internal_static_concurrencycontrol_FetchWaveViewResponse_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.class,
 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.Builder.class);
-      }
-
-      // Construct using 
org.waveprotocol.wave.concurrencycontrol.ClientServer.FetchWaveViewResponse.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-          getStatusFieldBuilder();
-          getWaveletFieldBuilder();
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        if (statusBuilder_ == null) {
-          status_ = 
org.waveprotocol.wave.concurrencycontrol.ClientServer.ResponseStatus.getDefaultInstance();
-        } else {
-          statusBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000001);
-        if (waveletBuilder_ == null) {
-          wavelet_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000002);
-        } else {


<TRUNCATED>

Reply via email to