http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/7d8609e7/proto_src/org/waveprotocol/box/common/comms/WaveClientRpc.java
----------------------------------------------------------------------
diff --git a/proto_src/org/waveprotocol/box/common/comms/WaveClientRpc.java 
b/proto_src/org/waveprotocol/box/common/comms/WaveClientRpc.java
deleted file mode 100644
index 1519b2d..0000000
--- a/proto_src/org/waveprotocol/box/common/comms/WaveClientRpc.java
+++ /dev/null
@@ -1,11743 +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/box/common/comms/waveclient-rpc.proto
-
-package org.waveprotocol.box.common.comms;
-
-public final class WaveClientRpc {
-  private WaveClientRpc() {}
-  public static void registerAllExtensions(
-      com.google.protobuf.ExtensionRegistry registry) {
-  }
-  public interface ProtocolAuthenticateOrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
-
-    // required string token = 1;
-    /**
-     * <code>required string token = 1;</code>
-     */
-    boolean hasToken();
-    /**
-     * <code>required string token = 1;</code>
-     */
-    java.lang.String getToken();
-    /**
-     * <code>required string token = 1;</code>
-     */
-    com.google.protobuf.ByteString
-        getTokenBytes();
-  }
-  /**
-   * Protobuf type {@code waveserver.ProtocolAuthenticate}
-   *
-   * <pre>
-   * A workaround for clients which do not support sending cookies over a 
websocket
-   * connection. See: 
http://code.google.com/p/wave-protocol/issues/detail?id=119
-   * </pre>
-   */
-  public static final class ProtocolAuthenticate extends
-      com.google.protobuf.GeneratedMessage
-      implements ProtocolAuthenticateOrBuilder {
-    // Use ProtocolAuthenticate.newBuilder() to construct.
-    private 
ProtocolAuthenticate(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private ProtocolAuthenticate(boolean noInit) { this.unknownFields = 
com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final ProtocolAuthenticate defaultInstance;
-    public static ProtocolAuthenticate getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public ProtocolAuthenticate getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private ProtocolAuthenticate(
-        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;
-              token_ = input.readBytes();
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return 
org.waveprotocol.box.common.comms.WaveClientRpc.internal_static_waveserver_ProtocolAuthenticate_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return 
org.waveprotocol.box.common.comms.WaveClientRpc.internal_static_waveserver_ProtocolAuthenticate_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate.class, 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<ProtocolAuthenticate> PARSER =
-        new com.google.protobuf.AbstractParser<ProtocolAuthenticate>() {
-      public ProtocolAuthenticate parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new ProtocolAuthenticate(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<ProtocolAuthenticate> getParserForType() 
{
-      return PARSER;
-    }
-
-    private int bitField0_;
-    // required string token = 1;
-    public static final int TOKEN_FIELD_NUMBER = 1;
-    private java.lang.Object token_;
-    /**
-     * <code>required string token = 1;</code>
-     */
-    public boolean hasToken() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>required string token = 1;</code>
-     */
-    public java.lang.String getToken() {
-      java.lang.Object ref = token_;
-      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()) {
-          token_ = s;
-        }
-        return s;
-      }
-    }
-    /**
-     * <code>required string token = 1;</code>
-     */
-    public com.google.protobuf.ByteString
-        getTokenBytes() {
-      java.lang.Object ref = token_;
-      if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        token_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-
-    private void initFields() {
-      token_ = "";
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-
-      if (!hasToken()) {
-        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, getTokenBytes());
-      }
-      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, getTokenBytes());
-      }
-      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.box.common.comms.WaveClientRpc.ProtocolAuthenticate parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate 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.box.common.comms.WaveClientRpc.ProtocolAuthenticate 
parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate 
parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate 
parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate 
parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate 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.box.common.comms.WaveClientRpc.ProtocolAuthenticate 
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 waveserver.ProtocolAuthenticate}
-     *
-     * <pre>
-     * A workaround for clients which do not support sending cookies over a 
websocket
-     * connection. See: 
http://code.google.com/p/wave-protocol/issues/detail?id=119
-     * </pre>
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder>
-       implements 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticateOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return 
org.waveprotocol.box.common.comms.WaveClientRpc.internal_static_waveserver_ProtocolAuthenticate_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return 
org.waveprotocol.box.common.comms.WaveClientRpc.internal_static_waveserver_ProtocolAuthenticate_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate.class, 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate.Builder.class);
-      }
-
-      // Construct using 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        token_ = "";
-        bitField0_ = (bitField0_ & ~0x00000001);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return 
org.waveprotocol.box.common.comms.WaveClientRpc.internal_static_waveserver_ProtocolAuthenticate_descriptor;
-      }
-
-      public 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate 
getDefaultInstanceForType() {
-        return 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate.getDefaultInstance();
-      }
-
-      public 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate build() {
-        org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate 
result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate 
buildPartial() {
-        org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate 
result = new 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.token_ = token_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate) {
-          return 
mergeFrom((org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder 
mergeFrom(org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate 
other) {
-        if (other == 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate.getDefaultInstance())
 return this;
-        if (other.hasToken()) {
-          bitField0_ |= 0x00000001;
-          token_ = other.token_;
-          onChanged();
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasToken()) {
-          
-          return false;
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate 
parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = 
(org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticate) 
e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      // required string token = 1;
-      private java.lang.Object token_ = "";
-      /**
-       * <code>required string token = 1;</code>
-       */
-      public boolean hasToken() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required string token = 1;</code>
-       */
-      public java.lang.String getToken() {
-        java.lang.Object ref = token_;
-        if (!(ref instanceof java.lang.String)) {
-          java.lang.String s = ((com.google.protobuf.ByteString) ref)
-              .toStringUtf8();
-          token_ = s;
-          return s;
-        } else {
-          return (java.lang.String) ref;
-        }
-      }
-      /**
-       * <code>required string token = 1;</code>
-       */
-      public com.google.protobuf.ByteString
-          getTokenBytes() {
-        java.lang.Object ref = token_;
-        if (ref instanceof String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (java.lang.String) ref);
-          token_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
-        }
-      }
-      /**
-       * <code>required string token = 1;</code>
-       */
-      public Builder setToken(
-          java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        token_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required string token = 1;</code>
-       */
-      public Builder clearToken() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        token_ = getDefaultInstance().getToken();
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required string token = 1;</code>
-       */
-      public Builder setTokenBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        token_ = value;
-        onChanged();
-        return this;
-      }
-
-      // 
@@protoc_insertion_point(builder_scope:waveserver.ProtocolAuthenticate)
-    }
-
-    static {
-      defaultInstance = new ProtocolAuthenticate(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:waveserver.ProtocolAuthenticate)
-  }
-
-  public interface ProtocolAuthenticationResultOrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
-  }
-  /**
-   * Protobuf type {@code waveserver.ProtocolAuthenticationResult}
-   *
-   * <pre>
-   * RPCs require a return type, although in this case no return data is 
desired.
-   * We don't want to return anything here because clients which implement
-   * websockets correctly (and thus don't use ProtocolAuthenticate) cannot
-   * recieve the authentication related information.
-   * If the client's authentication is not valid, the connection will be 
closed.
-   * </pre>
-   */
-  public static final class ProtocolAuthenticationResult extends
-      com.google.protobuf.GeneratedMessage
-      implements ProtocolAuthenticationResultOrBuilder {
-    // Use ProtocolAuthenticationResult.newBuilder() to construct.
-    private 
ProtocolAuthenticationResult(com.google.protobuf.GeneratedMessage.Builder<?> 
builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private ProtocolAuthenticationResult(boolean noInit) { this.unknownFields 
= com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final ProtocolAuthenticationResult defaultInstance;
-    public static ProtocolAuthenticationResult getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public ProtocolAuthenticationResult getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private ProtocolAuthenticationResult(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      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;
-            }
-          }
-        }
-      } 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.box.common.comms.WaveClientRpc.internal_static_waveserver_ProtocolAuthenticationResult_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return 
org.waveprotocol.box.common.comms.WaveClientRpc.internal_static_waveserver_ProtocolAuthenticationResult_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult.class,
 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<ProtocolAuthenticationResult> 
PARSER =
-        new com.google.protobuf.AbstractParser<ProtocolAuthenticationResult>() 
{
-      public ProtocolAuthenticationResult parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new ProtocolAuthenticationResult(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<ProtocolAuthenticationResult> 
getParserForType() {
-      return PARSER;
-    }
-
-    private void initFields() {
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      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.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult 
parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult 
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.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult 
parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult 
parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult 
parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult 
parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult 
parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult 
parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult 
parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult 
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.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult
 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 waveserver.ProtocolAuthenticationResult}
-     *
-     * <pre>
-     * RPCs require a return type, although in this case no return data is 
desired.
-     * We don't want to return anything here because clients which implement
-     * websockets correctly (and thus don't use ProtocolAuthenticate) cannot
-     * recieve the authentication related information.
-     * If the client's authentication is not valid, the connection will be 
closed.
-     * </pre>
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder>
-       implements 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResultOrBuilder
 {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return 
org.waveprotocol.box.common.comms.WaveClientRpc.internal_static_waveserver_ProtocolAuthenticationResult_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return 
org.waveprotocol.box.common.comms.WaveClientRpc.internal_static_waveserver_ProtocolAuthenticationResult_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult.class,
 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult.Builder.class);
-      }
-
-      // Construct using 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return 
org.waveprotocol.box.common.comms.WaveClientRpc.internal_static_waveserver_ProtocolAuthenticationResult_descriptor;
-      }
-
-      public 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult 
getDefaultInstanceForType() {
-        return 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult.getDefaultInstance();
-      }
-
-      public 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult 
build() {
-        
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult 
result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult 
buildPartial() {
-        
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult 
result = new 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult(this);
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult) {
-          return 
mergeFrom((org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder 
mergeFrom(org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult
 other) {
-        if (other == 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult.getDefaultInstance())
 return this;
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult 
parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = 
(org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolAuthenticationResult) 
e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-
-      // 
@@protoc_insertion_point(builder_scope:waveserver.ProtocolAuthenticationResult)
-    }
-
-    static {
-      defaultInstance = new ProtocolAuthenticationResult(true);
-      defaultInstance.initFields();
-    }
-
-    // 
@@protoc_insertion_point(class_scope:waveserver.ProtocolAuthenticationResult)
-  }
-
-  public interface ProtocolOpenRequestOrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
-
-    // required string participant_id = 1;
-    /**
-     * <code>required string participant_id = 1;</code>
-     *
-     * <pre>
-     * User making the request.
-     * TODO(anorth): Remove this, replacing it with the implicit logged-in 
user.
-     * </pre>
-     */
-    boolean hasParticipantId();
-    /**
-     * <code>required string participant_id = 1;</code>
-     *
-     * <pre>
-     * User making the request.
-     * TODO(anorth): Remove this, replacing it with the implicit logged-in 
user.
-     * </pre>
-     */
-    java.lang.String getParticipantId();
-    /**
-     * <code>required string participant_id = 1;</code>
-     *
-     * <pre>
-     * User making the request.
-     * TODO(anorth): Remove this, replacing it with the implicit logged-in 
user.
-     * </pre>
-     */
-    com.google.protobuf.ByteString
-        getParticipantIdBytes();
-
-    // required string wave_id = 2;
-    /**
-     * <code>required string wave_id = 2;</code>
-     *
-     * <pre>
-     * Wave id to open.
-     * </pre>
-     */
-    boolean hasWaveId();
-    /**
-     * <code>required string wave_id = 2;</code>
-     *
-     * <pre>
-     * Wave id to open.
-     * </pre>
-     */
-    java.lang.String getWaveId();
-    /**
-     * <code>required string wave_id = 2;</code>
-     *
-     * <pre>
-     * Wave id to open.
-     * </pre>
-     */
-    com.google.protobuf.ByteString
-        getWaveIdBytes();
-
-    // repeated string wavelet_id_prefix = 3;
-    /**
-     * <code>repeated string wavelet_id_prefix = 3;</code>
-     *
-     * <pre>
-     * Wavelet id prefixes by which to filter the view, empty means no filter.
-     * </pre>
-     */
-    java.util.List<java.lang.String>
-    getWaveletIdPrefixList();
-    /**
-     * <code>repeated string wavelet_id_prefix = 3;</code>
-     *
-     * <pre>
-     * Wavelet id prefixes by which to filter the view, empty means no filter.
-     * </pre>
-     */
-    int getWaveletIdPrefixCount();
-    /**
-     * <code>repeated string wavelet_id_prefix = 3;</code>
-     *
-     * <pre>
-     * Wavelet id prefixes by which to filter the view, empty means no filter.
-     * </pre>
-     */
-    java.lang.String getWaveletIdPrefix(int index);
-    /**
-     * <code>repeated string wavelet_id_prefix = 3;</code>
-     *
-     * <pre>
-     * Wavelet id prefixes by which to filter the view, empty means no filter.
-     * </pre>
-     */
-    com.google.protobuf.ByteString
-        getWaveletIdPrefixBytes(int index);
-
-    // repeated .waveserver.WaveletVersion known_wavelet = 4;
-    /**
-     * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-     *
-     * <pre>
-     * Known wavelet versions for resynchronization.
-     * </pre>
-     */
-    
java.util.List<org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion> 
-        getKnownWaveletList();
-    /**
-     * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-     *
-     * <pre>
-     * Known wavelet versions for resynchronization.
-     * </pre>
-     */
-    org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion 
getKnownWavelet(int index);
-    /**
-     * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-     *
-     * <pre>
-     * Known wavelet versions for resynchronization.
-     * </pre>
-     */
-    int getKnownWaveletCount();
-    /**
-     * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-     *
-     * <pre>
-     * Known wavelet versions for resynchronization.
-     * </pre>
-     */
-    java.util.List<? extends 
org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersionOrBuilder> 
-        getKnownWaveletOrBuilderList();
-    /**
-     * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-     *
-     * <pre>
-     * Known wavelet versions for resynchronization.
-     * </pre>
-     */
-    org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersionOrBuilder 
getKnownWaveletOrBuilder(
-        int index);
-  }
-  /**
-   * Protobuf type {@code waveserver.ProtocolOpenRequest}
-   *
-   * <pre>
-   **
-   * A request to open a wave view.
-   * </pre>
-   */
-  public static final class ProtocolOpenRequest extends
-      com.google.protobuf.GeneratedMessage
-      implements ProtocolOpenRequestOrBuilder {
-    // Use ProtocolOpenRequest.newBuilder() to construct.
-    private 
ProtocolOpenRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private ProtocolOpenRequest(boolean noInit) { this.unknownFields = 
com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final ProtocolOpenRequest defaultInstance;
-    public static ProtocolOpenRequest getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public ProtocolOpenRequest getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private ProtocolOpenRequest(
-        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;
-              participantId_ = input.readBytes();
-              break;
-            }
-            case 18: {
-              bitField0_ |= 0x00000002;
-              waveId_ = input.readBytes();
-              break;
-            }
-            case 26: {
-              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
-                waveletIdPrefix_ = new 
com.google.protobuf.LazyStringArrayList();
-                mutable_bitField0_ |= 0x00000004;
-              }
-              waveletIdPrefix_.add(input.readBytes());
-              break;
-            }
-            case 34: {
-              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
-                knownWavelet_ = new 
java.util.ArrayList<org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion>();
-                mutable_bitField0_ |= 0x00000008;
-              }
-              
knownWavelet_.add(input.readMessage(org.waveprotocol.box.common.comms.WaveClientRpc.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_ & 0x00000004) == 0x00000004)) {
-          waveletIdPrefix_ = new 
com.google.protobuf.UnmodifiableLazyStringList(waveletIdPrefix_);
-        }
-        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
-          knownWavelet_ = 
java.util.Collections.unmodifiableList(knownWavelet_);
-        }
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return 
org.waveprotocol.box.common.comms.WaveClientRpc.internal_static_waveserver_ProtocolOpenRequest_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return 
org.waveprotocol.box.common.comms.WaveClientRpc.internal_static_waveserver_ProtocolOpenRequest_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest.class, 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<ProtocolOpenRequest> PARSER =
-        new com.google.protobuf.AbstractParser<ProtocolOpenRequest>() {
-      public ProtocolOpenRequest parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new ProtocolOpenRequest(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<ProtocolOpenRequest> getParserForType() {
-      return PARSER;
-    }
-
-    private int bitField0_;
-    // required string participant_id = 1;
-    public static final int PARTICIPANT_ID_FIELD_NUMBER = 1;
-    private java.lang.Object participantId_;
-    /**
-     * <code>required string participant_id = 1;</code>
-     *
-     * <pre>
-     * User making the request.
-     * TODO(anorth): Remove this, replacing it with the implicit logged-in 
user.
-     * </pre>
-     */
-    public boolean hasParticipantId() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>required string participant_id = 1;</code>
-     *
-     * <pre>
-     * User making the request.
-     * TODO(anorth): Remove this, replacing it with the implicit logged-in 
user.
-     * </pre>
-     */
-    public java.lang.String getParticipantId() {
-      java.lang.Object ref = participantId_;
-      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()) {
-          participantId_ = s;
-        }
-        return s;
-      }
-    }
-    /**
-     * <code>required string participant_id = 1;</code>
-     *
-     * <pre>
-     * User making the request.
-     * TODO(anorth): Remove this, replacing it with the implicit logged-in 
user.
-     * </pre>
-     */
-    public com.google.protobuf.ByteString
-        getParticipantIdBytes() {
-      java.lang.Object ref = participantId_;
-      if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        participantId_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-
-    // required string wave_id = 2;
-    public static final int WAVE_ID_FIELD_NUMBER = 2;
-    private java.lang.Object waveId_;
-    /**
-     * <code>required string wave_id = 2;</code>
-     *
-     * <pre>
-     * Wave id to open.
-     * </pre>
-     */
-    public boolean hasWaveId() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * <code>required string wave_id = 2;</code>
-     *
-     * <pre>
-     * Wave id to open.
-     * </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 wave_id = 2;</code>
-     *
-     * <pre>
-     * Wave id to open.
-     * </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 string wavelet_id_prefix = 3;
-    public static final int WAVELET_ID_PREFIX_FIELD_NUMBER = 3;
-    private com.google.protobuf.LazyStringList waveletIdPrefix_;
-    /**
-     * <code>repeated string wavelet_id_prefix = 3;</code>
-     *
-     * <pre>
-     * Wavelet id prefixes by which to filter the view, empty means no filter.
-     * </pre>
-     */
-    public java.util.List<java.lang.String>
-        getWaveletIdPrefixList() {
-      return waveletIdPrefix_;
-    }
-    /**
-     * <code>repeated string wavelet_id_prefix = 3;</code>
-     *
-     * <pre>
-     * Wavelet id prefixes by which to filter the view, empty means no filter.
-     * </pre>
-     */
-    public int getWaveletIdPrefixCount() {
-      return waveletIdPrefix_.size();
-    }
-    /**
-     * <code>repeated string wavelet_id_prefix = 3;</code>
-     *
-     * <pre>
-     * Wavelet id prefixes by which to filter the view, empty means no filter.
-     * </pre>
-     */
-    public java.lang.String getWaveletIdPrefix(int index) {
-      return waveletIdPrefix_.get(index);
-    }
-    /**
-     * <code>repeated string wavelet_id_prefix = 3;</code>
-     *
-     * <pre>
-     * Wavelet id prefixes by which to filter the view, empty means no filter.
-     * </pre>
-     */
-    public com.google.protobuf.ByteString
-        getWaveletIdPrefixBytes(int index) {
-      return waveletIdPrefix_.getByteString(index);
-    }
-
-    // repeated .waveserver.WaveletVersion known_wavelet = 4;
-    public static final int KNOWN_WAVELET_FIELD_NUMBER = 4;
-    private 
java.util.List<org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion> 
knownWavelet_;
-    /**
-     * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-     *
-     * <pre>
-     * Known wavelet versions for resynchronization.
-     * </pre>
-     */
-    public 
java.util.List<org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion> 
getKnownWaveletList() {
-      return knownWavelet_;
-    }
-    /**
-     * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-     *
-     * <pre>
-     * Known wavelet versions for resynchronization.
-     * </pre>
-     */
-    public java.util.List<? extends 
org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersionOrBuilder> 
-        getKnownWaveletOrBuilderList() {
-      return knownWavelet_;
-    }
-    /**
-     * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-     *
-     * <pre>
-     * Known wavelet versions for resynchronization.
-     * </pre>
-     */
-    public int getKnownWaveletCount() {
-      return knownWavelet_.size();
-    }
-    /**
-     * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-     *
-     * <pre>
-     * Known wavelet versions for resynchronization.
-     * </pre>
-     */
-    public org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion 
getKnownWavelet(int index) {
-      return knownWavelet_.get(index);
-    }
-    /**
-     * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-     *
-     * <pre>
-     * Known wavelet versions for resynchronization.
-     * </pre>
-     */
-    public 
org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersionOrBuilder 
getKnownWaveletOrBuilder(
-        int index) {
-      return knownWavelet_.get(index);
-    }
-
-    private void initFields() {
-      participantId_ = "";
-      waveId_ = "";
-      waveletIdPrefix_ = com.google.protobuf.LazyStringArrayList.EMPTY;
-      knownWavelet_ = java.util.Collections.emptyList();
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-
-      if (!hasParticipantId()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      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, getParticipantIdBytes());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeBytes(2, getWaveIdBytes());
-      }
-      for (int i = 0; i < waveletIdPrefix_.size(); i++) {
-        output.writeBytes(3, waveletIdPrefix_.getByteString(i));
-      }
-      for (int i = 0; i < knownWavelet_.size(); i++) {
-        output.writeMessage(4, 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, getParticipantIdBytes());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(2, getWaveIdBytes());
-      }
-      {
-        int dataSize = 0;
-        for (int i = 0; i < waveletIdPrefix_.size(); i++) {
-          dataSize += com.google.protobuf.CodedOutputStream
-            .computeBytesSizeNoTag(waveletIdPrefix_.getByteString(i));
-        }
-        size += dataSize;
-        size += 1 * getWaveletIdPrefixList().size();
-      }
-      for (int i = 0; i < knownWavelet_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(4, 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.box.common.comms.WaveClientRpc.ProtocolOpenRequest parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest 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.box.common.comms.WaveClientRpc.ProtocolOpenRequest 
parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest 
parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest 
parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest 
parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest 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.box.common.comms.WaveClientRpc.ProtocolOpenRequest 
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 waveserver.ProtocolOpenRequest}
-     *
-     * <pre>
-     **
-     * A request to open a wave view.
-     * </pre>
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder>
-       implements 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequestOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return 
org.waveprotocol.box.common.comms.WaveClientRpc.internal_static_waveserver_ProtocolOpenRequest_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return 
org.waveprotocol.box.common.comms.WaveClientRpc.internal_static_waveserver_ProtocolOpenRequest_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest.class, 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest.Builder.class);
-      }
-
-      // Construct using 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest.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();
-        participantId_ = "";
-        bitField0_ = (bitField0_ & ~0x00000001);
-        waveId_ = "";
-        bitField0_ = (bitField0_ & ~0x00000002);
-        waveletIdPrefix_ = com.google.protobuf.LazyStringArrayList.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000004);
-        if (knownWaveletBuilder_ == null) {
-          knownWavelet_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000008);
-        } else {
-          knownWaveletBuilder_.clear();
-        }
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return 
org.waveprotocol.box.common.comms.WaveClientRpc.internal_static_waveserver_ProtocolOpenRequest_descriptor;
-      }
-
-      public 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest 
getDefaultInstanceForType() {
-        return 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest.getDefaultInstance();
-      }
-
-      public 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest build() {
-        org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest 
result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest 
buildPartial() {
-        org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest 
result = new 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.participantId_ = participantId_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.waveId_ = waveId_;
-        if (((bitField0_ & 0x00000004) == 0x00000004)) {
-          waveletIdPrefix_ = new 
com.google.protobuf.UnmodifiableLazyStringList(
-              waveletIdPrefix_);
-          bitField0_ = (bitField0_ & ~0x00000004);
-        }
-        result.waveletIdPrefix_ = waveletIdPrefix_;
-        if (knownWaveletBuilder_ == null) {
-          if (((bitField0_ & 0x00000008) == 0x00000008)) {
-            knownWavelet_ = 
java.util.Collections.unmodifiableList(knownWavelet_);
-            bitField0_ = (bitField0_ & ~0x00000008);
-          }
-          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.box.common.comms.WaveClientRpc.ProtocolOpenRequest) {
-          return 
mergeFrom((org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder 
mergeFrom(org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest 
other) {
-        if (other == 
org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest.getDefaultInstance())
 return this;
-        if (other.hasParticipantId()) {
-          bitField0_ |= 0x00000001;
-          participantId_ = other.participantId_;
-          onChanged();
-        }
-        if (other.hasWaveId()) {
-          bitField0_ |= 0x00000002;
-          waveId_ = other.waveId_;
-          onChanged();
-        }
-        if (!other.waveletIdPrefix_.isEmpty()) {
-          if (waveletIdPrefix_.isEmpty()) {
-            waveletIdPrefix_ = other.waveletIdPrefix_;
-            bitField0_ = (bitField0_ & ~0x00000004);
-          } else {
-            ensureWaveletIdPrefixIsMutable();
-            waveletIdPrefix_.addAll(other.waveletIdPrefix_);
-          }
-          onChanged();
-        }
-        if (knownWaveletBuilder_ == null) {
-          if (!other.knownWavelet_.isEmpty()) {
-            if (knownWavelet_.isEmpty()) {
-              knownWavelet_ = other.knownWavelet_;
-              bitField0_ = (bitField0_ & ~0x00000008);
-            } else {
-              ensureKnownWaveletIsMutable();
-              knownWavelet_.addAll(other.knownWavelet_);
-            }
-            onChanged();
-          }
-        } else {
-          if (!other.knownWavelet_.isEmpty()) {
-            if (knownWaveletBuilder_.isEmpty()) {
-              knownWaveletBuilder_.dispose();
-              knownWaveletBuilder_ = null;
-              knownWavelet_ = other.knownWavelet_;
-              bitField0_ = (bitField0_ & ~0x00000008);
-              knownWaveletBuilder_ = 
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
-                   getKnownWaveletFieldBuilder() : null;
-            } else {
-              knownWaveletBuilder_.addAllMessages(other.knownWavelet_);
-            }
-          }
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasParticipantId()) {
-          
-          return false;
-        }
-        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.box.common.comms.WaveClientRpc.ProtocolOpenRequest 
parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = 
(org.waveprotocol.box.common.comms.WaveClientRpc.ProtocolOpenRequest) 
e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      // required string participant_id = 1;
-      private java.lang.Object participantId_ = "";
-      /**
-       * <code>required string participant_id = 1;</code>
-       *
-       * <pre>
-       * User making the request.
-       * TODO(anorth): Remove this, replacing it with the implicit logged-in 
user.
-       * </pre>
-       */
-      public boolean hasParticipantId() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required string participant_id = 1;</code>
-       *
-       * <pre>
-       * User making the request.
-       * TODO(anorth): Remove this, replacing it with the implicit logged-in 
user.
-       * </pre>
-       */
-      public java.lang.String getParticipantId() {
-        java.lang.Object ref = participantId_;
-        if (!(ref instanceof java.lang.String)) {
-          java.lang.String s = ((com.google.protobuf.ByteString) ref)
-              .toStringUtf8();
-          participantId_ = s;
-          return s;
-        } else {
-          return (java.lang.String) ref;
-        }
-      }
-      /**
-       * <code>required string participant_id = 1;</code>
-       *
-       * <pre>
-       * User making the request.
-       * TODO(anorth): Remove this, replacing it with the implicit logged-in 
user.
-       * </pre>
-       */
-      public com.google.protobuf.ByteString
-          getParticipantIdBytes() {
-        java.lang.Object ref = participantId_;
-        if (ref instanceof String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (java.lang.String) ref);
-          participantId_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
-        }
-      }
-      /**
-       * <code>required string participant_id = 1;</code>
-       *
-       * <pre>
-       * User making the request.
-       * TODO(anorth): Remove this, replacing it with the implicit logged-in 
user.
-       * </pre>
-       */
-      public Builder setParticipantId(
-          java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        participantId_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required string participant_id = 1;</code>
-       *
-       * <pre>
-       * User making the request.
-       * TODO(anorth): Remove this, replacing it with the implicit logged-in 
user.
-       * </pre>
-       */
-      public Builder clearParticipantId() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        participantId_ = getDefaultInstance().getParticipantId();
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required string participant_id = 1;</code>
-       *
-       * <pre>
-       * User making the request.
-       * TODO(anorth): Remove this, replacing it with the implicit logged-in 
user.
-       * </pre>
-       */
-      public Builder setParticipantIdBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        participantId_ = value;
-        onChanged();
-        return this;
-      }
-
-      // required string wave_id = 2;
-      private java.lang.Object waveId_ = "";
-      /**
-       * <code>required string wave_id = 2;</code>
-       *
-       * <pre>
-       * Wave id to open.
-       * </pre>
-       */
-      public boolean hasWaveId() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>required string wave_id = 2;</code>
-       *
-       * <pre>
-       * Wave id to open.
-       * </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 wave_id = 2;</code>
-       *
-       * <pre>
-       * Wave id to open.
-       * </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 wave_id = 2;</code>
-       *
-       * <pre>
-       * Wave id to open.
-       * </pre>
-       */
-      public Builder setWaveId(
-          java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000002;
-        waveId_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required string wave_id = 2;</code>
-       *
-       * <pre>
-       * Wave id to open.
-       * </pre>
-       */
-      public Builder clearWaveId() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        waveId_ = getDefaultInstance().getWaveId();
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required string wave_id = 2;</code>
-       *
-       * <pre>
-       * Wave id to open.
-       * </pre>
-       */
-      public Builder setWaveIdBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000002;
-        waveId_ = value;
-        onChanged();
-        return this;
-      }
-
-      // repeated string wavelet_id_prefix = 3;
-      private com.google.protobuf.LazyStringList waveletIdPrefix_ = 
com.google.protobuf.LazyStringArrayList.EMPTY;
-      private void ensureWaveletIdPrefixIsMutable() {
-        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
-          waveletIdPrefix_ = new 
com.google.protobuf.LazyStringArrayList(waveletIdPrefix_);
-          bitField0_ |= 0x00000004;
-         }
-      }
-      /**
-       * <code>repeated string wavelet_id_prefix = 3;</code>
-       *
-       * <pre>
-       * Wavelet id prefixes by which to filter the view, empty means no 
filter.
-       * </pre>
-       */
-      public java.util.List<java.lang.String>
-          getWaveletIdPrefixList() {
-        return java.util.Collections.unmodifiableList(waveletIdPrefix_);
-      }
-      /**
-       * <code>repeated string wavelet_id_prefix = 3;</code>
-       *
-       * <pre>
-       * Wavelet id prefixes by which to filter the view, empty means no 
filter.
-       * </pre>
-       */
-      public int getWaveletIdPrefixCount() {
-        return waveletIdPrefix_.size();
-      }
-      /**
-       * <code>repeated string wavelet_id_prefix = 3;</code>
-       *
-       * <pre>
-       * Wavelet id prefixes by which to filter the view, empty means no 
filter.
-       * </pre>
-       */
-      public java.lang.String getWaveletIdPrefix(int index) {
-        return waveletIdPrefix_.get(index);
-      }
-      /**
-       * <code>repeated string wavelet_id_prefix = 3;</code>
-       *
-       * <pre>
-       * Wavelet id prefixes by which to filter the view, empty means no 
filter.
-       * </pre>
-       */
-      public com.google.protobuf.ByteString
-          getWaveletIdPrefixBytes(int index) {
-        return waveletIdPrefix_.getByteString(index);
-      }
-      /**
-       * <code>repeated string wavelet_id_prefix = 3;</code>
-       *
-       * <pre>
-       * Wavelet id prefixes by which to filter the view, empty means no 
filter.
-       * </pre>
-       */
-      public Builder setWaveletIdPrefix(
-          int index, java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  ensureWaveletIdPrefixIsMutable();
-        waveletIdPrefix_.set(index, value);
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>repeated string wavelet_id_prefix = 3;</code>
-       *
-       * <pre>
-       * Wavelet id prefixes by which to filter the view, empty means no 
filter.
-       * </pre>
-       */
-      public Builder addWaveletIdPrefix(
-          java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  ensureWaveletIdPrefixIsMutable();
-        waveletIdPrefix_.add(value);
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>repeated string wavelet_id_prefix = 3;</code>
-       *
-       * <pre>
-       * Wavelet id prefixes by which to filter the view, empty means no 
filter.
-       * </pre>
-       */
-      public Builder addAllWaveletIdPrefix(
-          java.lang.Iterable<java.lang.String> values) {
-        ensureWaveletIdPrefixIsMutable();
-        super.addAll(values, waveletIdPrefix_);
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>repeated string wavelet_id_prefix = 3;</code>
-       *
-       * <pre>
-       * Wavelet id prefixes by which to filter the view, empty means no 
filter.
-       * </pre>
-       */
-      public Builder clearWaveletIdPrefix() {
-        waveletIdPrefix_ = com.google.protobuf.LazyStringArrayList.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000004);
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>repeated string wavelet_id_prefix = 3;</code>
-       *
-       * <pre>
-       * Wavelet id prefixes by which to filter the view, empty means no 
filter.
-       * </pre>
-       */
-      public Builder addWaveletIdPrefixBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  ensureWaveletIdPrefixIsMutable();
-        waveletIdPrefix_.add(value);
-        onChanged();
-        return this;
-      }
-
-      // repeated .waveserver.WaveletVersion known_wavelet = 4;
-      private 
java.util.List<org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion> 
knownWavelet_ =
-        java.util.Collections.emptyList();
-      private void ensureKnownWaveletIsMutable() {
-        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
-          knownWavelet_ = new 
java.util.ArrayList<org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion>(knownWavelet_);
-          bitField0_ |= 0x00000008;
-         }
-      }
-
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion, 
org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion.Builder, 
org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersionOrBuilder> 
knownWaveletBuilder_;
-
-      /**
-       * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-       *
-       * <pre>
-       * Known wavelet versions for resynchronization.
-       * </pre>
-       */
-      public 
java.util.List<org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion> 
getKnownWaveletList() {
-        if (knownWaveletBuilder_ == null) {
-          return java.util.Collections.unmodifiableList(knownWavelet_);
-        } else {
-          return knownWaveletBuilder_.getMessageList();
-        }
-      }
-      /**
-       * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-       *
-       * <pre>
-       * Known wavelet versions for resynchronization.
-       * </pre>
-       */
-      public int getKnownWaveletCount() {
-        if (knownWaveletBuilder_ == null) {
-          return knownWavelet_.size();
-        } else {
-          return knownWaveletBuilder_.getCount();
-        }
-      }
-      /**
-       * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-       *
-       * <pre>
-       * Known wavelet versions for resynchronization.
-       * </pre>
-       */
-      public org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion 
getKnownWavelet(int index) {
-        if (knownWaveletBuilder_ == null) {
-          return knownWavelet_.get(index);
-        } else {
-          return knownWaveletBuilder_.getMessage(index);
-        }
-      }
-      /**
-       * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-       *
-       * <pre>
-       * Known wavelet versions for resynchronization.
-       * </pre>
-       */
-      public Builder setKnownWavelet(
-          int index, 
org.waveprotocol.box.common.comms.WaveClientRpc.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 .waveserver.WaveletVersion known_wavelet = 4;</code>
-       *
-       * <pre>
-       * Known wavelet versions for resynchronization.
-       * </pre>
-       */
-      public Builder setKnownWavelet(
-          int index, 
org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion.Builder 
builderForValue) {
-        if (knownWaveletBuilder_ == null) {
-          ensureKnownWaveletIsMutable();
-          knownWavelet_.set(index, builderForValue.build());
-          onChanged();
-        } else {
-          knownWaveletBuilder_.setMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-       *
-       * <pre>
-       * Known wavelet versions for resynchronization.
-       * </pre>
-       */
-      public Builder 
addKnownWavelet(org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion 
value) {
-        if (knownWaveletBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureKnownWaveletIsMutable();
-          knownWavelet_.add(value);
-          onChanged();
-        } else {
-          knownWaveletBuilder_.addMessage(value);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-       *
-       * <pre>
-       * Known wavelet versions for resynchronization.
-       * </pre>
-       */
-      public Builder addKnownWavelet(
-          int index, 
org.waveprotocol.box.common.comms.WaveClientRpc.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 .waveserver.WaveletVersion known_wavelet = 4;</code>
-       *
-       * <pre>
-       * Known wavelet versions for resynchronization.
-       * </pre>
-       */
-      public Builder addKnownWavelet(
-          
org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion.Builder 
builderForValue) {
-        if (knownWaveletBuilder_ == null) {
-          ensureKnownWaveletIsMutable();
-          knownWavelet_.add(builderForValue.build());
-          onChanged();
-        } else {
-          knownWaveletBuilder_.addMessage(builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-       *
-       * <pre>
-       * Known wavelet versions for resynchronization.
-       * </pre>
-       */
-      public Builder addKnownWavelet(
-          int index, 
org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion.Builder 
builderForValue) {
-        if (knownWaveletBuilder_ == null) {
-          ensureKnownWaveletIsMutable();
-          knownWavelet_.add(index, builderForValue.build());
-          onChanged();
-        } else {
-          knownWaveletBuilder_.addMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-       *
-       * <pre>
-       * Known wavelet versions for resynchronization.
-       * </pre>
-       */
-      public Builder addAllKnownWavelet(
-          java.lang.Iterable<? extends 
org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion> values) {
-        if (knownWaveletBuilder_ == null) {
-          ensureKnownWaveletIsMutable();
-          super.addAll(values, knownWavelet_);
-          onChanged();
-        } else {
-          knownWaveletBuilder_.addAllMessages(values);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-       *
-       * <pre>
-       * Known wavelet versions for resynchronization.
-       * </pre>
-       */
-      public Builder clearKnownWavelet() {
-        if (knownWaveletBuilder_ == null) {
-          knownWavelet_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000008);
-          onChanged();
-        } else {
-          knownWaveletBuilder_.clear();
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-       *
-       * <pre>
-       * Known wavelet versions for resynchronization.
-       * </pre>
-       */
-      public Builder removeKnownWavelet(int index) {
-        if (knownWaveletBuilder_ == null) {
-          ensureKnownWaveletIsMutable();
-          knownWavelet_.remove(index);
-          onChanged();
-        } else {
-          knownWaveletBuilder_.remove(index);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-       *
-       * <pre>
-       * Known wavelet versions for resynchronization.
-       * </pre>
-       */
-      public 
org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion.Builder 
getKnownWaveletBuilder(
-          int index) {
-        return getKnownWaveletFieldBuilder().getBuilder(index);
-      }
-      /**
-       * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-       *
-       * <pre>
-       * Known wavelet versions for resynchronization.
-       * </pre>
-       */
-      public 
org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersionOrBuilder 
getKnownWaveletOrBuilder(
-          int index) {
-        if (knownWaveletBuilder_ == null) {
-          return knownWavelet_.get(index);  } else {
-          return knownWaveletBuilder_.getMessageOrBuilder(index);
-        }
-      }
-      /**
-       * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-       *
-       * <pre>
-       * Known wavelet versions for resynchronization.
-       * </pre>
-       */
-      public java.util.List<? extends 
org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersionOrBuilder> 
-           getKnownWaveletOrBuilderList() {
-        if (knownWaveletBuilder_ != null) {
-          return knownWaveletBuilder_.getMessageOrBuilderList();
-        } else {
-          return java.util.Collections.unmodifiableList(knownWavelet_);
-        }
-      }
-      /**
-       * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-       *
-       * <pre>
-       * Known wavelet versions for resynchronization.
-       * </pre>
-       */
-      public 
org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion.Builder 
addKnownWaveletBuilder() {
-        return getKnownWaveletFieldBuilder().addBuilder(
-            
org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion.getDefaultInstance());
-      }
-      /**
-       * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-       *
-       * <pre>
-       * Known wavelet versions for resynchronization.
-       * </pre>
-       */
-      public 
org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion.Builder 
addKnownWaveletBuilder(
-          int index) {
-        return getKnownWaveletFieldBuilder().addBuilder(
-            index, 
org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion.getDefaultInstance());
-      }
-      /**
-       * <code>repeated .waveserver.WaveletVersion known_wavelet = 4;</code>
-       *
-       * <pre>
-       * Known wavelet versions for resynchronization.
-       * </pre>
-       */
-      public 
java.util.List<org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion.Builder>
 
-           getKnownWaveletBuilderList() {
-        return getKnownWaveletFieldBuilder().getBuilderList();
-      }
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion, 
org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion.Builder, 
org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersionOrBuilder> 
-          getKnownWaveletFieldBuilder() {
-        if (knownWaveletBuilder_ == null) {
-          knownWaveletBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion, 
org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersion.Builder, 
org.waveprotocol.box.common.comms.WaveClientRpc.WaveletVersionOrBuilder>(
-                  knownWavelet_,
-                  ((bitField0_ & 0x00000008) == 0x00000008),
-                  getParentForChildren(),
-                  isClean());
-          knownWavelet_ = null;
-        }
-        return knownWaveletBuilder_;
-      }
-
-      // @@protoc_insertion_point(builder_scope:waveserver.ProtocolOpenRequest)
-    }
-
-    static {
-      defaultInstance = new ProtocolOpenRequest(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:waveserver.ProtocolOpenRequest)
-  }
-
-  public interface WaveletVersionOrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
-
-    // required string wavelet_id = 1;
-    /**
-     * <code>required string wavelet_id = 1;</code>
-     */
-    boolean hasWaveletId();
-    /**
-     * <code>required string wavelet_id = 1;</code>
-     */
-    java.lang.String getWaveletId();
-    /**
-     * <code>required string wavelet_id = 1;</code>
-     */
-    com.google.protobuf.ByteString
-        getWaveletIdBytes();
-
-    // required .federation.ProtocolHashedVersion hashed_version = 2;
-    /**
-     * <code>required .federation.ProtocolHashedVersion hashed_version = 
2;</code>
-     */
-    boolean hasHashedVersion();
-    /**
-     * <code>required .federation.ProtocolHashedVersion hashed_version = 
2;</code>
-     */
-    org.waveprotocol.wave.federation.Proto.ProtocolHashedVersion 
getHashedVersion();
-    /**
-     * <code>required .federation.ProtocolHashedVersion hashed_version = 
2;</code>
-     */
-    org.waveprotocol.wave.federation.Proto.ProtocolHashedVersionOrBuilder 
getHashedVersionOrBuilder();
-  }
-  /**
-   * Protobuf type {@code waveserver.WaveletVersion}
-   *
-   * <pre>
-   * A pair of (wavelet id, wavelet version)
-   * </pre>
-   */
-  public static final class WaveletVersion extends
-      com.google.protobuf.GeneratedMessage
-      implements WaveletVersionOrBuilder {
-    // Use WaveletVersion.newBuilder() to construct.
-    private WaveletVersion(com.google.protobuf.GeneratedMessage.Builder<?> 
builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private WaveletVersion(boolean noInit) { this.unknownFields = 
com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final WaveletVersion defaultInstance;
-    public static WaveletVersion getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public WaveletVersion getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private WaveletVersion(
-        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.goo

<TRUNCATED>

Reply via email to