// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: remotemessage.proto

package com.google.gwt.dev.shell.remoteui;

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

    // optional string protocolVersion = 1;
    /**
     * <code>optional string protocolVersion = 1;</code>
     *
     * <pre>
     * In the first release, we'll ignore this field. In the future,
     * we can make use of it to detect protocol incompatibilities
     * </pre>
     */
    boolean hasProtocolVersion();
    /**
     * <code>optional string protocolVersion = 1;</code>
     *
     * <pre>
     * In the first release, we'll ignore this field. In the future,
     * we can make use of it to detect protocol incompatibilities
     * </pre>
     */
    java.lang.String getProtocolVersion();
    /**
     * <code>optional string protocolVersion = 1;</code>
     *
     * <pre>
     * In the first release, we'll ignore this field. In the future,
     * we can make use of it to detect protocol incompatibilities
     * </pre>
     */
    com.google.gwt.dev.protobuf.ByteString
        getProtocolVersionBytes();

    // optional .com.google.gwt.dev.shell.remoteui.Message.MessageType messageType = 2;
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.MessageType messageType = 2;</code>
     */
    boolean hasMessageType();
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.MessageType messageType = 2;</code>
     */
    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType getMessageType();

    // required uint32 messageId = 3;
    /**
     * <code>required uint32 messageId = 3;</code>
     */
    boolean hasMessageId();
    /**
     * <code>required uint32 messageId = 3;</code>
     */
    int getMessageId();

    // optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;</code>
     */
    boolean hasRequest();
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;</code>
     */
    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request getRequest();
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;</code>
     */
    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.RequestOrBuilder getRequestOrBuilder();

    // optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;</code>
     */
    boolean hasResponse();
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;</code>
     */
    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response getResponse();
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;</code>
     */
    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.ResponseOrBuilder getResponseOrBuilder();

    // optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;</code>
     */
    boolean hasFailure();
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;</code>
     */
    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure getFailure();
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;</code>
     */
    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.FailureOrBuilder getFailureOrBuilder();
  }
  /**
   * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message}
   *
   * <pre>
   * Outer envelope for all messages
   * </pre>
   */
  public static final class Message extends
      com.google.gwt.dev.protobuf.GeneratedMessage
      implements MessageOrBuilder {
    // Use Message.newBuilder() to construct.
    private Message(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private Message(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public Message getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.gwt.dev.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private Message(
        com.google.gwt.dev.protobuf.CodedInputStream input,
        com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.gwt.dev.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;
              protocolVersion_ = input.readBytes();
              break;
            }
            case 16: {
              int rawValue = input.readEnum();
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType value = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(2, rawValue);
              } else {
                bitField0_ |= 0x00000002;
                messageType_ = value;
              }
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              messageId_ = input.readUInt32();
              break;
            }
            case 34: {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.Builder subBuilder = null;
              if (((bitField0_ & 0x00000008) == 0x00000008)) {
                subBuilder = request_.toBuilder();
              }
              request_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(request_);
                request_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000008;
              break;
            }
            case 42: {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.Builder subBuilder = null;
              if (((bitField0_ & 0x00000010) == 0x00000010)) {
                subBuilder = response_.toBuilder();
              }
              response_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(response_);
                response_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000010;
              break;
            }
            case 50: {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.Builder subBuilder = null;
              if (((bitField0_ & 0x00000020) == 0x00000020)) {
                subBuilder = failure_.toBuilder();
              }
              failure_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(failure_);
                failure_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000020;
              break;
            }
          }
        }
      } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_descriptor;
    }

    protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Builder.class);
    }

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

    @java.lang.Override
    public com.google.gwt.dev.protobuf.Parser<Message> getParserForType() {
      return PARSER;
    }

    /**
     * Protobuf enum {@code com.google.gwt.dev.shell.remoteui.Message.MessageType}
     *
     * <pre>
     * Two types of messages - either a request, or a response
     * </pre>
     */
    public enum MessageType
        implements com.google.gwt.dev.protobuf.ProtocolMessageEnum {
      /**
       * <code>REQUEST = 0;</code>
       */
      REQUEST(0, 0),
      /**
       * <code>RESPONSE = 1;</code>
       */
      RESPONSE(1, 1),
      /**
       * <code>FAILURE = 2;</code>
       */
      FAILURE(2, 2),
      ;

      /**
       * <code>REQUEST = 0;</code>
       */
      public static final int REQUEST_VALUE = 0;
      /**
       * <code>RESPONSE = 1;</code>
       */
      public static final int RESPONSE_VALUE = 1;
      /**
       * <code>FAILURE = 2;</code>
       */
      public static final int FAILURE_VALUE = 2;


      public final int getNumber() { return value; }

      public static MessageType valueOf(int value) {
        switch (value) {
          case 0: return REQUEST;
          case 1: return RESPONSE;
          case 2: return FAILURE;
          default: return null;
        }
      }

      public static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<MessageType>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<MessageType>
          internalValueMap =
            new com.google.gwt.dev.protobuf.Internal.EnumLiteMap<MessageType>() {
              public MessageType findValueByNumber(int number) {
                return MessageType.valueOf(number);
              }
            };

      public final com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(index);
      }
      public final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.getDescriptor().getEnumTypes().get(0);
      }

      private static final MessageType[] VALUES = values();

      public static MessageType valueOf(
          com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        return VALUES[desc.getIndex()];
      }

      private final int index;
      private final int value;

      private MessageType(int index, int value) {
        this.index = index;
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:com.google.gwt.dev.shell.remoteui.Message.MessageType)
    }

    public interface RequestOrBuilder
        extends com.google.gwt.dev.protobuf.MessageOrBuilder {

      // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ServiceType serviceType = 1;
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ServiceType serviceType = 1;</code>
       */
      boolean hasServiceType();
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ServiceType serviceType = 1;</code>
       */
      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType getServiceType();

      // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;</code>
       */
      boolean hasViewerRequest();
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;</code>
       */
      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest getViewerRequest();
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;</code>
       */
      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequestOrBuilder getViewerRequestOrBuilder();

      // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;</code>
       */
      boolean hasDevModeRequest();
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;</code>
       */
      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest getDevModeRequest();
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;</code>
       */
      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequestOrBuilder getDevModeRequestOrBuilder();
    }
    /**
     * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request}
     *
     * <pre>
     * A request message. This is the root type for all request messages
     * </pre>
     */
    public static final class Request extends
        com.google.gwt.dev.protobuf.GeneratedMessage
        implements RequestOrBuilder {
      // Use Request.newBuilder() to construct.
      private Request(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private Request(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

      public Request getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.gwt.dev.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private Request(
          com.google.gwt.dev.protobuf.CodedInputStream input,
          com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                int rawValue = input.readEnum();
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType value = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType.valueOf(rawValue);
                if (value == null) {
                  unknownFields.mergeVarintField(1, rawValue);
                } else {
                  bitField0_ |= 0x00000001;
                  serviceType_ = value;
                }
                break;
              }
              case 18: {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Builder subBuilder = null;
                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                  subBuilder = viewerRequest_.toBuilder();
                }
                viewerRequest_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(viewerRequest_);
                  viewerRequest_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000002;
                break;
              }
              case 26: {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.Builder subBuilder = null;
                if (((bitField0_ & 0x00000004) == 0x00000004)) {
                  subBuilder = devModeRequest_.toBuilder();
                }
                devModeRequest_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(devModeRequest_);
                  devModeRequest_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000004;
                break;
              }
            }
          }
        } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_descriptor;
      }

      protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.Builder.class);
      }

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

      @java.lang.Override
      public com.google.gwt.dev.protobuf.Parser<Request> getParserForType() {
        return PARSER;
      }

      /**
       * Protobuf enum {@code com.google.gwt.dev.shell.remoteui.Message.Request.ServiceType}
       *
       * <pre>
       * Every request must be addressed to a service. The two types of
       * services are the ViewerService, and the DevModeService. The ViewerService
       * accepts commands for a Viewer. The DevModeService accepts requests for
       * the Development Mode Server.
       * </pre>
       */
      public enum ServiceType
          implements com.google.gwt.dev.protobuf.ProtocolMessageEnum {
        /**
         * <code>VIEWER = 0;</code>
         */
        VIEWER(0, 0),
        /**
         * <code>DEV_MODE = 1;</code>
         */
        DEV_MODE(1, 1),
        ;

        /**
         * <code>VIEWER = 0;</code>
         */
        public static final int VIEWER_VALUE = 0;
        /**
         * <code>DEV_MODE = 1;</code>
         */
        public static final int DEV_MODE_VALUE = 1;


        public final int getNumber() { return value; }

        public static ServiceType valueOf(int value) {
          switch (value) {
            case 0: return VIEWER;
            case 1: return DEV_MODE;
            default: return null;
          }
        }

        public static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<ServiceType>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<ServiceType>
            internalValueMap =
              new com.google.gwt.dev.protobuf.Internal.EnumLiteMap<ServiceType>() {
                public ServiceType findValueByNumber(int number) {
                  return ServiceType.valueOf(number);
                }
              };

        public final com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor
            getValueDescriptor() {
          return getDescriptor().getValues().get(index);
        }
        public final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
            getDescriptorForType() {
          return getDescriptor();
        }
        public static final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
            getDescriptor() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.getDescriptor().getEnumTypes().get(0);
        }

        private static final ServiceType[] VALUES = values();

        public static ServiceType valueOf(
            com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor desc) {
          if (desc.getType() != getDescriptor()) {
            throw new java.lang.IllegalArgumentException(
              "EnumValueDescriptor is not for this type.");
          }
          return VALUES[desc.getIndex()];
        }

        private final int index;
        private final int value;

        private ServiceType(int index, int value) {
          this.index = index;
          this.value = value;
        }

        // @@protoc_insertion_point(enum_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ServiceType)
      }

      public interface ViewerRequestOrBuilder
          extends com.google.gwt.dev.protobuf.MessageOrBuilder {

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType requestType = 1;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType requestType = 1;</code>
         */
        boolean hasRequestType();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType requestType = 1;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType getRequestType();

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;</code>
         */
        boolean hasCapabilityExchange();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange getCapabilityExchange();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder();

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;</code>
         */
        boolean hasAddLog();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog getAddLog();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogOrBuilder getAddLogOrBuilder();

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;</code>
         */
        boolean hasAddLogBranch();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch getAddLogBranch();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranchOrBuilder getAddLogBranchOrBuilder();

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;</code>
         */
        boolean hasAddLogEntry();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry getAddLogEntry();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntryOrBuilder getAddLogEntryOrBuilder();

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;</code>
         */
        boolean hasDisconnectLog();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog getDisconnectLog();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLogOrBuilder getDisconnectLogOrBuilder();

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;</code>
         */
        boolean hasInitialize();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize getInitialize();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.InitializeOrBuilder getInitializeOrBuilder();
      }
      /**
       * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest}
       *
       * <pre>
       * The root type for all requests for the ViewerService
       * </pre>
       */
      public static final class ViewerRequest extends
          com.google.gwt.dev.protobuf.GeneratedMessage
          implements ViewerRequestOrBuilder {
        // Use ViewerRequest.newBuilder() to construct.
        private ViewerRequest(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
          super(builder);
          this.unknownFields = builder.getUnknownFields();
        }
        private ViewerRequest(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

        public ViewerRequest getDefaultInstanceForType() {
          return defaultInstance;
        }

        private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
        @java.lang.Override
        public final com.google.gwt.dev.protobuf.UnknownFieldSet
            getUnknownFields() {
          return this.unknownFields;
        }
        private ViewerRequest(
            com.google.gwt.dev.protobuf.CodedInputStream input,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
          initFields();
          int mutable_bitField0_ = 0;
          com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
              com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder();
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                default: {
                  if (!parseUnknownField(input, unknownFields,
                                         extensionRegistry, tag)) {
                    done = true;
                  }
                  break;
                }
                case 8: {
                  int rawValue = input.readEnum();
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType value = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.valueOf(rawValue);
                  if (value == null) {
                    unknownFields.mergeVarintField(1, rawValue);
                  } else {
                    bitField0_ |= 0x00000001;
                    requestType_ = value;
                  }
                  break;
                }
                case 18: {
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.Builder subBuilder = null;
                  if (((bitField0_ & 0x00000002) == 0x00000002)) {
                    subBuilder = capabilityExchange_.toBuilder();
                  }
                  capabilityExchange_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.PARSER, extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(capabilityExchange_);
                    capabilityExchange_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000002;
                  break;
                }
                case 26: {
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.Builder subBuilder = null;
                  if (((bitField0_ & 0x00000004) == 0x00000004)) {
                    subBuilder = addLog_.toBuilder();
                  }
                  addLog_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.PARSER, extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(addLog_);
                    addLog_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000004;
                  break;
                }
                case 34: {
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.Builder subBuilder = null;
                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
                    subBuilder = addLogBranch_.toBuilder();
                  }
                  addLogBranch_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.PARSER, extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(addLogBranch_);
                    addLogBranch_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000008;
                  break;
                }
                case 42: {
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.Builder subBuilder = null;
                  if (((bitField0_ & 0x00000010) == 0x00000010)) {
                    subBuilder = addLogEntry_.toBuilder();
                  }
                  addLogEntry_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.PARSER, extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(addLogEntry_);
                    addLogEntry_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000010;
                  break;
                }
                case 50: {
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.Builder subBuilder = null;
                  if (((bitField0_ & 0x00000020) == 0x00000020)) {
                    subBuilder = disconnectLog_.toBuilder();
                  }
                  disconnectLog_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.PARSER, extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(disconnectLog_);
                    disconnectLog_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000020;
                  break;
                }
                case 58: {
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.Builder subBuilder = null;
                  if (((bitField0_ & 0x00000040) == 0x00000040)) {
                    subBuilder = initialize_.toBuilder();
                  }
                  initialize_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.PARSER, extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(initialize_);
                    initialize_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000040;
                  break;
                }
              }
            }
          } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(this);
          } catch (java.io.IOException e) {
            throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                e.getMessage()).setUnfinishedMessage(this);
          } finally {
            this.unknownFields = unknownFields.build();
            makeExtensionsImmutable();
          }
        }
        public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor;
        }

        protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Builder.class);
        }

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

        @java.lang.Override
        public com.google.gwt.dev.protobuf.Parser<ViewerRequest> getParserForType() {
          return PARSER;
        }

        /**
         * Protobuf enum {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType}
         *
         * <pre>
         * The different types of requests for a ViewerService
         * </pre>
         */
        public enum RequestType
            implements com.google.gwt.dev.protobuf.ProtocolMessageEnum {
          /**
           * <code>CAPABILITY_EXCHANGE = 0;</code>
           */
          CAPABILITY_EXCHANGE(0, 0),
          /**
           * <code>ADD_LOG = 1;</code>
           */
          ADD_LOG(1, 1),
          /**
           * <code>ADD_LOG_BRANCH = 2;</code>
           */
          ADD_LOG_BRANCH(2, 2),
          /**
           * <code>ADD_LOG_ENTRY = 3;</code>
           */
          ADD_LOG_ENTRY(3, 3),
          /**
           * <code>DISCONNECT_LOG = 4;</code>
           */
          DISCONNECT_LOG(4, 4),
          /**
           * <code>INITIALIZE = 5;</code>
           */
          INITIALIZE(5, 5),
          ;

          /**
           * <code>CAPABILITY_EXCHANGE = 0;</code>
           */
          public static final int CAPABILITY_EXCHANGE_VALUE = 0;
          /**
           * <code>ADD_LOG = 1;</code>
           */
          public static final int ADD_LOG_VALUE = 1;
          /**
           * <code>ADD_LOG_BRANCH = 2;</code>
           */
          public static final int ADD_LOG_BRANCH_VALUE = 2;
          /**
           * <code>ADD_LOG_ENTRY = 3;</code>
           */
          public static final int ADD_LOG_ENTRY_VALUE = 3;
          /**
           * <code>DISCONNECT_LOG = 4;</code>
           */
          public static final int DISCONNECT_LOG_VALUE = 4;
          /**
           * <code>INITIALIZE = 5;</code>
           */
          public static final int INITIALIZE_VALUE = 5;


          public final int getNumber() { return value; }

          public static RequestType valueOf(int value) {
            switch (value) {
              case 0: return CAPABILITY_EXCHANGE;
              case 1: return ADD_LOG;
              case 2: return ADD_LOG_BRANCH;
              case 3: return ADD_LOG_ENTRY;
              case 4: return DISCONNECT_LOG;
              case 5: return INITIALIZE;
              default: return null;
            }
          }

          public static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<RequestType>
              internalGetValueMap() {
            return internalValueMap;
          }
          private static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<RequestType>
              internalValueMap =
                new com.google.gwt.dev.protobuf.Internal.EnumLiteMap<RequestType>() {
                  public RequestType findValueByNumber(int number) {
                    return RequestType.valueOf(number);
                  }
                };

          public final com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor
              getValueDescriptor() {
            return getDescriptor().getValues().get(index);
          }
          public final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
              getDescriptorForType() {
            return getDescriptor();
          }
          public static final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.getDescriptor().getEnumTypes().get(0);
          }

          private static final RequestType[] VALUES = values();

          public static RequestType valueOf(
              com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor desc) {
            if (desc.getType() != getDescriptor()) {
              throw new java.lang.IllegalArgumentException(
                "EnumValueDescriptor is not for this type.");
            }
            return VALUES[desc.getIndex()];
          }

          private final int index;
          private final int value;

          private RequestType(int index, int value) {
            this.index = index;
            this.value = value;
          }

          // @@protoc_insertion_point(enum_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType)
        }

        public interface CapabilityExchangeOrBuilder
            extends com.google.gwt.dev.protobuf.MessageOrBuilder {
        }
        /**
         * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange}
         *
         * <pre>
         * Request the capabilities of the ViewerService. No additional
         * information is needed at this time.
         * </pre>
         */
        public static final class CapabilityExchange extends
            com.google.gwt.dev.protobuf.GeneratedMessage
            implements CapabilityExchangeOrBuilder {
          // Use CapabilityExchange.newBuilder() to construct.
          private CapabilityExchange(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.unknownFields = builder.getUnknownFields();
          }
          private CapabilityExchange(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

          public CapabilityExchange getDefaultInstanceForType() {
            return defaultInstance;
          }

          private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
          @java.lang.Override
          public final com.google.gwt.dev.protobuf.UnknownFieldSet
              getUnknownFields() {
            return this.unknownFields;
          }
          private CapabilityExchange(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            initFields();
            com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
                com.google.gwt.dev.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.gwt.dev.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
              throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                  e.getMessage()).setUnfinishedMessage(this);
            } finally {
              this.unknownFields = unknownFields.build();
              makeExtensionsImmutable();
            }
          }
          public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_CapabilityExchange_descriptor;
          }

          protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_CapabilityExchange_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.Builder.class);
          }

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

          @java.lang.Override
          public com.google.gwt.dev.protobuf.Parser<CapabilityExchange> 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.gwt.dev.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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange parseFrom(
              com.google.gwt.dev.protobuf.ByteString data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange parseFrom(
              com.google.gwt.dev.protobuf.ByteString data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange parseFrom(byte[] data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange parseFrom(
              byte[] data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange parseFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange parseFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange parseDelimitedFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange parseDelimitedFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange prototype) {
            return newBuilder().mergeFrom(prototype);
          }
          public Builder toBuilder() { return newBuilder(this); }

          @java.lang.Override
          protected Builder newBuilderForType(
              com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
          }
          /**
           * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange}
           *
           * <pre>
           * Request the capabilities of the ViewerService. No additional
           * information is needed at this time.
           * </pre>
           */
          public static final class Builder extends
              com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
             implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchangeOrBuilder {
            public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_CapabilityExchange_descriptor;
            }

            protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_CapabilityExchange_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.Builder.class);
            }

            // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.newBuilder()
            private Builder() {
              maybeForceBuilderInitialization();
            }

            private Builder(
                com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
              super(parent);
              maybeForceBuilderInitialization();
            }
            private void maybeForceBuilderInitialization() {
              if (com.google.gwt.dev.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.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptorForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_CapabilityExchange_descriptor;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange getDefaultInstanceForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.getDefaultInstance();
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange build() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange result = buildPartial();
              if (!result.isInitialized()) {
                throw newUninitializedMessageException(result);
              }
              return result;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange buildPartial() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange(this);
              onBuilt();
              return result;
            }

            public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
              if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange) {
                return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange)other);
              } else {
                super.mergeFrom(other);
                return this;
              }
            }

            public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange other) {
              if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.getDefaultInstance()) return this;
              this.mergeUnknownFields(other.getUnknownFields());
              return this;
            }

            public final boolean isInitialized() {
              return true;
            }

            public Builder mergeFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange parsedMessage = null;
              try {
                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
              } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange) e.getUnfinishedMessage();
                throw e;
              } finally {
                if (parsedMessage != null) {
                  mergeFrom(parsedMessage);
                }
              }
              return this;
            }

            // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange)
          }

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

          // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange)
        }

        public interface AddLogOrBuilder
            extends com.google.gwt.dev.protobuf.MessageOrBuilder {

          // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.LogType type = 1;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.LogType type = 1;</code>
           */
          boolean hasType();
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.LogType type = 1;</code>
           */
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType getType();

          // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;</code>
           */
          boolean hasModuleLog();
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;</code>
           */
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog getModuleLog();
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;</code>
           */
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLogOrBuilder getModuleLogOrBuilder();

          // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;</code>
           */
          boolean hasServerLog();
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;</code>
           */
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog getServerLog();
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;</code>
           */
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLogOrBuilder getServerLogOrBuilder();

          // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;</code>
           */
          boolean hasMainLog();
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;</code>
           */
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog getMainLog();
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;</code>
           */
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLogOrBuilder getMainLogOrBuilder();
        }
        /**
         * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog}
         *
         * <pre>
         * Add a log message to the view
         * </pre>
         */
        public static final class AddLog extends
            com.google.gwt.dev.protobuf.GeneratedMessage
            implements AddLogOrBuilder {
          // Use AddLog.newBuilder() to construct.
          private AddLog(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.unknownFields = builder.getUnknownFields();
          }
          private AddLog(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

          public AddLog getDefaultInstanceForType() {
            return defaultInstance;
          }

          private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
          @java.lang.Override
          public final com.google.gwt.dev.protobuf.UnknownFieldSet
              getUnknownFields() {
            return this.unknownFields;
          }
          private AddLog(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            initFields();
            int mutable_bitField0_ = 0;
            com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
                com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder();
            try {
              boolean done = false;
              while (!done) {
                int tag = input.readTag();
                switch (tag) {
                  case 0:
                    done = true;
                    break;
                  default: {
                    if (!parseUnknownField(input, unknownFields,
                                           extensionRegistry, tag)) {
                      done = true;
                    }
                    break;
                  }
                  case 8: {
                    int rawValue = input.readEnum();
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType value = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType.valueOf(rawValue);
                    if (value == null) {
                      unknownFields.mergeVarintField(1, rawValue);
                    } else {
                      bitField0_ |= 0x00000001;
                      type_ = value;
                    }
                    break;
                  }
                  case 18: {
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.Builder subBuilder = null;
                    if (((bitField0_ & 0x00000002) == 0x00000002)) {
                      subBuilder = moduleLog_.toBuilder();
                    }
                    moduleLog_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.PARSER, extensionRegistry);
                    if (subBuilder != null) {
                      subBuilder.mergeFrom(moduleLog_);
                      moduleLog_ = subBuilder.buildPartial();
                    }
                    bitField0_ |= 0x00000002;
                    break;
                  }
                  case 26: {
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.Builder subBuilder = null;
                    if (((bitField0_ & 0x00000004) == 0x00000004)) {
                      subBuilder = serverLog_.toBuilder();
                    }
                    serverLog_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.PARSER, extensionRegistry);
                    if (subBuilder != null) {
                      subBuilder.mergeFrom(serverLog_);
                      serverLog_ = subBuilder.buildPartial();
                    }
                    bitField0_ |= 0x00000004;
                    break;
                  }
                  case 34: {
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.Builder subBuilder = null;
                    if (((bitField0_ & 0x00000008) == 0x00000008)) {
                      subBuilder = mainLog_.toBuilder();
                    }
                    mainLog_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.PARSER, extensionRegistry);
                    if (subBuilder != null) {
                      subBuilder.mergeFrom(mainLog_);
                      mainLog_ = subBuilder.buildPartial();
                    }
                    bitField0_ |= 0x00000008;
                    break;
                  }
                }
              }
            } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
              throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                  e.getMessage()).setUnfinishedMessage(this);
            } finally {
              this.unknownFields = unknownFields.build();
              makeExtensionsImmutable();
            }
          }
          public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_descriptor;
          }

          protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.Builder.class);
          }

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

          @java.lang.Override
          public com.google.gwt.dev.protobuf.Parser<AddLog> getParserForType() {
            return PARSER;
          }

          /**
           * Protobuf enum {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.LogType}
           *
           * <pre>
           * The type of log - either a web server log, a module log, or
           * the main log
           * </pre>
           */
          public enum LogType
              implements com.google.gwt.dev.protobuf.ProtocolMessageEnum {
            /**
             * <code>MAIN = 0;</code>
             */
            MAIN(0, 0),
            /**
             * <code>MODULE = 1;</code>
             */
            MODULE(1, 1),
            /**
             * <code>WEB_SERVER = 2;</code>
             */
            WEB_SERVER(2, 2),
            ;

            /**
             * <code>MAIN = 0;</code>
             */
            public static final int MAIN_VALUE = 0;
            /**
             * <code>MODULE = 1;</code>
             */
            public static final int MODULE_VALUE = 1;
            /**
             * <code>WEB_SERVER = 2;</code>
             */
            public static final int WEB_SERVER_VALUE = 2;


            public final int getNumber() { return value; }

            public static LogType valueOf(int value) {
              switch (value) {
                case 0: return MAIN;
                case 1: return MODULE;
                case 2: return WEB_SERVER;
                default: return null;
              }
            }

            public static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<LogType>
                internalGetValueMap() {
              return internalValueMap;
            }
            private static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<LogType>
                internalValueMap =
                  new com.google.gwt.dev.protobuf.Internal.EnumLiteMap<LogType>() {
                    public LogType findValueByNumber(int number) {
                      return LogType.valueOf(number);
                    }
                  };

            public final com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor
                getValueDescriptor() {
              return getDescriptor().getValues().get(index);
            }
            public final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
                getDescriptorForType() {
              return getDescriptor();
            }
            public static final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.getDescriptor().getEnumTypes().get(0);
            }

            private static final LogType[] VALUES = values();

            public static LogType valueOf(
                com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor desc) {
              if (desc.getType() != getDescriptor()) {
                throw new java.lang.IllegalArgumentException(
                  "EnumValueDescriptor is not for this type.");
              }
              return VALUES[desc.getIndex()];
            }

            private final int index;
            private final int value;

            private LogType(int index, int value) {
              this.index = index;
              this.value = value;
            }

            // @@protoc_insertion_point(enum_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.LogType)
          }

          public interface ModuleLogOrBuilder
              extends com.google.gwt.dev.protobuf.MessageOrBuilder {

            // required string name = 1;
            /**
             * <code>required string name = 1;</code>
             */
            boolean hasName();
            /**
             * <code>required string name = 1;</code>
             */
            java.lang.String getName();
            /**
             * <code>required string name = 1;</code>
             */
            com.google.gwt.dev.protobuf.ByteString
                getNameBytes();

            // optional bytes icon = 2;
            /**
             * <code>optional bytes icon = 2;</code>
             */
            boolean hasIcon();
            /**
             * <code>optional bytes icon = 2;</code>
             */
            com.google.gwt.dev.protobuf.ByteString getIcon();

            // optional string sessionKey = 3;
            /**
             * <code>optional string sessionKey = 3;</code>
             */
            boolean hasSessionKey();
            /**
             * <code>optional string sessionKey = 3;</code>
             */
            java.lang.String getSessionKey();
            /**
             * <code>optional string sessionKey = 3;</code>
             */
            com.google.gwt.dev.protobuf.ByteString
                getSessionKeyBytes();

            // optional string userAgent = 4;
            /**
             * <code>optional string userAgent = 4;</code>
             */
            boolean hasUserAgent();
            /**
             * <code>optional string userAgent = 4;</code>
             */
            java.lang.String getUserAgent();
            /**
             * <code>optional string userAgent = 4;</code>
             */
            com.google.gwt.dev.protobuf.ByteString
                getUserAgentBytes();

            // optional string url = 5;
            /**
             * <code>optional string url = 5;</code>
             */
            boolean hasUrl();
            /**
             * <code>optional string url = 5;</code>
             */
            java.lang.String getUrl();
            /**
             * <code>optional string url = 5;</code>
             */
            com.google.gwt.dev.protobuf.ByteString
                getUrlBytes();

            // optional string tabKey = 6;
            /**
             * <code>optional string tabKey = 6;</code>
             */
            boolean hasTabKey();
            /**
             * <code>optional string tabKey = 6;</code>
             */
            java.lang.String getTabKey();
            /**
             * <code>optional string tabKey = 6;</code>
             */
            com.google.gwt.dev.protobuf.ByteString
                getTabKeyBytes();

            // optional string remoteHost = 7;
            /**
             * <code>optional string remoteHost = 7;</code>
             */
            boolean hasRemoteHost();
            /**
             * <code>optional string remoteHost = 7;</code>
             */
            java.lang.String getRemoteHost();
            /**
             * <code>optional string remoteHost = 7;</code>
             */
            com.google.gwt.dev.protobuf.ByteString
                getRemoteHostBytes();
          }
          /**
           * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog}
           *
           * <pre>
           * Information needed for creating a Module Log
           * </pre>
           */
          public static final class ModuleLog extends
              com.google.gwt.dev.protobuf.GeneratedMessage
              implements ModuleLogOrBuilder {
            // Use ModuleLog.newBuilder() to construct.
            private ModuleLog(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
              super(builder);
              this.unknownFields = builder.getUnknownFields();
            }
            private ModuleLog(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

            public ModuleLog getDefaultInstanceForType() {
              return defaultInstance;
            }

            private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
            @java.lang.Override
            public final com.google.gwt.dev.protobuf.UnknownFieldSet
                getUnknownFields() {
              return this.unknownFields;
            }
            private ModuleLog(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              initFields();
              int mutable_bitField0_ = 0;
              com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
                  com.google.gwt.dev.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;
                      name_ = input.readBytes();
                      break;
                    }
                    case 18: {
                      bitField0_ |= 0x00000002;
                      icon_ = input.readBytes();
                      break;
                    }
                    case 26: {
                      bitField0_ |= 0x00000004;
                      sessionKey_ = input.readBytes();
                      break;
                    }
                    case 34: {
                      bitField0_ |= 0x00000008;
                      userAgent_ = input.readBytes();
                      break;
                    }
                    case 42: {
                      bitField0_ |= 0x00000010;
                      url_ = input.readBytes();
                      break;
                    }
                    case 50: {
                      bitField0_ |= 0x00000020;
                      tabKey_ = input.readBytes();
                      break;
                    }
                    case 58: {
                      bitField0_ |= 0x00000040;
                      remoteHost_ = input.readBytes();
                      break;
                    }
                  }
                }
              } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
              } catch (java.io.IOException e) {
                throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                    e.getMessage()).setUnfinishedMessage(this);
              } finally {
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
              }
            }
            public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ModuleLog_descriptor;
            }

            protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ModuleLog_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.Builder.class);
            }

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

            @java.lang.Override
            public com.google.gwt.dev.protobuf.Parser<ModuleLog> getParserForType() {
              return PARSER;
            }

            private int bitField0_;
            // required string name = 1;
            public static final int NAME_FIELD_NUMBER = 1;
            private java.lang.Object name_;
            /**
             * <code>required string name = 1;</code>
             */
            public boolean hasName() {
              return ((bitField0_ & 0x00000001) == 0x00000001);
            }
            /**
             * <code>required string name = 1;</code>
             */
            public java.lang.String getName() {
              java.lang.Object ref = name_;
              if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
              } else {
                com.google.gwt.dev.protobuf.ByteString bs =
                    (com.google.gwt.dev.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                if (bs.isValidUtf8()) {
                  name_ = s;
                }
                return s;
              }
            }
            /**
             * <code>required string name = 1;</code>
             */
            public com.google.gwt.dev.protobuf.ByteString
                getNameBytes() {
              java.lang.Object ref = name_;
              if (ref instanceof java.lang.String) {
                com.google.gwt.dev.protobuf.ByteString b =
                    com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                        (java.lang.String) ref);
                name_ = b;
                return b;
              } else {
                return (com.google.gwt.dev.protobuf.ByteString) ref;
              }
            }

            // optional bytes icon = 2;
            public static final int ICON_FIELD_NUMBER = 2;
            private com.google.gwt.dev.protobuf.ByteString icon_;
            /**
             * <code>optional bytes icon = 2;</code>
             */
            public boolean hasIcon() {
              return ((bitField0_ & 0x00000002) == 0x00000002);
            }
            /**
             * <code>optional bytes icon = 2;</code>
             */
            public com.google.gwt.dev.protobuf.ByteString getIcon() {
              return icon_;
            }

            // optional string sessionKey = 3;
            public static final int SESSIONKEY_FIELD_NUMBER = 3;
            private java.lang.Object sessionKey_;
            /**
             * <code>optional string sessionKey = 3;</code>
             */
            public boolean hasSessionKey() {
              return ((bitField0_ & 0x00000004) == 0x00000004);
            }
            /**
             * <code>optional string sessionKey = 3;</code>
             */
            public java.lang.String getSessionKey() {
              java.lang.Object ref = sessionKey_;
              if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
              } else {
                com.google.gwt.dev.protobuf.ByteString bs =
                    (com.google.gwt.dev.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                if (bs.isValidUtf8()) {
                  sessionKey_ = s;
                }
                return s;
              }
            }
            /**
             * <code>optional string sessionKey = 3;</code>
             */
            public com.google.gwt.dev.protobuf.ByteString
                getSessionKeyBytes() {
              java.lang.Object ref = sessionKey_;
              if (ref instanceof java.lang.String) {
                com.google.gwt.dev.protobuf.ByteString b =
                    com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                        (java.lang.String) ref);
                sessionKey_ = b;
                return b;
              } else {
                return (com.google.gwt.dev.protobuf.ByteString) ref;
              }
            }

            // optional string userAgent = 4;
            public static final int USERAGENT_FIELD_NUMBER = 4;
            private java.lang.Object userAgent_;
            /**
             * <code>optional string userAgent = 4;</code>
             */
            public boolean hasUserAgent() {
              return ((bitField0_ & 0x00000008) == 0x00000008);
            }
            /**
             * <code>optional string userAgent = 4;</code>
             */
            public java.lang.String getUserAgent() {
              java.lang.Object ref = userAgent_;
              if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
              } else {
                com.google.gwt.dev.protobuf.ByteString bs =
                    (com.google.gwt.dev.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                if (bs.isValidUtf8()) {
                  userAgent_ = s;
                }
                return s;
              }
            }
            /**
             * <code>optional string userAgent = 4;</code>
             */
            public com.google.gwt.dev.protobuf.ByteString
                getUserAgentBytes() {
              java.lang.Object ref = userAgent_;
              if (ref instanceof java.lang.String) {
                com.google.gwt.dev.protobuf.ByteString b =
                    com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                        (java.lang.String) ref);
                userAgent_ = b;
                return b;
              } else {
                return (com.google.gwt.dev.protobuf.ByteString) ref;
              }
            }

            // optional string url = 5;
            public static final int URL_FIELD_NUMBER = 5;
            private java.lang.Object url_;
            /**
             * <code>optional string url = 5;</code>
             */
            public boolean hasUrl() {
              return ((bitField0_ & 0x00000010) == 0x00000010);
            }
            /**
             * <code>optional string url = 5;</code>
             */
            public java.lang.String getUrl() {
              java.lang.Object ref = url_;
              if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
              } else {
                com.google.gwt.dev.protobuf.ByteString bs =
                    (com.google.gwt.dev.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                if (bs.isValidUtf8()) {
                  url_ = s;
                }
                return s;
              }
            }
            /**
             * <code>optional string url = 5;</code>
             */
            public com.google.gwt.dev.protobuf.ByteString
                getUrlBytes() {
              java.lang.Object ref = url_;
              if (ref instanceof java.lang.String) {
                com.google.gwt.dev.protobuf.ByteString b =
                    com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                        (java.lang.String) ref);
                url_ = b;
                return b;
              } else {
                return (com.google.gwt.dev.protobuf.ByteString) ref;
              }
            }

            // optional string tabKey = 6;
            public static final int TABKEY_FIELD_NUMBER = 6;
            private java.lang.Object tabKey_;
            /**
             * <code>optional string tabKey = 6;</code>
             */
            public boolean hasTabKey() {
              return ((bitField0_ & 0x00000020) == 0x00000020);
            }
            /**
             * <code>optional string tabKey = 6;</code>
             */
            public java.lang.String getTabKey() {
              java.lang.Object ref = tabKey_;
              if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
              } else {
                com.google.gwt.dev.protobuf.ByteString bs =
                    (com.google.gwt.dev.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                if (bs.isValidUtf8()) {
                  tabKey_ = s;
                }
                return s;
              }
            }
            /**
             * <code>optional string tabKey = 6;</code>
             */
            public com.google.gwt.dev.protobuf.ByteString
                getTabKeyBytes() {
              java.lang.Object ref = tabKey_;
              if (ref instanceof java.lang.String) {
                com.google.gwt.dev.protobuf.ByteString b =
                    com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                        (java.lang.String) ref);
                tabKey_ = b;
                return b;
              } else {
                return (com.google.gwt.dev.protobuf.ByteString) ref;
              }
            }

            // optional string remoteHost = 7;
            public static final int REMOTEHOST_FIELD_NUMBER = 7;
            private java.lang.Object remoteHost_;
            /**
             * <code>optional string remoteHost = 7;</code>
             */
            public boolean hasRemoteHost() {
              return ((bitField0_ & 0x00000040) == 0x00000040);
            }
            /**
             * <code>optional string remoteHost = 7;</code>
             */
            public java.lang.String getRemoteHost() {
              java.lang.Object ref = remoteHost_;
              if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
              } else {
                com.google.gwt.dev.protobuf.ByteString bs =
                    (com.google.gwt.dev.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                if (bs.isValidUtf8()) {
                  remoteHost_ = s;
                }
                return s;
              }
            }
            /**
             * <code>optional string remoteHost = 7;</code>
             */
            public com.google.gwt.dev.protobuf.ByteString
                getRemoteHostBytes() {
              java.lang.Object ref = remoteHost_;
              if (ref instanceof java.lang.String) {
                com.google.gwt.dev.protobuf.ByteString b =
                    com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                        (java.lang.String) ref);
                remoteHost_ = b;
                return b;
              } else {
                return (com.google.gwt.dev.protobuf.ByteString) ref;
              }
            }

            private void initFields() {
              name_ = "";
              icon_ = com.google.gwt.dev.protobuf.ByteString.EMPTY;
              sessionKey_ = "";
              userAgent_ = "";
              url_ = "";
              tabKey_ = "";
              remoteHost_ = "";
            }
            private byte memoizedIsInitialized = -1;
            public final boolean isInitialized() {
              byte isInitialized = memoizedIsInitialized;
              if (isInitialized != -1) return isInitialized == 1;

              if (!hasName()) {
                memoizedIsInitialized = 0;
                return false;
              }
              memoizedIsInitialized = 1;
              return true;
            }

            public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
                                throws java.io.IOException {
              getSerializedSize();
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                output.writeBytes(1, getNameBytes());
              }
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                output.writeBytes(2, icon_);
              }
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                output.writeBytes(3, getSessionKeyBytes());
              }
              if (((bitField0_ & 0x00000008) == 0x00000008)) {
                output.writeBytes(4, getUserAgentBytes());
              }
              if (((bitField0_ & 0x00000010) == 0x00000010)) {
                output.writeBytes(5, getUrlBytes());
              }
              if (((bitField0_ & 0x00000020) == 0x00000020)) {
                output.writeBytes(6, getTabKeyBytes());
              }
              if (((bitField0_ & 0x00000040) == 0x00000040)) {
                output.writeBytes(7, getRemoteHostBytes());
              }
              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.gwt.dev.protobuf.CodedOutputStream
                  .computeBytesSize(1, getNameBytes());
              }
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                size += com.google.gwt.dev.protobuf.CodedOutputStream
                  .computeBytesSize(2, icon_);
              }
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                size += com.google.gwt.dev.protobuf.CodedOutputStream
                  .computeBytesSize(3, getSessionKeyBytes());
              }
              if (((bitField0_ & 0x00000008) == 0x00000008)) {
                size += com.google.gwt.dev.protobuf.CodedOutputStream
                  .computeBytesSize(4, getUserAgentBytes());
              }
              if (((bitField0_ & 0x00000010) == 0x00000010)) {
                size += com.google.gwt.dev.protobuf.CodedOutputStream
                  .computeBytesSize(5, getUrlBytes());
              }
              if (((bitField0_ & 0x00000020) == 0x00000020)) {
                size += com.google.gwt.dev.protobuf.CodedOutputStream
                  .computeBytesSize(6, getTabKeyBytes());
              }
              if (((bitField0_ & 0x00000040) == 0x00000040)) {
                size += com.google.gwt.dev.protobuf.CodedOutputStream
                  .computeBytesSize(7, getRemoteHostBytes());
              }
              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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog parseFrom(
                com.google.gwt.dev.protobuf.ByteString data)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog parseFrom(
                com.google.gwt.dev.protobuf.ByteString data,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog parseFrom(byte[] data)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog parseFrom(
                byte[] data,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog parseFrom(java.io.InputStream input)
                throws java.io.IOException {
              return PARSER.parseFrom(input);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog parseFrom(
                java.io.InputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              return PARSER.parseFrom(input, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog parseDelimitedFrom(java.io.InputStream input)
                throws java.io.IOException {
              return PARSER.parseDelimitedFrom(input);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog parseDelimitedFrom(
                java.io.InputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              return PARSER.parseDelimitedFrom(input, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog parseFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input)
                throws java.io.IOException {
              return PARSER.parseFrom(input);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog parseFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog prototype) {
              return newBuilder().mergeFrom(prototype);
            }
            public Builder toBuilder() { return newBuilder(this); }

            @java.lang.Override
            protected Builder newBuilderForType(
                com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
              Builder builder = new Builder(parent);
              return builder;
            }
            /**
             * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog}
             *
             * <pre>
             * Information needed for creating a Module Log
             * </pre>
             */
            public static final class Builder extends
                com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
               implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLogOrBuilder {
              public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                  getDescriptor() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ModuleLog_descriptor;
              }

              protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                  internalGetFieldAccessorTable() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ModuleLog_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(
                        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.Builder.class);
              }

              // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.newBuilder()
              private Builder() {
                maybeForceBuilderInitialization();
              }

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

              public Builder clear() {
                super.clear();
                name_ = "";
                bitField0_ = (bitField0_ & ~0x00000001);
                icon_ = com.google.gwt.dev.protobuf.ByteString.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000002);
                sessionKey_ = "";
                bitField0_ = (bitField0_ & ~0x00000004);
                userAgent_ = "";
                bitField0_ = (bitField0_ & ~0x00000008);
                url_ = "";
                bitField0_ = (bitField0_ & ~0x00000010);
                tabKey_ = "";
                bitField0_ = (bitField0_ & ~0x00000020);
                remoteHost_ = "";
                bitField0_ = (bitField0_ & ~0x00000040);
                return this;
              }

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

              public com.google.gwt.dev.protobuf.Descriptors.Descriptor
                  getDescriptorForType() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ModuleLog_descriptor;
              }

              public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog getDefaultInstanceForType() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.getDefaultInstance();
              }

              public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog build() {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog result = buildPartial();
                if (!result.isInitialized()) {
                  throw newUninitializedMessageException(result);
                }
                return result;
              }

              public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog buildPartial() {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog(this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                  to_bitField0_ |= 0x00000001;
                }
                result.name_ = name_;
                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                  to_bitField0_ |= 0x00000002;
                }
                result.icon_ = icon_;
                if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
                  to_bitField0_ |= 0x00000004;
                }
                result.sessionKey_ = sessionKey_;
                if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
                  to_bitField0_ |= 0x00000008;
                }
                result.userAgent_ = userAgent_;
                if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
                  to_bitField0_ |= 0x00000010;
                }
                result.url_ = url_;
                if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
                  to_bitField0_ |= 0x00000020;
                }
                result.tabKey_ = tabKey_;
                if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
                  to_bitField0_ |= 0x00000040;
                }
                result.remoteHost_ = remoteHost_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
              }

              public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
                if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog) {
                  return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog)other);
                } else {
                  super.mergeFrom(other);
                  return this;
                }
              }

              public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog other) {
                if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.getDefaultInstance()) return this;
                if (other.hasName()) {
                  bitField0_ |= 0x00000001;
                  name_ = other.name_;
                  onChanged();
                }
                if (other.hasIcon()) {
                  setIcon(other.getIcon());
                }
                if (other.hasSessionKey()) {
                  bitField0_ |= 0x00000004;
                  sessionKey_ = other.sessionKey_;
                  onChanged();
                }
                if (other.hasUserAgent()) {
                  bitField0_ |= 0x00000008;
                  userAgent_ = other.userAgent_;
                  onChanged();
                }
                if (other.hasUrl()) {
                  bitField0_ |= 0x00000010;
                  url_ = other.url_;
                  onChanged();
                }
                if (other.hasTabKey()) {
                  bitField0_ |= 0x00000020;
                  tabKey_ = other.tabKey_;
                  onChanged();
                }
                if (other.hasRemoteHost()) {
                  bitField0_ |= 0x00000040;
                  remoteHost_ = other.remoteHost_;
                  onChanged();
                }
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
              }

              public final boolean isInitialized() {
                if (!hasName()) {

                  return false;
                }
                return true;
              }

              public Builder mergeFrom(
                  com.google.gwt.dev.protobuf.CodedInputStream input,
                  com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                  throws java.io.IOException {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog parsedMessage = null;
                try {
                  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                  parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog) e.getUnfinishedMessage();
                  throw e;
                } finally {
                  if (parsedMessage != null) {
                    mergeFrom(parsedMessage);
                  }
                }
                return this;
              }
              private int bitField0_;

              // required string name = 1;
              private java.lang.Object name_ = "";
              /**
               * <code>required string name = 1;</code>
               */
              public boolean hasName() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
              }
              /**
               * <code>required string name = 1;</code>
               */
              public java.lang.String getName() {
                java.lang.Object ref = name_;
                if (!(ref instanceof java.lang.String)) {
                  java.lang.String s = ((com.google.gwt.dev.protobuf.ByteString) ref)
                      .toStringUtf8();
                  name_ = s;
                  return s;
                } else {
                  return (java.lang.String) ref;
                }
              }
              /**
               * <code>required string name = 1;</code>
               */
              public com.google.gwt.dev.protobuf.ByteString
                  getNameBytes() {
                java.lang.Object ref = name_;
                if (ref instanceof String) {
                  com.google.gwt.dev.protobuf.ByteString b =
                      com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                          (java.lang.String) ref);
                  name_ = b;
                  return b;
                } else {
                  return (com.google.gwt.dev.protobuf.ByteString) ref;
                }
              }
              /**
               * <code>required string name = 1;</code>
               */
              public Builder setName(
                  java.lang.String value) {
                if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
                name_ = value;
                onChanged();
                return this;
              }
              /**
               * <code>required string name = 1;</code>
               */
              public Builder clearName() {
                bitField0_ = (bitField0_ & ~0x00000001);
                name_ = getDefaultInstance().getName();
                onChanged();
                return this;
              }
              /**
               * <code>required string name = 1;</code>
               */
              public Builder setNameBytes(
                  com.google.gwt.dev.protobuf.ByteString value) {
                if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
                name_ = value;
                onChanged();
                return this;
              }

              // optional bytes icon = 2;
              private com.google.gwt.dev.protobuf.ByteString icon_ = com.google.gwt.dev.protobuf.ByteString.EMPTY;
              /**
               * <code>optional bytes icon = 2;</code>
               */
              public boolean hasIcon() {
                return ((bitField0_ & 0x00000002) == 0x00000002);
              }
              /**
               * <code>optional bytes icon = 2;</code>
               */
              public com.google.gwt.dev.protobuf.ByteString getIcon() {
                return icon_;
              }
              /**
               * <code>optional bytes icon = 2;</code>
               */
              public Builder setIcon(com.google.gwt.dev.protobuf.ByteString value) {
                if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
                icon_ = value;
                onChanged();
                return this;
              }
              /**
               * <code>optional bytes icon = 2;</code>
               */
              public Builder clearIcon() {
                bitField0_ = (bitField0_ & ~0x00000002);
                icon_ = getDefaultInstance().getIcon();
                onChanged();
                return this;
              }

              // optional string sessionKey = 3;
              private java.lang.Object sessionKey_ = "";
              /**
               * <code>optional string sessionKey = 3;</code>
               */
              public boolean hasSessionKey() {
                return ((bitField0_ & 0x00000004) == 0x00000004);
              }
              /**
               * <code>optional string sessionKey = 3;</code>
               */
              public java.lang.String getSessionKey() {
                java.lang.Object ref = sessionKey_;
                if (!(ref instanceof java.lang.String)) {
                  java.lang.String s = ((com.google.gwt.dev.protobuf.ByteString) ref)
                      .toStringUtf8();
                  sessionKey_ = s;
                  return s;
                } else {
                  return (java.lang.String) ref;
                }
              }
              /**
               * <code>optional string sessionKey = 3;</code>
               */
              public com.google.gwt.dev.protobuf.ByteString
                  getSessionKeyBytes() {
                java.lang.Object ref = sessionKey_;
                if (ref instanceof String) {
                  com.google.gwt.dev.protobuf.ByteString b =
                      com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                          (java.lang.String) ref);
                  sessionKey_ = b;
                  return b;
                } else {
                  return (com.google.gwt.dev.protobuf.ByteString) ref;
                }
              }
              /**
               * <code>optional string sessionKey = 3;</code>
               */
              public Builder setSessionKey(
                  java.lang.String value) {
                if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
                sessionKey_ = value;
                onChanged();
                return this;
              }
              /**
               * <code>optional string sessionKey = 3;</code>
               */
              public Builder clearSessionKey() {
                bitField0_ = (bitField0_ & ~0x00000004);
                sessionKey_ = getDefaultInstance().getSessionKey();
                onChanged();
                return this;
              }
              /**
               * <code>optional string sessionKey = 3;</code>
               */
              public Builder setSessionKeyBytes(
                  com.google.gwt.dev.protobuf.ByteString value) {
                if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
                sessionKey_ = value;
                onChanged();
                return this;
              }

              // optional string userAgent = 4;
              private java.lang.Object userAgent_ = "";
              /**
               * <code>optional string userAgent = 4;</code>
               */
              public boolean hasUserAgent() {
                return ((bitField0_ & 0x00000008) == 0x00000008);
              }
              /**
               * <code>optional string userAgent = 4;</code>
               */
              public java.lang.String getUserAgent() {
                java.lang.Object ref = userAgent_;
                if (!(ref instanceof java.lang.String)) {
                  java.lang.String s = ((com.google.gwt.dev.protobuf.ByteString) ref)
                      .toStringUtf8();
                  userAgent_ = s;
                  return s;
                } else {
                  return (java.lang.String) ref;
                }
              }
              /**
               * <code>optional string userAgent = 4;</code>
               */
              public com.google.gwt.dev.protobuf.ByteString
                  getUserAgentBytes() {
                java.lang.Object ref = userAgent_;
                if (ref instanceof String) {
                  com.google.gwt.dev.protobuf.ByteString b =
                      com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                          (java.lang.String) ref);
                  userAgent_ = b;
                  return b;
                } else {
                  return (com.google.gwt.dev.protobuf.ByteString) ref;
                }
              }
              /**
               * <code>optional string userAgent = 4;</code>
               */
              public Builder setUserAgent(
                  java.lang.String value) {
                if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
                userAgent_ = value;
                onChanged();
                return this;
              }
              /**
               * <code>optional string userAgent = 4;</code>
               */
              public Builder clearUserAgent() {
                bitField0_ = (bitField0_ & ~0x00000008);
                userAgent_ = getDefaultInstance().getUserAgent();
                onChanged();
                return this;
              }
              /**
               * <code>optional string userAgent = 4;</code>
               */
              public Builder setUserAgentBytes(
                  com.google.gwt.dev.protobuf.ByteString value) {
                if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
                userAgent_ = value;
                onChanged();
                return this;
              }

              // optional string url = 5;
              private java.lang.Object url_ = "";
              /**
               * <code>optional string url = 5;</code>
               */
              public boolean hasUrl() {
                return ((bitField0_ & 0x00000010) == 0x00000010);
              }
              /**
               * <code>optional string url = 5;</code>
               */
              public java.lang.String getUrl() {
                java.lang.Object ref = url_;
                if (!(ref instanceof java.lang.String)) {
                  java.lang.String s = ((com.google.gwt.dev.protobuf.ByteString) ref)
                      .toStringUtf8();
                  url_ = s;
                  return s;
                } else {
                  return (java.lang.String) ref;
                }
              }
              /**
               * <code>optional string url = 5;</code>
               */
              public com.google.gwt.dev.protobuf.ByteString
                  getUrlBytes() {
                java.lang.Object ref = url_;
                if (ref instanceof String) {
                  com.google.gwt.dev.protobuf.ByteString b =
                      com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                          (java.lang.String) ref);
                  url_ = b;
                  return b;
                } else {
                  return (com.google.gwt.dev.protobuf.ByteString) ref;
                }
              }
              /**
               * <code>optional string url = 5;</code>
               */
              public Builder setUrl(
                  java.lang.String value) {
                if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
                url_ = value;
                onChanged();
                return this;
              }
              /**
               * <code>optional string url = 5;</code>
               */
              public Builder clearUrl() {
                bitField0_ = (bitField0_ & ~0x00000010);
                url_ = getDefaultInstance().getUrl();
                onChanged();
                return this;
              }
              /**
               * <code>optional string url = 5;</code>
               */
              public Builder setUrlBytes(
                  com.google.gwt.dev.protobuf.ByteString value) {
                if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
                url_ = value;
                onChanged();
                return this;
              }

              // optional string tabKey = 6;
              private java.lang.Object tabKey_ = "";
              /**
               * <code>optional string tabKey = 6;</code>
               */
              public boolean hasTabKey() {
                return ((bitField0_ & 0x00000020) == 0x00000020);
              }
              /**
               * <code>optional string tabKey = 6;</code>
               */
              public java.lang.String getTabKey() {
                java.lang.Object ref = tabKey_;
                if (!(ref instanceof java.lang.String)) {
                  java.lang.String s = ((com.google.gwt.dev.protobuf.ByteString) ref)
                      .toStringUtf8();
                  tabKey_ = s;
                  return s;
                } else {
                  return (java.lang.String) ref;
                }
              }
              /**
               * <code>optional string tabKey = 6;</code>
               */
              public com.google.gwt.dev.protobuf.ByteString
                  getTabKeyBytes() {
                java.lang.Object ref = tabKey_;
                if (ref instanceof String) {
                  com.google.gwt.dev.protobuf.ByteString b =
                      com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                          (java.lang.String) ref);
                  tabKey_ = b;
                  return b;
                } else {
                  return (com.google.gwt.dev.protobuf.ByteString) ref;
                }
              }
              /**
               * <code>optional string tabKey = 6;</code>
               */
              public Builder setTabKey(
                  java.lang.String value) {
                if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
                tabKey_ = value;
                onChanged();
                return this;
              }
              /**
               * <code>optional string tabKey = 6;</code>
               */
              public Builder clearTabKey() {
                bitField0_ = (bitField0_ & ~0x00000020);
                tabKey_ = getDefaultInstance().getTabKey();
                onChanged();
                return this;
              }
              /**
               * <code>optional string tabKey = 6;</code>
               */
              public Builder setTabKeyBytes(
                  com.google.gwt.dev.protobuf.ByteString value) {
                if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
                tabKey_ = value;
                onChanged();
                return this;
              }

              // optional string remoteHost = 7;
              private java.lang.Object remoteHost_ = "";
              /**
               * <code>optional string remoteHost = 7;</code>
               */
              public boolean hasRemoteHost() {
                return ((bitField0_ & 0x00000040) == 0x00000040);
              }
              /**
               * <code>optional string remoteHost = 7;</code>
               */
              public java.lang.String getRemoteHost() {
                java.lang.Object ref = remoteHost_;
                if (!(ref instanceof java.lang.String)) {
                  java.lang.String s = ((com.google.gwt.dev.protobuf.ByteString) ref)
                      .toStringUtf8();
                  remoteHost_ = s;
                  return s;
                } else {
                  return (java.lang.String) ref;
                }
              }
              /**
               * <code>optional string remoteHost = 7;</code>
               */
              public com.google.gwt.dev.protobuf.ByteString
                  getRemoteHostBytes() {
                java.lang.Object ref = remoteHost_;
                if (ref instanceof String) {
                  com.google.gwt.dev.protobuf.ByteString b =
                      com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                          (java.lang.String) ref);
                  remoteHost_ = b;
                  return b;
                } else {
                  return (com.google.gwt.dev.protobuf.ByteString) ref;
                }
              }
              /**
               * <code>optional string remoteHost = 7;</code>
               */
              public Builder setRemoteHost(
                  java.lang.String value) {
                if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000040;
                remoteHost_ = value;
                onChanged();
                return this;
              }
              /**
               * <code>optional string remoteHost = 7;</code>
               */
              public Builder clearRemoteHost() {
                bitField0_ = (bitField0_ & ~0x00000040);
                remoteHost_ = getDefaultInstance().getRemoteHost();
                onChanged();
                return this;
              }
              /**
               * <code>optional string remoteHost = 7;</code>
               */
              public Builder setRemoteHostBytes(
                  com.google.gwt.dev.protobuf.ByteString value) {
                if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000040;
                remoteHost_ = value;
                onChanged();
                return this;
              }

              // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog)
            }

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

            // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog)
          }

          public interface ServerLogOrBuilder
              extends com.google.gwt.dev.protobuf.MessageOrBuilder {

            // required string name = 1;
            /**
             * <code>required string name = 1;</code>
             */
            boolean hasName();
            /**
             * <code>required string name = 1;</code>
             */
            java.lang.String getName();
            /**
             * <code>required string name = 1;</code>
             */
            com.google.gwt.dev.protobuf.ByteString
                getNameBytes();

            // optional bytes icon = 2;
            /**
             * <code>optional bytes icon = 2;</code>
             */
            boolean hasIcon();
            /**
             * <code>optional bytes icon = 2;</code>
             */
            com.google.gwt.dev.protobuf.ByteString getIcon();
          }
          /**
           * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog}
           *
           * <pre>
           * Information needed for creating a Server Log
           * </pre>
           */
          public static final class ServerLog extends
              com.google.gwt.dev.protobuf.GeneratedMessage
              implements ServerLogOrBuilder {
            // Use ServerLog.newBuilder() to construct.
            private ServerLog(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
              super(builder);
              this.unknownFields = builder.getUnknownFields();
            }
            private ServerLog(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

            public ServerLog getDefaultInstanceForType() {
              return defaultInstance;
            }

            private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
            @java.lang.Override
            public final com.google.gwt.dev.protobuf.UnknownFieldSet
                getUnknownFields() {
              return this.unknownFields;
            }
            private ServerLog(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              initFields();
              int mutable_bitField0_ = 0;
              com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
                  com.google.gwt.dev.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;
                      name_ = input.readBytes();
                      break;
                    }
                    case 18: {
                      bitField0_ |= 0x00000002;
                      icon_ = input.readBytes();
                      break;
                    }
                  }
                }
              } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
              } catch (java.io.IOException e) {
                throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                    e.getMessage()).setUnfinishedMessage(this);
              } finally {
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
              }
            }
            public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ServerLog_descriptor;
            }

            protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ServerLog_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.Builder.class);
            }

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

            @java.lang.Override
            public com.google.gwt.dev.protobuf.Parser<ServerLog> getParserForType() {
              return PARSER;
            }

            private int bitField0_;
            // required string name = 1;
            public static final int NAME_FIELD_NUMBER = 1;
            private java.lang.Object name_;
            /**
             * <code>required string name = 1;</code>
             */
            public boolean hasName() {
              return ((bitField0_ & 0x00000001) == 0x00000001);
            }
            /**
             * <code>required string name = 1;</code>
             */
            public java.lang.String getName() {
              java.lang.Object ref = name_;
              if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
              } else {
                com.google.gwt.dev.protobuf.ByteString bs =
                    (com.google.gwt.dev.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                if (bs.isValidUtf8()) {
                  name_ = s;
                }
                return s;
              }
            }
            /**
             * <code>required string name = 1;</code>
             */
            public com.google.gwt.dev.protobuf.ByteString
                getNameBytes() {
              java.lang.Object ref = name_;
              if (ref instanceof java.lang.String) {
                com.google.gwt.dev.protobuf.ByteString b =
                    com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                        (java.lang.String) ref);
                name_ = b;
                return b;
              } else {
                return (com.google.gwt.dev.protobuf.ByteString) ref;
              }
            }

            // optional bytes icon = 2;
            public static final int ICON_FIELD_NUMBER = 2;
            private com.google.gwt.dev.protobuf.ByteString icon_;
            /**
             * <code>optional bytes icon = 2;</code>
             */
            public boolean hasIcon() {
              return ((bitField0_ & 0x00000002) == 0x00000002);
            }
            /**
             * <code>optional bytes icon = 2;</code>
             */
            public com.google.gwt.dev.protobuf.ByteString getIcon() {
              return icon_;
            }

            private void initFields() {
              name_ = "";
              icon_ = com.google.gwt.dev.protobuf.ByteString.EMPTY;
            }
            private byte memoizedIsInitialized = -1;
            public final boolean isInitialized() {
              byte isInitialized = memoizedIsInitialized;
              if (isInitialized != -1) return isInitialized == 1;

              if (!hasName()) {
                memoizedIsInitialized = 0;
                return false;
              }
              memoizedIsInitialized = 1;
              return true;
            }

            public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
                                throws java.io.IOException {
              getSerializedSize();
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                output.writeBytes(1, getNameBytes());
              }
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                output.writeBytes(2, icon_);
              }
              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.gwt.dev.protobuf.CodedOutputStream
                  .computeBytesSize(1, getNameBytes());
              }
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                size += com.google.gwt.dev.protobuf.CodedOutputStream
                  .computeBytesSize(2, icon_);
              }
              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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog parseFrom(
                com.google.gwt.dev.protobuf.ByteString data)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog parseFrom(
                com.google.gwt.dev.protobuf.ByteString data,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog parseFrom(byte[] data)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog parseFrom(
                byte[] data,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog parseFrom(java.io.InputStream input)
                throws java.io.IOException {
              return PARSER.parseFrom(input);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog parseFrom(
                java.io.InputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              return PARSER.parseFrom(input, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog parseDelimitedFrom(java.io.InputStream input)
                throws java.io.IOException {
              return PARSER.parseDelimitedFrom(input);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog parseDelimitedFrom(
                java.io.InputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              return PARSER.parseDelimitedFrom(input, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog parseFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input)
                throws java.io.IOException {
              return PARSER.parseFrom(input);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog parseFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog prototype) {
              return newBuilder().mergeFrom(prototype);
            }
            public Builder toBuilder() { return newBuilder(this); }

            @java.lang.Override
            protected Builder newBuilderForType(
                com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
              Builder builder = new Builder(parent);
              return builder;
            }
            /**
             * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog}
             *
             * <pre>
             * Information needed for creating a Server Log
             * </pre>
             */
            public static final class Builder extends
                com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
               implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLogOrBuilder {
              public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                  getDescriptor() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ServerLog_descriptor;
              }

              protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                  internalGetFieldAccessorTable() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ServerLog_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(
                        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.Builder.class);
              }

              // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.newBuilder()
              private Builder() {
                maybeForceBuilderInitialization();
              }

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

              public Builder clear() {
                super.clear();
                name_ = "";
                bitField0_ = (bitField0_ & ~0x00000001);
                icon_ = com.google.gwt.dev.protobuf.ByteString.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000002);
                return this;
              }

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

              public com.google.gwt.dev.protobuf.Descriptors.Descriptor
                  getDescriptorForType() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ServerLog_descriptor;
              }

              public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog getDefaultInstanceForType() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.getDefaultInstance();
              }

              public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog build() {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog result = buildPartial();
                if (!result.isInitialized()) {
                  throw newUninitializedMessageException(result);
                }
                return result;
              }

              public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog buildPartial() {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog(this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                  to_bitField0_ |= 0x00000001;
                }
                result.name_ = name_;
                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                  to_bitField0_ |= 0x00000002;
                }
                result.icon_ = icon_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
              }

              public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
                if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog) {
                  return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog)other);
                } else {
                  super.mergeFrom(other);
                  return this;
                }
              }

              public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog other) {
                if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.getDefaultInstance()) return this;
                if (other.hasName()) {
                  bitField0_ |= 0x00000001;
                  name_ = other.name_;
                  onChanged();
                }
                if (other.hasIcon()) {
                  setIcon(other.getIcon());
                }
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
              }

              public final boolean isInitialized() {
                if (!hasName()) {

                  return false;
                }
                return true;
              }

              public Builder mergeFrom(
                  com.google.gwt.dev.protobuf.CodedInputStream input,
                  com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                  throws java.io.IOException {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog parsedMessage = null;
                try {
                  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                  parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog) e.getUnfinishedMessage();
                  throw e;
                } finally {
                  if (parsedMessage != null) {
                    mergeFrom(parsedMessage);
                  }
                }
                return this;
              }
              private int bitField0_;

              // required string name = 1;
              private java.lang.Object name_ = "";
              /**
               * <code>required string name = 1;</code>
               */
              public boolean hasName() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
              }
              /**
               * <code>required string name = 1;</code>
               */
              public java.lang.String getName() {
                java.lang.Object ref = name_;
                if (!(ref instanceof java.lang.String)) {
                  java.lang.String s = ((com.google.gwt.dev.protobuf.ByteString) ref)
                      .toStringUtf8();
                  name_ = s;
                  return s;
                } else {
                  return (java.lang.String) ref;
                }
              }
              /**
               * <code>required string name = 1;</code>
               */
              public com.google.gwt.dev.protobuf.ByteString
                  getNameBytes() {
                java.lang.Object ref = name_;
                if (ref instanceof String) {
                  com.google.gwt.dev.protobuf.ByteString b =
                      com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                          (java.lang.String) ref);
                  name_ = b;
                  return b;
                } else {
                  return (com.google.gwt.dev.protobuf.ByteString) ref;
                }
              }
              /**
               * <code>required string name = 1;</code>
               */
              public Builder setName(
                  java.lang.String value) {
                if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
                name_ = value;
                onChanged();
                return this;
              }
              /**
               * <code>required string name = 1;</code>
               */
              public Builder clearName() {
                bitField0_ = (bitField0_ & ~0x00000001);
                name_ = getDefaultInstance().getName();
                onChanged();
                return this;
              }
              /**
               * <code>required string name = 1;</code>
               */
              public Builder setNameBytes(
                  com.google.gwt.dev.protobuf.ByteString value) {
                if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
                name_ = value;
                onChanged();
                return this;
              }

              // optional bytes icon = 2;
              private com.google.gwt.dev.protobuf.ByteString icon_ = com.google.gwt.dev.protobuf.ByteString.EMPTY;
              /**
               * <code>optional bytes icon = 2;</code>
               */
              public boolean hasIcon() {
                return ((bitField0_ & 0x00000002) == 0x00000002);
              }
              /**
               * <code>optional bytes icon = 2;</code>
               */
              public com.google.gwt.dev.protobuf.ByteString getIcon() {
                return icon_;
              }
              /**
               * <code>optional bytes icon = 2;</code>
               */
              public Builder setIcon(com.google.gwt.dev.protobuf.ByteString value) {
                if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
                icon_ = value;
                onChanged();
                return this;
              }
              /**
               * <code>optional bytes icon = 2;</code>
               */
              public Builder clearIcon() {
                bitField0_ = (bitField0_ & ~0x00000002);
                icon_ = getDefaultInstance().getIcon();
                onChanged();
                return this;
              }

              // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog)
            }

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

            // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog)
          }

          public interface MainLogOrBuilder
              extends com.google.gwt.dev.protobuf.MessageOrBuilder {
          }
          /**
           * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog}
           *
           * <pre>
           * Information needed for creating the Main Log. At this time, no
           * additional information is needed.
           * </pre>
           */
          public static final class MainLog extends
              com.google.gwt.dev.protobuf.GeneratedMessage
              implements MainLogOrBuilder {
            // Use MainLog.newBuilder() to construct.
            private MainLog(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
              super(builder);
              this.unknownFields = builder.getUnknownFields();
            }
            private MainLog(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

            public MainLog getDefaultInstanceForType() {
              return defaultInstance;
            }

            private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
            @java.lang.Override
            public final com.google.gwt.dev.protobuf.UnknownFieldSet
                getUnknownFields() {
              return this.unknownFields;
            }
            private MainLog(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              initFields();
              com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
                  com.google.gwt.dev.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.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
              } catch (java.io.IOException e) {
                throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                    e.getMessage()).setUnfinishedMessage(this);
              } finally {
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
              }
            }
            public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_MainLog_descriptor;
            }

            protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_MainLog_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.Builder.class);
            }

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

            @java.lang.Override
            public com.google.gwt.dev.protobuf.Parser<MainLog> 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.gwt.dev.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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog parseFrom(
                com.google.gwt.dev.protobuf.ByteString data)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog parseFrom(
                com.google.gwt.dev.protobuf.ByteString data,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog parseFrom(byte[] data)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog parseFrom(
                byte[] data,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog parseFrom(java.io.InputStream input)
                throws java.io.IOException {
              return PARSER.parseFrom(input);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog parseFrom(
                java.io.InputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              return PARSER.parseFrom(input, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog parseDelimitedFrom(java.io.InputStream input)
                throws java.io.IOException {
              return PARSER.parseDelimitedFrom(input);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog parseDelimitedFrom(
                java.io.InputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              return PARSER.parseDelimitedFrom(input, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog parseFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input)
                throws java.io.IOException {
              return PARSER.parseFrom(input);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog parseFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog prototype) {
              return newBuilder().mergeFrom(prototype);
            }
            public Builder toBuilder() { return newBuilder(this); }

            @java.lang.Override
            protected Builder newBuilderForType(
                com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
              Builder builder = new Builder(parent);
              return builder;
            }
            /**
             * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog}
             *
             * <pre>
             * Information needed for creating the Main Log. At this time, no
             * additional information is needed.
             * </pre>
             */
            public static final class Builder extends
                com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
               implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLogOrBuilder {
              public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                  getDescriptor() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_MainLog_descriptor;
              }

              protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                  internalGetFieldAccessorTable() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_MainLog_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(
                        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.Builder.class);
              }

              // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.newBuilder()
              private Builder() {
                maybeForceBuilderInitialization();
              }

              private Builder(
                  com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
                super(parent);
                maybeForceBuilderInitialization();
              }
              private void maybeForceBuilderInitialization() {
                if (com.google.gwt.dev.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.gwt.dev.protobuf.Descriptors.Descriptor
                  getDescriptorForType() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_MainLog_descriptor;
              }

              public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog getDefaultInstanceForType() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.getDefaultInstance();
              }

              public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog build() {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog result = buildPartial();
                if (!result.isInitialized()) {
                  throw newUninitializedMessageException(result);
                }
                return result;
              }

              public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog buildPartial() {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog(this);
                onBuilt();
                return result;
              }

              public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
                if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog) {
                  return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog)other);
                } else {
                  super.mergeFrom(other);
                  return this;
                }
              }

              public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog other) {
                if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.getDefaultInstance()) return this;
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
              }

              public final boolean isInitialized() {
                return true;
              }

              public Builder mergeFrom(
                  com.google.gwt.dev.protobuf.CodedInputStream input,
                  com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                  throws java.io.IOException {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog parsedMessage = null;
                try {
                  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                  parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog) e.getUnfinishedMessage();
                  throw e;
                } finally {
                  if (parsedMessage != null) {
                    mergeFrom(parsedMessage);
                  }
                }
                return this;
              }

              // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog)
            }

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

            // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog)
          }

          private int bitField0_;
          // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.LogType type = 1;
          public static final int TYPE_FIELD_NUMBER = 1;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType type_;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.LogType type = 1;</code>
           */
          public boolean hasType() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.LogType type = 1;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType getType() {
            return type_;
          }

          // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;
          public static final int MODULELOG_FIELD_NUMBER = 2;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog_;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;</code>
           */
          public boolean hasModuleLog() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog getModuleLog() {
            return moduleLog_;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLogOrBuilder getModuleLogOrBuilder() {
            return moduleLog_;
          }

          // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;
          public static final int SERVERLOG_FIELD_NUMBER = 3;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog serverLog_;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;</code>
           */
          public boolean hasServerLog() {
            return ((bitField0_ & 0x00000004) == 0x00000004);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog getServerLog() {
            return serverLog_;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLogOrBuilder getServerLogOrBuilder() {
            return serverLog_;
          }

          // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;
          public static final int MAINLOG_FIELD_NUMBER = 4;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog mainLog_;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;</code>
           */
          public boolean hasMainLog() {
            return ((bitField0_ & 0x00000008) == 0x00000008);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog getMainLog() {
            return mainLog_;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLogOrBuilder getMainLogOrBuilder() {
            return mainLog_;
          }

          private void initFields() {
            type_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType.MAIN;
            moduleLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.getDefaultInstance();
            serverLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.getDefaultInstance();
            mainLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.getDefaultInstance();
          }
          private byte memoizedIsInitialized = -1;
          public final boolean isInitialized() {
            byte isInitialized = memoizedIsInitialized;
            if (isInitialized != -1) return isInitialized == 1;

            if (hasModuleLog()) {
              if (!getModuleLog().isInitialized()) {
                memoizedIsInitialized = 0;
                return false;
              }
            }
            if (hasServerLog()) {
              if (!getServerLog().isInitialized()) {
                memoizedIsInitialized = 0;
                return false;
              }
            }
            memoizedIsInitialized = 1;
            return true;
          }

          public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
                              throws java.io.IOException {
            getSerializedSize();
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              output.writeEnum(1, type_.getNumber());
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
              output.writeMessage(2, moduleLog_);
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              output.writeMessage(3, serverLog_);
            }
            if (((bitField0_ & 0x00000008) == 0x00000008)) {
              output.writeMessage(4, mainLog_);
            }
            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.gwt.dev.protobuf.CodedOutputStream
                .computeEnumSize(1, type_.getNumber());
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
              size += com.google.gwt.dev.protobuf.CodedOutputStream
                .computeMessageSize(2, moduleLog_);
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              size += com.google.gwt.dev.protobuf.CodedOutputStream
                .computeMessageSize(3, serverLog_);
            }
            if (((bitField0_ & 0x00000008) == 0x00000008)) {
              size += com.google.gwt.dev.protobuf.CodedOutputStream
                .computeMessageSize(4, mainLog_);
            }
            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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog parseFrom(
              com.google.gwt.dev.protobuf.ByteString data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog parseFrom(
              com.google.gwt.dev.protobuf.ByteString data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog parseFrom(byte[] data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog parseFrom(
              byte[] data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog parseFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog parseFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog parseDelimitedFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog parseDelimitedFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog prototype) {
            return newBuilder().mergeFrom(prototype);
          }
          public Builder toBuilder() { return newBuilder(this); }

          @java.lang.Override
          protected Builder newBuilderForType(
              com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
          }
          /**
           * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog}
           *
           * <pre>
           * Add a log message to the view
           * </pre>
           */
          public static final class Builder extends
              com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
             implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogOrBuilder {
            public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_descriptor;
            }

            protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.Builder.class);
            }

            // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.newBuilder()
            private Builder() {
              maybeForceBuilderInitialization();
            }

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

            public Builder clear() {
              super.clear();
              type_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType.MAIN;
              bitField0_ = (bitField0_ & ~0x00000001);
              if (moduleLogBuilder_ == null) {
                moduleLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.getDefaultInstance();
              } else {
                moduleLogBuilder_.clear();
              }
              bitField0_ = (bitField0_ & ~0x00000002);
              if (serverLogBuilder_ == null) {
                serverLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.getDefaultInstance();
              } else {
                serverLogBuilder_.clear();
              }
              bitField0_ = (bitField0_ & ~0x00000004);
              if (mainLogBuilder_ == null) {
                mainLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.getDefaultInstance();
              } else {
                mainLogBuilder_.clear();
              }
              bitField0_ = (bitField0_ & ~0x00000008);
              return this;
            }

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

            public com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptorForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_descriptor;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog getDefaultInstanceForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.getDefaultInstance();
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog build() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog result = buildPartial();
              if (!result.isInitialized()) {
                throw newUninitializedMessageException(result);
              }
              return result;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog buildPartial() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog(this);
              int from_bitField0_ = bitField0_;
              int to_bitField0_ = 0;
              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                to_bitField0_ |= 0x00000001;
              }
              result.type_ = type_;
              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                to_bitField0_ |= 0x00000002;
              }
              if (moduleLogBuilder_ == null) {
                result.moduleLog_ = moduleLog_;
              } else {
                result.moduleLog_ = moduleLogBuilder_.build();
              }
              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
                to_bitField0_ |= 0x00000004;
              }
              if (serverLogBuilder_ == null) {
                result.serverLog_ = serverLog_;
              } else {
                result.serverLog_ = serverLogBuilder_.build();
              }
              if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
                to_bitField0_ |= 0x00000008;
              }
              if (mainLogBuilder_ == null) {
                result.mainLog_ = mainLog_;
              } else {
                result.mainLog_ = mainLogBuilder_.build();
              }
              result.bitField0_ = to_bitField0_;
              onBuilt();
              return result;
            }

            public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
              if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog) {
                return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog)other);
              } else {
                super.mergeFrom(other);
                return this;
              }
            }

            public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog other) {
              if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.getDefaultInstance()) return this;
              if (other.hasType()) {
                setType(other.getType());
              }
              if (other.hasModuleLog()) {
                mergeModuleLog(other.getModuleLog());
              }
              if (other.hasServerLog()) {
                mergeServerLog(other.getServerLog());
              }
              if (other.hasMainLog()) {
                mergeMainLog(other.getMainLog());
              }
              this.mergeUnknownFields(other.getUnknownFields());
              return this;
            }

            public final boolean isInitialized() {
              if (hasModuleLog()) {
                if (!getModuleLog().isInitialized()) {

                  return false;
                }
              }
              if (hasServerLog()) {
                if (!getServerLog().isInitialized()) {

                  return false;
                }
              }
              return true;
            }

            public Builder mergeFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog parsedMessage = null;
              try {
                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
              } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog) e.getUnfinishedMessage();
                throw e;
              } finally {
                if (parsedMessage != null) {
                  mergeFrom(parsedMessage);
                }
              }
              return this;
            }
            private int bitField0_;

            // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.LogType type = 1;
            private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType type_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType.MAIN;
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.LogType type = 1;</code>
             */
            public boolean hasType() {
              return ((bitField0_ & 0x00000001) == 0x00000001);
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.LogType type = 1;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType getType() {
              return type_;
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.LogType type = 1;</code>
             */
            public Builder setType(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType value) {
              if (value == null) {
                throw new NullPointerException();
              }
              bitField0_ |= 0x00000001;
              type_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.LogType type = 1;</code>
             */
            public Builder clearType() {
              bitField0_ = (bitField0_ & ~0x00000001);
              type_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.LogType.MAIN;
              onChanged();
              return this;
            }

            // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;
            private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.getDefaultInstance();
            private com.google.gwt.dev.protobuf.SingleFieldBuilder<
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLogOrBuilder> moduleLogBuilder_;
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;</code>
             */
            public boolean hasModuleLog() {
              return ((bitField0_ & 0x00000002) == 0x00000002);
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog getModuleLog() {
              if (moduleLogBuilder_ == null) {
                return moduleLog_;
              } else {
                return moduleLogBuilder_.getMessage();
              }
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;</code>
             */
            public Builder setModuleLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog value) {
              if (moduleLogBuilder_ == null) {
                if (value == null) {
                  throw new NullPointerException();
                }
                moduleLog_ = value;
                onChanged();
              } else {
                moduleLogBuilder_.setMessage(value);
              }
              bitField0_ |= 0x00000002;
              return this;
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;</code>
             */
            public Builder setModuleLog(
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.Builder builderForValue) {
              if (moduleLogBuilder_ == null) {
                moduleLog_ = builderForValue.build();
                onChanged();
              } else {
                moduleLogBuilder_.setMessage(builderForValue.build());
              }
              bitField0_ |= 0x00000002;
              return this;
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;</code>
             */
            public Builder mergeModuleLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog value) {
              if (moduleLogBuilder_ == null) {
                if (((bitField0_ & 0x00000002) == 0x00000002) &&
                    moduleLog_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.getDefaultInstance()) {
                  moduleLog_ =
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.newBuilder(moduleLog_).mergeFrom(value).buildPartial();
                } else {
                  moduleLog_ = value;
                }
                onChanged();
              } else {
                moduleLogBuilder_.mergeFrom(value);
              }
              bitField0_ |= 0x00000002;
              return this;
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;</code>
             */
            public Builder clearModuleLog() {
              if (moduleLogBuilder_ == null) {
                moduleLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.getDefaultInstance();
                onChanged();
              } else {
                moduleLogBuilder_.clear();
              }
              bitField0_ = (bitField0_ & ~0x00000002);
              return this;
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.Builder getModuleLogBuilder() {
              bitField0_ |= 0x00000002;
              onChanged();
              return getModuleLogFieldBuilder().getBuilder();
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLogOrBuilder getModuleLogOrBuilder() {
              if (moduleLogBuilder_ != null) {
                return moduleLogBuilder_.getMessageOrBuilder();
              } else {
                return moduleLog_;
              }
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ModuleLog moduleLog = 2;</code>
             */
            private com.google.gwt.dev.protobuf.SingleFieldBuilder<
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLogOrBuilder>
                getModuleLogFieldBuilder() {
              if (moduleLogBuilder_ == null) {
                moduleLogBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ModuleLogOrBuilder>(
                        moduleLog_,
                        getParentForChildren(),
                        isClean());
                moduleLog_ = null;
              }
              return moduleLogBuilder_;
            }

            // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;
            private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog serverLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.getDefaultInstance();
            private com.google.gwt.dev.protobuf.SingleFieldBuilder<
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLogOrBuilder> serverLogBuilder_;
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;</code>
             */
            public boolean hasServerLog() {
              return ((bitField0_ & 0x00000004) == 0x00000004);
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog getServerLog() {
              if (serverLogBuilder_ == null) {
                return serverLog_;
              } else {
                return serverLogBuilder_.getMessage();
              }
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;</code>
             */
            public Builder setServerLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog value) {
              if (serverLogBuilder_ == null) {
                if (value == null) {
                  throw new NullPointerException();
                }
                serverLog_ = value;
                onChanged();
              } else {
                serverLogBuilder_.setMessage(value);
              }
              bitField0_ |= 0x00000004;
              return this;
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;</code>
             */
            public Builder setServerLog(
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.Builder builderForValue) {
              if (serverLogBuilder_ == null) {
                serverLog_ = builderForValue.build();
                onChanged();
              } else {
                serverLogBuilder_.setMessage(builderForValue.build());
              }
              bitField0_ |= 0x00000004;
              return this;
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;</code>
             */
            public Builder mergeServerLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog value) {
              if (serverLogBuilder_ == null) {
                if (((bitField0_ & 0x00000004) == 0x00000004) &&
                    serverLog_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.getDefaultInstance()) {
                  serverLog_ =
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.newBuilder(serverLog_).mergeFrom(value).buildPartial();
                } else {
                  serverLog_ = value;
                }
                onChanged();
              } else {
                serverLogBuilder_.mergeFrom(value);
              }
              bitField0_ |= 0x00000004;
              return this;
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;</code>
             */
            public Builder clearServerLog() {
              if (serverLogBuilder_ == null) {
                serverLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.getDefaultInstance();
                onChanged();
              } else {
                serverLogBuilder_.clear();
              }
              bitField0_ = (bitField0_ & ~0x00000004);
              return this;
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.Builder getServerLogBuilder() {
              bitField0_ |= 0x00000004;
              onChanged();
              return getServerLogFieldBuilder().getBuilder();
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLogOrBuilder getServerLogOrBuilder() {
              if (serverLogBuilder_ != null) {
                return serverLogBuilder_.getMessageOrBuilder();
              } else {
                return serverLog_;
              }
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.ServerLog serverLog = 3;</code>
             */
            private com.google.gwt.dev.protobuf.SingleFieldBuilder<
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLogOrBuilder>
                getServerLogFieldBuilder() {
              if (serverLogBuilder_ == null) {
                serverLogBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.ServerLogOrBuilder>(
                        serverLog_,
                        getParentForChildren(),
                        isClean());
                serverLog_ = null;
              }
              return serverLogBuilder_;
            }

            // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;
            private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog mainLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.getDefaultInstance();
            private com.google.gwt.dev.protobuf.SingleFieldBuilder<
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLogOrBuilder> mainLogBuilder_;
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;</code>
             */
            public boolean hasMainLog() {
              return ((bitField0_ & 0x00000008) == 0x00000008);
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog getMainLog() {
              if (mainLogBuilder_ == null) {
                return mainLog_;
              } else {
                return mainLogBuilder_.getMessage();
              }
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;</code>
             */
            public Builder setMainLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog value) {
              if (mainLogBuilder_ == null) {
                if (value == null) {
                  throw new NullPointerException();
                }
                mainLog_ = value;
                onChanged();
              } else {
                mainLogBuilder_.setMessage(value);
              }
              bitField0_ |= 0x00000008;
              return this;
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;</code>
             */
            public Builder setMainLog(
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.Builder builderForValue) {
              if (mainLogBuilder_ == null) {
                mainLog_ = builderForValue.build();
                onChanged();
              } else {
                mainLogBuilder_.setMessage(builderForValue.build());
              }
              bitField0_ |= 0x00000008;
              return this;
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;</code>
             */
            public Builder mergeMainLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog value) {
              if (mainLogBuilder_ == null) {
                if (((bitField0_ & 0x00000008) == 0x00000008) &&
                    mainLog_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.getDefaultInstance()) {
                  mainLog_ =
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.newBuilder(mainLog_).mergeFrom(value).buildPartial();
                } else {
                  mainLog_ = value;
                }
                onChanged();
              } else {
                mainLogBuilder_.mergeFrom(value);
              }
              bitField0_ |= 0x00000008;
              return this;
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;</code>
             */
            public Builder clearMainLog() {
              if (mainLogBuilder_ == null) {
                mainLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.getDefaultInstance();
                onChanged();
              } else {
                mainLogBuilder_.clear();
              }
              bitField0_ = (bitField0_ & ~0x00000008);
              return this;
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.Builder getMainLogBuilder() {
              bitField0_ |= 0x00000008;
              onChanged();
              return getMainLogFieldBuilder().getBuilder();
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLogOrBuilder getMainLogOrBuilder() {
              if (mainLogBuilder_ != null) {
                return mainLogBuilder_.getMessageOrBuilder();
              } else {
                return mainLog_;
              }
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog.MainLog mainLog = 4;</code>
             */
            private com.google.gwt.dev.protobuf.SingleFieldBuilder<
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLogOrBuilder>
                getMainLogFieldBuilder() {
              if (mainLogBuilder_ == null) {
                mainLogBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.MainLogOrBuilder>(
                        mainLog_,
                        getParentForChildren(),
                        isClean());
                mainLog_ = null;
              }
              return mainLogBuilder_;
            }

            // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog)
          }

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

          // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog)
        }

        public interface LogDataOrBuilder
            extends com.google.gwt.dev.protobuf.MessageOrBuilder {

          // required string summary = 1;
          /**
           * <code>required string summary = 1;</code>
           */
          boolean hasSummary();
          /**
           * <code>required string summary = 1;</code>
           */
          java.lang.String getSummary();
          /**
           * <code>required string summary = 1;</code>
           */
          com.google.gwt.dev.protobuf.ByteString
              getSummaryBytes();

          // optional string level = 2;
          /**
           * <code>optional string level = 2;</code>
           */
          boolean hasLevel();
          /**
           * <code>optional string level = 2;</code>
           */
          java.lang.String getLevel();
          /**
           * <code>optional string level = 2;</code>
           */
          com.google.gwt.dev.protobuf.ByteString
              getLevelBytes();

          // optional bool needsAttention = 3;
          /**
           * <code>optional bool needsAttention = 3;</code>
           */
          boolean hasNeedsAttention();
          /**
           * <code>optional bool needsAttention = 3;</code>
           */
          boolean getNeedsAttention();

          // optional string details = 4;
          /**
           * <code>optional string details = 4;</code>
           */
          boolean hasDetails();
          /**
           * <code>optional string details = 4;</code>
           */
          java.lang.String getDetails();
          /**
           * <code>optional string details = 4;</code>
           */
          com.google.gwt.dev.protobuf.ByteString
              getDetailsBytes();

          // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;</code>
           */
          boolean hasHelpInfo();
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;</code>
           */
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo getHelpInfo();
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;</code>
           */
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfoOrBuilder getHelpInfoOrBuilder();
        }
        /**
         * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData}
         *
         * <pre>
         * The data for a log entry
         * </pre>
         */
        public static final class LogData extends
            com.google.gwt.dev.protobuf.GeneratedMessage
            implements LogDataOrBuilder {
          // Use LogData.newBuilder() to construct.
          private LogData(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.unknownFields = builder.getUnknownFields();
          }
          private LogData(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

          public LogData getDefaultInstanceForType() {
            return defaultInstance;
          }

          private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
          @java.lang.Override
          public final com.google.gwt.dev.protobuf.UnknownFieldSet
              getUnknownFields() {
            return this.unknownFields;
          }
          private LogData(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            initFields();
            int mutable_bitField0_ = 0;
            com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
                com.google.gwt.dev.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;
                    summary_ = input.readBytes();
                    break;
                  }
                  case 18: {
                    bitField0_ |= 0x00000002;
                    level_ = input.readBytes();
                    break;
                  }
                  case 24: {
                    bitField0_ |= 0x00000004;
                    needsAttention_ = input.readBool();
                    break;
                  }
                  case 34: {
                    bitField0_ |= 0x00000008;
                    details_ = input.readBytes();
                    break;
                  }
                  case 42: {
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.Builder subBuilder = null;
                    if (((bitField0_ & 0x00000010) == 0x00000010)) {
                      subBuilder = helpInfo_.toBuilder();
                    }
                    helpInfo_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.PARSER, extensionRegistry);
                    if (subBuilder != null) {
                      subBuilder.mergeFrom(helpInfo_);
                      helpInfo_ = subBuilder.buildPartial();
                    }
                    bitField0_ |= 0x00000010;
                    break;
                  }
                }
              }
            } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
              throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                  e.getMessage()).setUnfinishedMessage(this);
            } finally {
              this.unknownFields = unknownFields.build();
              makeExtensionsImmutable();
            }
          }
          public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_descriptor;
          }

          protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder.class);
          }

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

          @java.lang.Override
          public com.google.gwt.dev.protobuf.Parser<LogData> getParserForType() {
            return PARSER;
          }

          public interface HelpInfoOrBuilder
              extends com.google.gwt.dev.protobuf.MessageOrBuilder {

            // optional string url = 1;
            /**
             * <code>optional string url = 1;</code>
             */
            boolean hasUrl();
            /**
             * <code>optional string url = 1;</code>
             */
            java.lang.String getUrl();
            /**
             * <code>optional string url = 1;</code>
             */
            com.google.gwt.dev.protobuf.ByteString
                getUrlBytes();

            // optional string text = 2;
            /**
             * <code>optional string text = 2;</code>
             */
            boolean hasText();
            /**
             * <code>optional string text = 2;</code>
             */
            java.lang.String getText();
            /**
             * <code>optional string text = 2;</code>
             */
            com.google.gwt.dev.protobuf.ByteString
                getTextBytes();
          }
          /**
           * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo}
           *
           * <pre>
           * The HelpInfo portion of the log entry
           * </pre>
           */
          public static final class HelpInfo extends
              com.google.gwt.dev.protobuf.GeneratedMessage
              implements HelpInfoOrBuilder {
            // Use HelpInfo.newBuilder() to construct.
            private HelpInfo(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
              super(builder);
              this.unknownFields = builder.getUnknownFields();
            }
            private HelpInfo(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

            public HelpInfo getDefaultInstanceForType() {
              return defaultInstance;
            }

            private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
            @java.lang.Override
            public final com.google.gwt.dev.protobuf.UnknownFieldSet
                getUnknownFields() {
              return this.unknownFields;
            }
            private HelpInfo(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              initFields();
              int mutable_bitField0_ = 0;
              com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
                  com.google.gwt.dev.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;
                      url_ = input.readBytes();
                      break;
                    }
                    case 18: {
                      bitField0_ |= 0x00000002;
                      text_ = input.readBytes();
                      break;
                    }
                  }
                }
              } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
              } catch (java.io.IOException e) {
                throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                    e.getMessage()).setUnfinishedMessage(this);
              } finally {
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
              }
            }
            public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_HelpInfo_descriptor;
            }

            protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_HelpInfo_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.Builder.class);
            }

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

            @java.lang.Override
            public com.google.gwt.dev.protobuf.Parser<HelpInfo> getParserForType() {
              return PARSER;
            }

            private int bitField0_;
            // optional string url = 1;
            public static final int URL_FIELD_NUMBER = 1;
            private java.lang.Object url_;
            /**
             * <code>optional string url = 1;</code>
             */
            public boolean hasUrl() {
              return ((bitField0_ & 0x00000001) == 0x00000001);
            }
            /**
             * <code>optional string url = 1;</code>
             */
            public java.lang.String getUrl() {
              java.lang.Object ref = url_;
              if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
              } else {
                com.google.gwt.dev.protobuf.ByteString bs =
                    (com.google.gwt.dev.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                if (bs.isValidUtf8()) {
                  url_ = s;
                }
                return s;
              }
            }
            /**
             * <code>optional string url = 1;</code>
             */
            public com.google.gwt.dev.protobuf.ByteString
                getUrlBytes() {
              java.lang.Object ref = url_;
              if (ref instanceof java.lang.String) {
                com.google.gwt.dev.protobuf.ByteString b =
                    com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                        (java.lang.String) ref);
                url_ = b;
                return b;
              } else {
                return (com.google.gwt.dev.protobuf.ByteString) ref;
              }
            }

            // optional string text = 2;
            public static final int TEXT_FIELD_NUMBER = 2;
            private java.lang.Object text_;
            /**
             * <code>optional string text = 2;</code>
             */
            public boolean hasText() {
              return ((bitField0_ & 0x00000002) == 0x00000002);
            }
            /**
             * <code>optional string text = 2;</code>
             */
            public java.lang.String getText() {
              java.lang.Object ref = text_;
              if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
              } else {
                com.google.gwt.dev.protobuf.ByteString bs =
                    (com.google.gwt.dev.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                if (bs.isValidUtf8()) {
                  text_ = s;
                }
                return s;
              }
            }
            /**
             * <code>optional string text = 2;</code>
             */
            public com.google.gwt.dev.protobuf.ByteString
                getTextBytes() {
              java.lang.Object ref = text_;
              if (ref instanceof java.lang.String) {
                com.google.gwt.dev.protobuf.ByteString b =
                    com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                        (java.lang.String) ref);
                text_ = b;
                return b;
              } else {
                return (com.google.gwt.dev.protobuf.ByteString) ref;
              }
            }

            private void initFields() {
              url_ = "";
              text_ = "";
            }
            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.gwt.dev.protobuf.CodedOutputStream output)
                                throws java.io.IOException {
              getSerializedSize();
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                output.writeBytes(1, getUrlBytes());
              }
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                output.writeBytes(2, getTextBytes());
              }
              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.gwt.dev.protobuf.CodedOutputStream
                  .computeBytesSize(1, getUrlBytes());
              }
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                size += com.google.gwt.dev.protobuf.CodedOutputStream
                  .computeBytesSize(2, getTextBytes());
              }
              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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo parseFrom(
                com.google.gwt.dev.protobuf.ByteString data)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo parseFrom(
                com.google.gwt.dev.protobuf.ByteString data,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo parseFrom(byte[] data)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo parseFrom(
                byte[] data,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo parseFrom(java.io.InputStream input)
                throws java.io.IOException {
              return PARSER.parseFrom(input);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo parseFrom(
                java.io.InputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              return PARSER.parseFrom(input, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo parseDelimitedFrom(java.io.InputStream input)
                throws java.io.IOException {
              return PARSER.parseDelimitedFrom(input);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo parseDelimitedFrom(
                java.io.InputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              return PARSER.parseDelimitedFrom(input, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo parseFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input)
                throws java.io.IOException {
              return PARSER.parseFrom(input);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo parseFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo prototype) {
              return newBuilder().mergeFrom(prototype);
            }
            public Builder toBuilder() { return newBuilder(this); }

            @java.lang.Override
            protected Builder newBuilderForType(
                com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
              Builder builder = new Builder(parent);
              return builder;
            }
            /**
             * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo}
             *
             * <pre>
             * The HelpInfo portion of the log entry
             * </pre>
             */
            public static final class Builder extends
                com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
               implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfoOrBuilder {
              public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                  getDescriptor() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_HelpInfo_descriptor;
              }

              protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                  internalGetFieldAccessorTable() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_HelpInfo_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(
                        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.Builder.class);
              }

              // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.newBuilder()
              private Builder() {
                maybeForceBuilderInitialization();
              }

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

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

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

              public com.google.gwt.dev.protobuf.Descriptors.Descriptor
                  getDescriptorForType() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_HelpInfo_descriptor;
              }

              public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo getDefaultInstanceForType() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.getDefaultInstance();
              }

              public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo build() {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo result = buildPartial();
                if (!result.isInitialized()) {
                  throw newUninitializedMessageException(result);
                }
                return result;
              }

              public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo buildPartial() {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo(this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                  to_bitField0_ |= 0x00000001;
                }
                result.url_ = url_;
                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                  to_bitField0_ |= 0x00000002;
                }
                result.text_ = text_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
              }

              public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
                if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo) {
                  return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo)other);
                } else {
                  super.mergeFrom(other);
                  return this;
                }
              }

              public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo other) {
                if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.getDefaultInstance()) return this;
                if (other.hasUrl()) {
                  bitField0_ |= 0x00000001;
                  url_ = other.url_;
                  onChanged();
                }
                if (other.hasText()) {
                  bitField0_ |= 0x00000002;
                  text_ = other.text_;
                  onChanged();
                }
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
              }

              public final boolean isInitialized() {
                return true;
              }

              public Builder mergeFrom(
                  com.google.gwt.dev.protobuf.CodedInputStream input,
                  com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                  throws java.io.IOException {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo parsedMessage = null;
                try {
                  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                  parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo) e.getUnfinishedMessage();
                  throw e;
                } finally {
                  if (parsedMessage != null) {
                    mergeFrom(parsedMessage);
                  }
                }
                return this;
              }
              private int bitField0_;

              // optional string url = 1;
              private java.lang.Object url_ = "";
              /**
               * <code>optional string url = 1;</code>
               */
              public boolean hasUrl() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
              }
              /**
               * <code>optional string url = 1;</code>
               */
              public java.lang.String getUrl() {
                java.lang.Object ref = url_;
                if (!(ref instanceof java.lang.String)) {
                  java.lang.String s = ((com.google.gwt.dev.protobuf.ByteString) ref)
                      .toStringUtf8();
                  url_ = s;
                  return s;
                } else {
                  return (java.lang.String) ref;
                }
              }
              /**
               * <code>optional string url = 1;</code>
               */
              public com.google.gwt.dev.protobuf.ByteString
                  getUrlBytes() {
                java.lang.Object ref = url_;
                if (ref instanceof String) {
                  com.google.gwt.dev.protobuf.ByteString b =
                      com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                          (java.lang.String) ref);
                  url_ = b;
                  return b;
                } else {
                  return (com.google.gwt.dev.protobuf.ByteString) ref;
                }
              }
              /**
               * <code>optional string url = 1;</code>
               */
              public Builder setUrl(
                  java.lang.String value) {
                if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
                url_ = value;
                onChanged();
                return this;
              }
              /**
               * <code>optional string url = 1;</code>
               */
              public Builder clearUrl() {
                bitField0_ = (bitField0_ & ~0x00000001);
                url_ = getDefaultInstance().getUrl();
                onChanged();
                return this;
              }
              /**
               * <code>optional string url = 1;</code>
               */
              public Builder setUrlBytes(
                  com.google.gwt.dev.protobuf.ByteString value) {
                if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
                url_ = value;
                onChanged();
                return this;
              }

              // optional string text = 2;
              private java.lang.Object text_ = "";
              /**
               * <code>optional string text = 2;</code>
               */
              public boolean hasText() {
                return ((bitField0_ & 0x00000002) == 0x00000002);
              }
              /**
               * <code>optional string text = 2;</code>
               */
              public java.lang.String getText() {
                java.lang.Object ref = text_;
                if (!(ref instanceof java.lang.String)) {
                  java.lang.String s = ((com.google.gwt.dev.protobuf.ByteString) ref)
                      .toStringUtf8();
                  text_ = s;
                  return s;
                } else {
                  return (java.lang.String) ref;
                }
              }
              /**
               * <code>optional string text = 2;</code>
               */
              public com.google.gwt.dev.protobuf.ByteString
                  getTextBytes() {
                java.lang.Object ref = text_;
                if (ref instanceof String) {
                  com.google.gwt.dev.protobuf.ByteString b =
                      com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                          (java.lang.String) ref);
                  text_ = b;
                  return b;
                } else {
                  return (com.google.gwt.dev.protobuf.ByteString) ref;
                }
              }
              /**
               * <code>optional string text = 2;</code>
               */
              public Builder setText(
                  java.lang.String value) {
                if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
                text_ = value;
                onChanged();
                return this;
              }
              /**
               * <code>optional string text = 2;</code>
               */
              public Builder clearText() {
                bitField0_ = (bitField0_ & ~0x00000002);
                text_ = getDefaultInstance().getText();
                onChanged();
                return this;
              }
              /**
               * <code>optional string text = 2;</code>
               */
              public Builder setTextBytes(
                  com.google.gwt.dev.protobuf.ByteString value) {
                if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
                text_ = value;
                onChanged();
                return this;
              }

              // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo)
            }

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

            // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo)
          }

          private int bitField0_;
          // required string summary = 1;
          public static final int SUMMARY_FIELD_NUMBER = 1;
          private java.lang.Object summary_;
          /**
           * <code>required string summary = 1;</code>
           */
          public boolean hasSummary() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          /**
           * <code>required string summary = 1;</code>
           */
          public java.lang.String getSummary() {
            java.lang.Object ref = summary_;
            if (ref instanceof java.lang.String) {
              return (java.lang.String) ref;
            } else {
              com.google.gwt.dev.protobuf.ByteString bs =
                  (com.google.gwt.dev.protobuf.ByteString) ref;
              java.lang.String s = bs.toStringUtf8();
              if (bs.isValidUtf8()) {
                summary_ = s;
              }
              return s;
            }
          }
          /**
           * <code>required string summary = 1;</code>
           */
          public com.google.gwt.dev.protobuf.ByteString
              getSummaryBytes() {
            java.lang.Object ref = summary_;
            if (ref instanceof java.lang.String) {
              com.google.gwt.dev.protobuf.ByteString b =
                  com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                      (java.lang.String) ref);
              summary_ = b;
              return b;
            } else {
              return (com.google.gwt.dev.protobuf.ByteString) ref;
            }
          }

          // optional string level = 2;
          public static final int LEVEL_FIELD_NUMBER = 2;
          private java.lang.Object level_;
          /**
           * <code>optional string level = 2;</code>
           */
          public boolean hasLevel() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
          }
          /**
           * <code>optional string level = 2;</code>
           */
          public java.lang.String getLevel() {
            java.lang.Object ref = level_;
            if (ref instanceof java.lang.String) {
              return (java.lang.String) ref;
            } else {
              com.google.gwt.dev.protobuf.ByteString bs =
                  (com.google.gwt.dev.protobuf.ByteString) ref;
              java.lang.String s = bs.toStringUtf8();
              if (bs.isValidUtf8()) {
                level_ = s;
              }
              return s;
            }
          }
          /**
           * <code>optional string level = 2;</code>
           */
          public com.google.gwt.dev.protobuf.ByteString
              getLevelBytes() {
            java.lang.Object ref = level_;
            if (ref instanceof java.lang.String) {
              com.google.gwt.dev.protobuf.ByteString b =
                  com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                      (java.lang.String) ref);
              level_ = b;
              return b;
            } else {
              return (com.google.gwt.dev.protobuf.ByteString) ref;
            }
          }

          // optional bool needsAttention = 3;
          public static final int NEEDSATTENTION_FIELD_NUMBER = 3;
          private boolean needsAttention_;
          /**
           * <code>optional bool needsAttention = 3;</code>
           */
          public boolean hasNeedsAttention() {
            return ((bitField0_ & 0x00000004) == 0x00000004);
          }
          /**
           * <code>optional bool needsAttention = 3;</code>
           */
          public boolean getNeedsAttention() {
            return needsAttention_;
          }

          // optional string details = 4;
          public static final int DETAILS_FIELD_NUMBER = 4;
          private java.lang.Object details_;
          /**
           * <code>optional string details = 4;</code>
           */
          public boolean hasDetails() {
            return ((bitField0_ & 0x00000008) == 0x00000008);
          }
          /**
           * <code>optional string details = 4;</code>
           */
          public java.lang.String getDetails() {
            java.lang.Object ref = details_;
            if (ref instanceof java.lang.String) {
              return (java.lang.String) ref;
            } else {
              com.google.gwt.dev.protobuf.ByteString bs =
                  (com.google.gwt.dev.protobuf.ByteString) ref;
              java.lang.String s = bs.toStringUtf8();
              if (bs.isValidUtf8()) {
                details_ = s;
              }
              return s;
            }
          }
          /**
           * <code>optional string details = 4;</code>
           */
          public com.google.gwt.dev.protobuf.ByteString
              getDetailsBytes() {
            java.lang.Object ref = details_;
            if (ref instanceof java.lang.String) {
              com.google.gwt.dev.protobuf.ByteString b =
                  com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                      (java.lang.String) ref);
              details_ = b;
              return b;
            } else {
              return (com.google.gwt.dev.protobuf.ByteString) ref;
            }
          }

          // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;
          public static final int HELPINFO_FIELD_NUMBER = 5;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo_;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;</code>
           */
          public boolean hasHelpInfo() {
            return ((bitField0_ & 0x00000010) == 0x00000010);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo getHelpInfo() {
            return helpInfo_;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfoOrBuilder getHelpInfoOrBuilder() {
            return helpInfo_;
          }

          private void initFields() {
            summary_ = "";
            level_ = "";
            needsAttention_ = false;
            details_ = "";
            helpInfo_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.getDefaultInstance();
          }
          private byte memoizedIsInitialized = -1;
          public final boolean isInitialized() {
            byte isInitialized = memoizedIsInitialized;
            if (isInitialized != -1) return isInitialized == 1;

            if (!hasSummary()) {
              memoizedIsInitialized = 0;
              return false;
            }
            memoizedIsInitialized = 1;
            return true;
          }

          public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
                              throws java.io.IOException {
            getSerializedSize();
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              output.writeBytes(1, getSummaryBytes());
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
              output.writeBytes(2, getLevelBytes());
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              output.writeBool(3, needsAttention_);
            }
            if (((bitField0_ & 0x00000008) == 0x00000008)) {
              output.writeBytes(4, getDetailsBytes());
            }
            if (((bitField0_ & 0x00000010) == 0x00000010)) {
              output.writeMessage(5, helpInfo_);
            }
            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.gwt.dev.protobuf.CodedOutputStream
                .computeBytesSize(1, getSummaryBytes());
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
              size += com.google.gwt.dev.protobuf.CodedOutputStream
                .computeBytesSize(2, getLevelBytes());
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              size += com.google.gwt.dev.protobuf.CodedOutputStream
                .computeBoolSize(3, needsAttention_);
            }
            if (((bitField0_ & 0x00000008) == 0x00000008)) {
              size += com.google.gwt.dev.protobuf.CodedOutputStream
                .computeBytesSize(4, getDetailsBytes());
            }
            if (((bitField0_ & 0x00000010) == 0x00000010)) {
              size += com.google.gwt.dev.protobuf.CodedOutputStream
                .computeMessageSize(5, helpInfo_);
            }
            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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData parseFrom(
              com.google.gwt.dev.protobuf.ByteString data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData parseFrom(
              com.google.gwt.dev.protobuf.ByteString data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData parseFrom(byte[] data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData parseFrom(
              byte[] data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData parseFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData parseFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData parseDelimitedFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData parseDelimitedFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData prototype) {
            return newBuilder().mergeFrom(prototype);
          }
          public Builder toBuilder() { return newBuilder(this); }

          @java.lang.Override
          protected Builder newBuilderForType(
              com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
          }
          /**
           * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData}
           *
           * <pre>
           * The data for a log entry
           * </pre>
           */
          public static final class Builder extends
              com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
             implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder {
            public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_descriptor;
            }

            protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder.class);
            }

            // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.newBuilder()
            private Builder() {
              maybeForceBuilderInitialization();
            }

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

            public Builder clear() {
              super.clear();
              summary_ = "";
              bitField0_ = (bitField0_ & ~0x00000001);
              level_ = "";
              bitField0_ = (bitField0_ & ~0x00000002);
              needsAttention_ = false;
              bitField0_ = (bitField0_ & ~0x00000004);
              details_ = "";
              bitField0_ = (bitField0_ & ~0x00000008);
              if (helpInfoBuilder_ == null) {
                helpInfo_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.getDefaultInstance();
              } else {
                helpInfoBuilder_.clear();
              }
              bitField0_ = (bitField0_ & ~0x00000010);
              return this;
            }

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

            public com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptorForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_descriptor;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData getDefaultInstanceForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData build() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData result = buildPartial();
              if (!result.isInitialized()) {
                throw newUninitializedMessageException(result);
              }
              return result;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData buildPartial() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData(this);
              int from_bitField0_ = bitField0_;
              int to_bitField0_ = 0;
              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                to_bitField0_ |= 0x00000001;
              }
              result.summary_ = summary_;
              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                to_bitField0_ |= 0x00000002;
              }
              result.level_ = level_;
              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
                to_bitField0_ |= 0x00000004;
              }
              result.needsAttention_ = needsAttention_;
              if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
                to_bitField0_ |= 0x00000008;
              }
              result.details_ = details_;
              if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
                to_bitField0_ |= 0x00000010;
              }
              if (helpInfoBuilder_ == null) {
                result.helpInfo_ = helpInfo_;
              } else {
                result.helpInfo_ = helpInfoBuilder_.build();
              }
              result.bitField0_ = to_bitField0_;
              onBuilt();
              return result;
            }

            public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
              if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData) {
                return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData)other);
              } else {
                super.mergeFrom(other);
                return this;
              }
            }

            public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData other) {
              if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance()) return this;
              if (other.hasSummary()) {
                bitField0_ |= 0x00000001;
                summary_ = other.summary_;
                onChanged();
              }
              if (other.hasLevel()) {
                bitField0_ |= 0x00000002;
                level_ = other.level_;
                onChanged();
              }
              if (other.hasNeedsAttention()) {
                setNeedsAttention(other.getNeedsAttention());
              }
              if (other.hasDetails()) {
                bitField0_ |= 0x00000008;
                details_ = other.details_;
                onChanged();
              }
              if (other.hasHelpInfo()) {
                mergeHelpInfo(other.getHelpInfo());
              }
              this.mergeUnknownFields(other.getUnknownFields());
              return this;
            }

            public final boolean isInitialized() {
              if (!hasSummary()) {

                return false;
              }
              return true;
            }

            public Builder mergeFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData parsedMessage = null;
              try {
                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
              } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData) e.getUnfinishedMessage();
                throw e;
              } finally {
                if (parsedMessage != null) {
                  mergeFrom(parsedMessage);
                }
              }
              return this;
            }
            private int bitField0_;

            // required string summary = 1;
            private java.lang.Object summary_ = "";
            /**
             * <code>required string summary = 1;</code>
             */
            public boolean hasSummary() {
              return ((bitField0_ & 0x00000001) == 0x00000001);
            }
            /**
             * <code>required string summary = 1;</code>
             */
            public java.lang.String getSummary() {
              java.lang.Object ref = summary_;
              if (!(ref instanceof java.lang.String)) {
                java.lang.String s = ((com.google.gwt.dev.protobuf.ByteString) ref)
                    .toStringUtf8();
                summary_ = s;
                return s;
              } else {
                return (java.lang.String) ref;
              }
            }
            /**
             * <code>required string summary = 1;</code>
             */
            public com.google.gwt.dev.protobuf.ByteString
                getSummaryBytes() {
              java.lang.Object ref = summary_;
              if (ref instanceof String) {
                com.google.gwt.dev.protobuf.ByteString b =
                    com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                        (java.lang.String) ref);
                summary_ = b;
                return b;
              } else {
                return (com.google.gwt.dev.protobuf.ByteString) ref;
              }
            }
            /**
             * <code>required string summary = 1;</code>
             */
            public Builder setSummary(
                java.lang.String value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
              summary_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>required string summary = 1;</code>
             */
            public Builder clearSummary() {
              bitField0_ = (bitField0_ & ~0x00000001);
              summary_ = getDefaultInstance().getSummary();
              onChanged();
              return this;
            }
            /**
             * <code>required string summary = 1;</code>
             */
            public Builder setSummaryBytes(
                com.google.gwt.dev.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
              summary_ = value;
              onChanged();
              return this;
            }

            // optional string level = 2;
            private java.lang.Object level_ = "";
            /**
             * <code>optional string level = 2;</code>
             */
            public boolean hasLevel() {
              return ((bitField0_ & 0x00000002) == 0x00000002);
            }
            /**
             * <code>optional string level = 2;</code>
             */
            public java.lang.String getLevel() {
              java.lang.Object ref = level_;
              if (!(ref instanceof java.lang.String)) {
                java.lang.String s = ((com.google.gwt.dev.protobuf.ByteString) ref)
                    .toStringUtf8();
                level_ = s;
                return s;
              } else {
                return (java.lang.String) ref;
              }
            }
            /**
             * <code>optional string level = 2;</code>
             */
            public com.google.gwt.dev.protobuf.ByteString
                getLevelBytes() {
              java.lang.Object ref = level_;
              if (ref instanceof String) {
                com.google.gwt.dev.protobuf.ByteString b =
                    com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                        (java.lang.String) ref);
                level_ = b;
                return b;
              } else {
                return (com.google.gwt.dev.protobuf.ByteString) ref;
              }
            }
            /**
             * <code>optional string level = 2;</code>
             */
            public Builder setLevel(
                java.lang.String value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
              level_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional string level = 2;</code>
             */
            public Builder clearLevel() {
              bitField0_ = (bitField0_ & ~0x00000002);
              level_ = getDefaultInstance().getLevel();
              onChanged();
              return this;
            }
            /**
             * <code>optional string level = 2;</code>
             */
            public Builder setLevelBytes(
                com.google.gwt.dev.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
              level_ = value;
              onChanged();
              return this;
            }

            // optional bool needsAttention = 3;
            private boolean needsAttention_ ;
            /**
             * <code>optional bool needsAttention = 3;</code>
             */
            public boolean hasNeedsAttention() {
              return ((bitField0_ & 0x00000004) == 0x00000004);
            }
            /**
             * <code>optional bool needsAttention = 3;</code>
             */
            public boolean getNeedsAttention() {
              return needsAttention_;
            }
            /**
             * <code>optional bool needsAttention = 3;</code>
             */
            public Builder setNeedsAttention(boolean value) {
              bitField0_ |= 0x00000004;
              needsAttention_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bool needsAttention = 3;</code>
             */
            public Builder clearNeedsAttention() {
              bitField0_ = (bitField0_ & ~0x00000004);
              needsAttention_ = false;
              onChanged();
              return this;
            }

            // optional string details = 4;
            private java.lang.Object details_ = "";
            /**
             * <code>optional string details = 4;</code>
             */
            public boolean hasDetails() {
              return ((bitField0_ & 0x00000008) == 0x00000008);
            }
            /**
             * <code>optional string details = 4;</code>
             */
            public java.lang.String getDetails() {
              java.lang.Object ref = details_;
              if (!(ref instanceof java.lang.String)) {
                java.lang.String s = ((com.google.gwt.dev.protobuf.ByteString) ref)
                    .toStringUtf8();
                details_ = s;
                return s;
              } else {
                return (java.lang.String) ref;
              }
            }
            /**
             * <code>optional string details = 4;</code>
             */
            public com.google.gwt.dev.protobuf.ByteString
                getDetailsBytes() {
              java.lang.Object ref = details_;
              if (ref instanceof String) {
                com.google.gwt.dev.protobuf.ByteString b =
                    com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                        (java.lang.String) ref);
                details_ = b;
                return b;
              } else {
                return (com.google.gwt.dev.protobuf.ByteString) ref;
              }
            }
            /**
             * <code>optional string details = 4;</code>
             */
            public Builder setDetails(
                java.lang.String value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
              details_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional string details = 4;</code>
             */
            public Builder clearDetails() {
              bitField0_ = (bitField0_ & ~0x00000008);
              details_ = getDefaultInstance().getDetails();
              onChanged();
              return this;
            }
            /**
             * <code>optional string details = 4;</code>
             */
            public Builder setDetailsBytes(
                com.google.gwt.dev.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
              details_ = value;
              onChanged();
              return this;
            }

            // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;
            private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.getDefaultInstance();
            private com.google.gwt.dev.protobuf.SingleFieldBuilder<
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfoOrBuilder> helpInfoBuilder_;
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;</code>
             */
            public boolean hasHelpInfo() {
              return ((bitField0_ & 0x00000010) == 0x00000010);
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo getHelpInfo() {
              if (helpInfoBuilder_ == null) {
                return helpInfo_;
              } else {
                return helpInfoBuilder_.getMessage();
              }
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;</code>
             */
            public Builder setHelpInfo(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo value) {
              if (helpInfoBuilder_ == null) {
                if (value == null) {
                  throw new NullPointerException();
                }
                helpInfo_ = value;
                onChanged();
              } else {
                helpInfoBuilder_.setMessage(value);
              }
              bitField0_ |= 0x00000010;
              return this;
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;</code>
             */
            public Builder setHelpInfo(
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.Builder builderForValue) {
              if (helpInfoBuilder_ == null) {
                helpInfo_ = builderForValue.build();
                onChanged();
              } else {
                helpInfoBuilder_.setMessage(builderForValue.build());
              }
              bitField0_ |= 0x00000010;
              return this;
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;</code>
             */
            public Builder mergeHelpInfo(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo value) {
              if (helpInfoBuilder_ == null) {
                if (((bitField0_ & 0x00000010) == 0x00000010) &&
                    helpInfo_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.getDefaultInstance()) {
                  helpInfo_ =
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.newBuilder(helpInfo_).mergeFrom(value).buildPartial();
                } else {
                  helpInfo_ = value;
                }
                onChanged();
              } else {
                helpInfoBuilder_.mergeFrom(value);
              }
              bitField0_ |= 0x00000010;
              return this;
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;</code>
             */
            public Builder clearHelpInfo() {
              if (helpInfoBuilder_ == null) {
                helpInfo_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.getDefaultInstance();
                onChanged();
              } else {
                helpInfoBuilder_.clear();
              }
              bitField0_ = (bitField0_ & ~0x00000010);
              return this;
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.Builder getHelpInfoBuilder() {
              bitField0_ |= 0x00000010;
              onChanged();
              return getHelpInfoFieldBuilder().getBuilder();
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfoOrBuilder getHelpInfoOrBuilder() {
              if (helpInfoBuilder_ != null) {
                return helpInfoBuilder_.getMessageOrBuilder();
              } else {
                return helpInfo_;
              }
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData.HelpInfo helpInfo = 5;</code>
             */
            private com.google.gwt.dev.protobuf.SingleFieldBuilder<
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfoOrBuilder>
                getHelpInfoFieldBuilder() {
              if (helpInfoBuilder_ == null) {
                helpInfoBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfo.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.HelpInfoOrBuilder>(
                        helpInfo_,
                        getParentForChildren(),
                        isClean());
                helpInfo_ = null;
              }
              return helpInfoBuilder_;
            }

            // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData)
          }

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

          // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData)
        }

        public interface AddLogBranchOrBuilder
            extends com.google.gwt.dev.protobuf.MessageOrBuilder {

          // required uint32 parentLogHandle = 1;
          /**
           * <code>required uint32 parentLogHandle = 1;</code>
           */
          boolean hasParentLogHandle();
          /**
           * <code>required uint32 parentLogHandle = 1;</code>
           */
          int getParentLogHandle();

          // required uint32 indexInParent = 2;
          /**
           * <code>required uint32 indexInParent = 2;</code>
           */
          boolean hasIndexInParent();
          /**
           * <code>required uint32 indexInParent = 2;</code>
           */
          int getIndexInParent();

          // required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;
          /**
           * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
           */
          boolean hasLogData();
          /**
           * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
           */
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData getLogData();
          /**
           * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
           */
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder getLogDataOrBuilder();
        }
        /**
         * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch}
         *
         * <pre>
         * Add a new log branch to an existing log
         * </pre>
         */
        public static final class AddLogBranch extends
            com.google.gwt.dev.protobuf.GeneratedMessage
            implements AddLogBranchOrBuilder {
          // Use AddLogBranch.newBuilder() to construct.
          private AddLogBranch(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.unknownFields = builder.getUnknownFields();
          }
          private AddLogBranch(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

          public AddLogBranch getDefaultInstanceForType() {
            return defaultInstance;
          }

          private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
          @java.lang.Override
          public final com.google.gwt.dev.protobuf.UnknownFieldSet
              getUnknownFields() {
            return this.unknownFields;
          }
          private AddLogBranch(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            initFields();
            int mutable_bitField0_ = 0;
            com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
                com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder();
            try {
              boolean done = false;
              while (!done) {
                int tag = input.readTag();
                switch (tag) {
                  case 0:
                    done = true;
                    break;
                  default: {
                    if (!parseUnknownField(input, unknownFields,
                                           extensionRegistry, tag)) {
                      done = true;
                    }
                    break;
                  }
                  case 8: {
                    bitField0_ |= 0x00000001;
                    parentLogHandle_ = input.readUInt32();
                    break;
                  }
                  case 16: {
                    bitField0_ |= 0x00000002;
                    indexInParent_ = input.readUInt32();
                    break;
                  }
                  case 26: {
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder subBuilder = null;
                    if (((bitField0_ & 0x00000004) == 0x00000004)) {
                      subBuilder = logData_.toBuilder();
                    }
                    logData_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.PARSER, extensionRegistry);
                    if (subBuilder != null) {
                      subBuilder.mergeFrom(logData_);
                      logData_ = subBuilder.buildPartial();
                    }
                    bitField0_ |= 0x00000004;
                    break;
                  }
                }
              }
            } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
              throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                  e.getMessage()).setUnfinishedMessage(this);
            } finally {
              this.unknownFields = unknownFields.build();
              makeExtensionsImmutable();
            }
          }
          public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogBranch_descriptor;
          }

          protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogBranch_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.Builder.class);
          }

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

          @java.lang.Override
          public com.google.gwt.dev.protobuf.Parser<AddLogBranch> getParserForType() {
            return PARSER;
          }

          private int bitField0_;
          // required uint32 parentLogHandle = 1;
          public static final int PARENTLOGHANDLE_FIELD_NUMBER = 1;
          private int parentLogHandle_;
          /**
           * <code>required uint32 parentLogHandle = 1;</code>
           */
          public boolean hasParentLogHandle() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          /**
           * <code>required uint32 parentLogHandle = 1;</code>
           */
          public int getParentLogHandle() {
            return parentLogHandle_;
          }

          // required uint32 indexInParent = 2;
          public static final int INDEXINPARENT_FIELD_NUMBER = 2;
          private int indexInParent_;
          /**
           * <code>required uint32 indexInParent = 2;</code>
           */
          public boolean hasIndexInParent() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
          }
          /**
           * <code>required uint32 indexInParent = 2;</code>
           */
          public int getIndexInParent() {
            return indexInParent_;
          }

          // required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;
          public static final int LOGDATA_FIELD_NUMBER = 3;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData logData_;
          /**
           * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
           */
          public boolean hasLogData() {
            return ((bitField0_ & 0x00000004) == 0x00000004);
          }
          /**
           * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData getLogData() {
            return logData_;
          }
          /**
           * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder getLogDataOrBuilder() {
            return logData_;
          }

          private void initFields() {
            parentLogHandle_ = 0;
            indexInParent_ = 0;
            logData_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
          }
          private byte memoizedIsInitialized = -1;
          public final boolean isInitialized() {
            byte isInitialized = memoizedIsInitialized;
            if (isInitialized != -1) return isInitialized == 1;

            if (!hasParentLogHandle()) {
              memoizedIsInitialized = 0;
              return false;
            }
            if (!hasIndexInParent()) {
              memoizedIsInitialized = 0;
              return false;
            }
            if (!hasLogData()) {
              memoizedIsInitialized = 0;
              return false;
            }
            if (!getLogData().isInitialized()) {
              memoizedIsInitialized = 0;
              return false;
            }
            memoizedIsInitialized = 1;
            return true;
          }

          public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
                              throws java.io.IOException {
            getSerializedSize();
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              output.writeUInt32(1, parentLogHandle_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
              output.writeUInt32(2, indexInParent_);
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              output.writeMessage(3, logData_);
            }
            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.gwt.dev.protobuf.CodedOutputStream
                .computeUInt32Size(1, parentLogHandle_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
              size += com.google.gwt.dev.protobuf.CodedOutputStream
                .computeUInt32Size(2, indexInParent_);
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              size += com.google.gwt.dev.protobuf.CodedOutputStream
                .computeMessageSize(3, logData_);
            }
            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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch parseFrom(
              com.google.gwt.dev.protobuf.ByteString data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch parseFrom(
              com.google.gwt.dev.protobuf.ByteString data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch parseFrom(byte[] data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch parseFrom(
              byte[] data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch parseFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch parseFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch parseDelimitedFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch parseDelimitedFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch prototype) {
            return newBuilder().mergeFrom(prototype);
          }
          public Builder toBuilder() { return newBuilder(this); }

          @java.lang.Override
          protected Builder newBuilderForType(
              com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
          }
          /**
           * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch}
           *
           * <pre>
           * Add a new log branch to an existing log
           * </pre>
           */
          public static final class Builder extends
              com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
             implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranchOrBuilder {
            public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogBranch_descriptor;
            }

            protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogBranch_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.Builder.class);
            }

            // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.newBuilder()
            private Builder() {
              maybeForceBuilderInitialization();
            }

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

            public Builder clear() {
              super.clear();
              parentLogHandle_ = 0;
              bitField0_ = (bitField0_ & ~0x00000001);
              indexInParent_ = 0;
              bitField0_ = (bitField0_ & ~0x00000002);
              if (logDataBuilder_ == null) {
                logData_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
              } else {
                logDataBuilder_.clear();
              }
              bitField0_ = (bitField0_ & ~0x00000004);
              return this;
            }

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

            public com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptorForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogBranch_descriptor;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch getDefaultInstanceForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.getDefaultInstance();
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch build() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch result = buildPartial();
              if (!result.isInitialized()) {
                throw newUninitializedMessageException(result);
              }
              return result;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch buildPartial() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch(this);
              int from_bitField0_ = bitField0_;
              int to_bitField0_ = 0;
              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                to_bitField0_ |= 0x00000001;
              }
              result.parentLogHandle_ = parentLogHandle_;
              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                to_bitField0_ |= 0x00000002;
              }
              result.indexInParent_ = indexInParent_;
              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
                to_bitField0_ |= 0x00000004;
              }
              if (logDataBuilder_ == null) {
                result.logData_ = logData_;
              } else {
                result.logData_ = logDataBuilder_.build();
              }
              result.bitField0_ = to_bitField0_;
              onBuilt();
              return result;
            }

            public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
              if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch) {
                return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch)other);
              } else {
                super.mergeFrom(other);
                return this;
              }
            }

            public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch other) {
              if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.getDefaultInstance()) return this;
              if (other.hasParentLogHandle()) {
                setParentLogHandle(other.getParentLogHandle());
              }
              if (other.hasIndexInParent()) {
                setIndexInParent(other.getIndexInParent());
              }
              if (other.hasLogData()) {
                mergeLogData(other.getLogData());
              }
              this.mergeUnknownFields(other.getUnknownFields());
              return this;
            }

            public final boolean isInitialized() {
              if (!hasParentLogHandle()) {

                return false;
              }
              if (!hasIndexInParent()) {

                return false;
              }
              if (!hasLogData()) {

                return false;
              }
              if (!getLogData().isInitialized()) {

                return false;
              }
              return true;
            }

            public Builder mergeFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch parsedMessage = null;
              try {
                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
              } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch) e.getUnfinishedMessage();
                throw e;
              } finally {
                if (parsedMessage != null) {
                  mergeFrom(parsedMessage);
                }
              }
              return this;
            }
            private int bitField0_;

            // required uint32 parentLogHandle = 1;
            private int parentLogHandle_ ;
            /**
             * <code>required uint32 parentLogHandle = 1;</code>
             */
            public boolean hasParentLogHandle() {
              return ((bitField0_ & 0x00000001) == 0x00000001);
            }
            /**
             * <code>required uint32 parentLogHandle = 1;</code>
             */
            public int getParentLogHandle() {
              return parentLogHandle_;
            }
            /**
             * <code>required uint32 parentLogHandle = 1;</code>
             */
            public Builder setParentLogHandle(int value) {
              bitField0_ |= 0x00000001;
              parentLogHandle_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>required uint32 parentLogHandle = 1;</code>
             */
            public Builder clearParentLogHandle() {
              bitField0_ = (bitField0_ & ~0x00000001);
              parentLogHandle_ = 0;
              onChanged();
              return this;
            }

            // required uint32 indexInParent = 2;
            private int indexInParent_ ;
            /**
             * <code>required uint32 indexInParent = 2;</code>
             */
            public boolean hasIndexInParent() {
              return ((bitField0_ & 0x00000002) == 0x00000002);
            }
            /**
             * <code>required uint32 indexInParent = 2;</code>
             */
            public int getIndexInParent() {
              return indexInParent_;
            }
            /**
             * <code>required uint32 indexInParent = 2;</code>
             */
            public Builder setIndexInParent(int value) {
              bitField0_ |= 0x00000002;
              indexInParent_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>required uint32 indexInParent = 2;</code>
             */
            public Builder clearIndexInParent() {
              bitField0_ = (bitField0_ & ~0x00000002);
              indexInParent_ = 0;
              onChanged();
              return this;
            }

            // required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;
            private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData logData_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
            private com.google.gwt.dev.protobuf.SingleFieldBuilder<
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder> logDataBuilder_;
            /**
             * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
             */
            public boolean hasLogData() {
              return ((bitField0_ & 0x00000004) == 0x00000004);
            }
            /**
             * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData getLogData() {
              if (logDataBuilder_ == null) {
                return logData_;
              } else {
                return logDataBuilder_.getMessage();
              }
            }
            /**
             * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
             */
            public Builder setLogData(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData value) {
              if (logDataBuilder_ == null) {
                if (value == null) {
                  throw new NullPointerException();
                }
                logData_ = value;
                onChanged();
              } else {
                logDataBuilder_.setMessage(value);
              }
              bitField0_ |= 0x00000004;
              return this;
            }
            /**
             * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
             */
            public Builder setLogData(
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder builderForValue) {
              if (logDataBuilder_ == null) {
                logData_ = builderForValue.build();
                onChanged();
              } else {
                logDataBuilder_.setMessage(builderForValue.build());
              }
              bitField0_ |= 0x00000004;
              return this;
            }
            /**
             * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
             */
            public Builder mergeLogData(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData value) {
              if (logDataBuilder_ == null) {
                if (((bitField0_ & 0x00000004) == 0x00000004) &&
                    logData_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance()) {
                  logData_ =
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.newBuilder(logData_).mergeFrom(value).buildPartial();
                } else {
                  logData_ = value;
                }
                onChanged();
              } else {
                logDataBuilder_.mergeFrom(value);
              }
              bitField0_ |= 0x00000004;
              return this;
            }
            /**
             * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
             */
            public Builder clearLogData() {
              if (logDataBuilder_ == null) {
                logData_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
                onChanged();
              } else {
                logDataBuilder_.clear();
              }
              bitField0_ = (bitField0_ & ~0x00000004);
              return this;
            }
            /**
             * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder getLogDataBuilder() {
              bitField0_ |= 0x00000004;
              onChanged();
              return getLogDataFieldBuilder().getBuilder();
            }
            /**
             * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder getLogDataOrBuilder() {
              if (logDataBuilder_ != null) {
                return logDataBuilder_.getMessageOrBuilder();
              } else {
                return logData_;
              }
            }
            /**
             * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
             */
            private com.google.gwt.dev.protobuf.SingleFieldBuilder<
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder>
                getLogDataFieldBuilder() {
              if (logDataBuilder_ == null) {
                logDataBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder>(
                        logData_,
                        getParentForChildren(),
                        isClean());
                logData_ = null;
              }
              return logDataBuilder_;
            }

            // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch)
          }

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

          // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch)
        }

        public interface AddLogEntryOrBuilder
            extends com.google.gwt.dev.protobuf.MessageOrBuilder {

          // required uint32 logHandle = 1;
          /**
           * <code>required uint32 logHandle = 1;</code>
           */
          boolean hasLogHandle();
          /**
           * <code>required uint32 logHandle = 1;</code>
           */
          int getLogHandle();

          // required uint32 indexInLog = 2;
          /**
           * <code>required uint32 indexInLog = 2;</code>
           */
          boolean hasIndexInLog();
          /**
           * <code>required uint32 indexInLog = 2;</code>
           */
          int getIndexInLog();

          // required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;
          /**
           * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
           */
          boolean hasLogData();
          /**
           * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
           */
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData getLogData();
          /**
           * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
           */
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder getLogDataOrBuilder();
        }
        /**
         * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry}
         *
         * <pre>
         * Add a log entry to a log
         * </pre>
         */
        public static final class AddLogEntry extends
            com.google.gwt.dev.protobuf.GeneratedMessage
            implements AddLogEntryOrBuilder {
          // Use AddLogEntry.newBuilder() to construct.
          private AddLogEntry(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.unknownFields = builder.getUnknownFields();
          }
          private AddLogEntry(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

          public AddLogEntry getDefaultInstanceForType() {
            return defaultInstance;
          }

          private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
          @java.lang.Override
          public final com.google.gwt.dev.protobuf.UnknownFieldSet
              getUnknownFields() {
            return this.unknownFields;
          }
          private AddLogEntry(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            initFields();
            int mutable_bitField0_ = 0;
            com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
                com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder();
            try {
              boolean done = false;
              while (!done) {
                int tag = input.readTag();
                switch (tag) {
                  case 0:
                    done = true;
                    break;
                  default: {
                    if (!parseUnknownField(input, unknownFields,
                                           extensionRegistry, tag)) {
                      done = true;
                    }
                    break;
                  }
                  case 8: {
                    bitField0_ |= 0x00000001;
                    logHandle_ = input.readUInt32();
                    break;
                  }
                  case 16: {
                    bitField0_ |= 0x00000002;
                    indexInLog_ = input.readUInt32();
                    break;
                  }
                  case 26: {
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder subBuilder = null;
                    if (((bitField0_ & 0x00000004) == 0x00000004)) {
                      subBuilder = logData_.toBuilder();
                    }
                    logData_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.PARSER, extensionRegistry);
                    if (subBuilder != null) {
                      subBuilder.mergeFrom(logData_);
                      logData_ = subBuilder.buildPartial();
                    }
                    bitField0_ |= 0x00000004;
                    break;
                  }
                }
              }
            } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
              throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                  e.getMessage()).setUnfinishedMessage(this);
            } finally {
              this.unknownFields = unknownFields.build();
              makeExtensionsImmutable();
            }
          }
          public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogEntry_descriptor;
          }

          protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogEntry_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.Builder.class);
          }

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

          @java.lang.Override
          public com.google.gwt.dev.protobuf.Parser<AddLogEntry> getParserForType() {
            return PARSER;
          }

          private int bitField0_;
          // required uint32 logHandle = 1;
          public static final int LOGHANDLE_FIELD_NUMBER = 1;
          private int logHandle_;
          /**
           * <code>required uint32 logHandle = 1;</code>
           */
          public boolean hasLogHandle() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          /**
           * <code>required uint32 logHandle = 1;</code>
           */
          public int getLogHandle() {
            return logHandle_;
          }

          // required uint32 indexInLog = 2;
          public static final int INDEXINLOG_FIELD_NUMBER = 2;
          private int indexInLog_;
          /**
           * <code>required uint32 indexInLog = 2;</code>
           */
          public boolean hasIndexInLog() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
          }
          /**
           * <code>required uint32 indexInLog = 2;</code>
           */
          public int getIndexInLog() {
            return indexInLog_;
          }

          // required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;
          public static final int LOGDATA_FIELD_NUMBER = 3;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData logData_;
          /**
           * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
           */
          public boolean hasLogData() {
            return ((bitField0_ & 0x00000004) == 0x00000004);
          }
          /**
           * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData getLogData() {
            return logData_;
          }
          /**
           * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder getLogDataOrBuilder() {
            return logData_;
          }

          private void initFields() {
            logHandle_ = 0;
            indexInLog_ = 0;
            logData_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
          }
          private byte memoizedIsInitialized = -1;
          public final boolean isInitialized() {
            byte isInitialized = memoizedIsInitialized;
            if (isInitialized != -1) return isInitialized == 1;

            if (!hasLogHandle()) {
              memoizedIsInitialized = 0;
              return false;
            }
            if (!hasIndexInLog()) {
              memoizedIsInitialized = 0;
              return false;
            }
            if (!hasLogData()) {
              memoizedIsInitialized = 0;
              return false;
            }
            if (!getLogData().isInitialized()) {
              memoizedIsInitialized = 0;
              return false;
            }
            memoizedIsInitialized = 1;
            return true;
          }

          public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
                              throws java.io.IOException {
            getSerializedSize();
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              output.writeUInt32(1, logHandle_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
              output.writeUInt32(2, indexInLog_);
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              output.writeMessage(3, logData_);
            }
            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.gwt.dev.protobuf.CodedOutputStream
                .computeUInt32Size(1, logHandle_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
              size += com.google.gwt.dev.protobuf.CodedOutputStream
                .computeUInt32Size(2, indexInLog_);
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              size += com.google.gwt.dev.protobuf.CodedOutputStream
                .computeMessageSize(3, logData_);
            }
            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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry parseFrom(
              com.google.gwt.dev.protobuf.ByteString data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry parseFrom(
              com.google.gwt.dev.protobuf.ByteString data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry parseFrom(byte[] data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry parseFrom(
              byte[] data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry parseFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry parseFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry parseDelimitedFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry parseDelimitedFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry prototype) {
            return newBuilder().mergeFrom(prototype);
          }
          public Builder toBuilder() { return newBuilder(this); }

          @java.lang.Override
          protected Builder newBuilderForType(
              com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
          }
          /**
           * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry}
           *
           * <pre>
           * Add a log entry to a log
           * </pre>
           */
          public static final class Builder extends
              com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
             implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntryOrBuilder {
            public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogEntry_descriptor;
            }

            protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogEntry_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.Builder.class);
            }

            // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.newBuilder()
            private Builder() {
              maybeForceBuilderInitialization();
            }

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

            public Builder clear() {
              super.clear();
              logHandle_ = 0;
              bitField0_ = (bitField0_ & ~0x00000001);
              indexInLog_ = 0;
              bitField0_ = (bitField0_ & ~0x00000002);
              if (logDataBuilder_ == null) {
                logData_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
              } else {
                logDataBuilder_.clear();
              }
              bitField0_ = (bitField0_ & ~0x00000004);
              return this;
            }

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

            public com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptorForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogEntry_descriptor;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry getDefaultInstanceForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.getDefaultInstance();
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry build() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry result = buildPartial();
              if (!result.isInitialized()) {
                throw newUninitializedMessageException(result);
              }
              return result;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry buildPartial() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry(this);
              int from_bitField0_ = bitField0_;
              int to_bitField0_ = 0;
              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                to_bitField0_ |= 0x00000001;
              }
              result.logHandle_ = logHandle_;
              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                to_bitField0_ |= 0x00000002;
              }
              result.indexInLog_ = indexInLog_;
              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
                to_bitField0_ |= 0x00000004;
              }
              if (logDataBuilder_ == null) {
                result.logData_ = logData_;
              } else {
                result.logData_ = logDataBuilder_.build();
              }
              result.bitField0_ = to_bitField0_;
              onBuilt();
              return result;
            }

            public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
              if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry) {
                return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry)other);
              } else {
                super.mergeFrom(other);
                return this;
              }
            }

            public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry other) {
              if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.getDefaultInstance()) return this;
              if (other.hasLogHandle()) {
                setLogHandle(other.getLogHandle());
              }
              if (other.hasIndexInLog()) {
                setIndexInLog(other.getIndexInLog());
              }
              if (other.hasLogData()) {
                mergeLogData(other.getLogData());
              }
              this.mergeUnknownFields(other.getUnknownFields());
              return this;
            }

            public final boolean isInitialized() {
              if (!hasLogHandle()) {

                return false;
              }
              if (!hasIndexInLog()) {

                return false;
              }
              if (!hasLogData()) {

                return false;
              }
              if (!getLogData().isInitialized()) {

                return false;
              }
              return true;
            }

            public Builder mergeFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry parsedMessage = null;
              try {
                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
              } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry) e.getUnfinishedMessage();
                throw e;
              } finally {
                if (parsedMessage != null) {
                  mergeFrom(parsedMessage);
                }
              }
              return this;
            }
            private int bitField0_;

            // required uint32 logHandle = 1;
            private int logHandle_ ;
            /**
             * <code>required uint32 logHandle = 1;</code>
             */
            public boolean hasLogHandle() {
              return ((bitField0_ & 0x00000001) == 0x00000001);
            }
            /**
             * <code>required uint32 logHandle = 1;</code>
             */
            public int getLogHandle() {
              return logHandle_;
            }
            /**
             * <code>required uint32 logHandle = 1;</code>
             */
            public Builder setLogHandle(int value) {
              bitField0_ |= 0x00000001;
              logHandle_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>required uint32 logHandle = 1;</code>
             */
            public Builder clearLogHandle() {
              bitField0_ = (bitField0_ & ~0x00000001);
              logHandle_ = 0;
              onChanged();
              return this;
            }

            // required uint32 indexInLog = 2;
            private int indexInLog_ ;
            /**
             * <code>required uint32 indexInLog = 2;</code>
             */
            public boolean hasIndexInLog() {
              return ((bitField0_ & 0x00000002) == 0x00000002);
            }
            /**
             * <code>required uint32 indexInLog = 2;</code>
             */
            public int getIndexInLog() {
              return indexInLog_;
            }
            /**
             * <code>required uint32 indexInLog = 2;</code>
             */
            public Builder setIndexInLog(int value) {
              bitField0_ |= 0x00000002;
              indexInLog_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>required uint32 indexInLog = 2;</code>
             */
            public Builder clearIndexInLog() {
              bitField0_ = (bitField0_ & ~0x00000002);
              indexInLog_ = 0;
              onChanged();
              return this;
            }

            // required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;
            private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData logData_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
            private com.google.gwt.dev.protobuf.SingleFieldBuilder<
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder> logDataBuilder_;
            /**
             * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
             */
            public boolean hasLogData() {
              return ((bitField0_ & 0x00000004) == 0x00000004);
            }
            /**
             * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData getLogData() {
              if (logDataBuilder_ == null) {
                return logData_;
              } else {
                return logDataBuilder_.getMessage();
              }
            }
            /**
             * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
             */
            public Builder setLogData(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData value) {
              if (logDataBuilder_ == null) {
                if (value == null) {
                  throw new NullPointerException();
                }
                logData_ = value;
                onChanged();
              } else {
                logDataBuilder_.setMessage(value);
              }
              bitField0_ |= 0x00000004;
              return this;
            }
            /**
             * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
             */
            public Builder setLogData(
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder builderForValue) {
              if (logDataBuilder_ == null) {
                logData_ = builderForValue.build();
                onChanged();
              } else {
                logDataBuilder_.setMessage(builderForValue.build());
              }
              bitField0_ |= 0x00000004;
              return this;
            }
            /**
             * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
             */
            public Builder mergeLogData(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData value) {
              if (logDataBuilder_ == null) {
                if (((bitField0_ & 0x00000004) == 0x00000004) &&
                    logData_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance()) {
                  logData_ =
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.newBuilder(logData_).mergeFrom(value).buildPartial();
                } else {
                  logData_ = value;
                }
                onChanged();
              } else {
                logDataBuilder_.mergeFrom(value);
              }
              bitField0_ |= 0x00000004;
              return this;
            }
            /**
             * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
             */
            public Builder clearLogData() {
              if (logDataBuilder_ == null) {
                logData_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.getDefaultInstance();
                onChanged();
              } else {
                logDataBuilder_.clear();
              }
              bitField0_ = (bitField0_ & ~0x00000004);
              return this;
            }
            /**
             * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder getLogDataBuilder() {
              bitField0_ |= 0x00000004;
              onChanged();
              return getLogDataFieldBuilder().getBuilder();
            }
            /**
             * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder getLogDataOrBuilder() {
              if (logDataBuilder_ != null) {
                return logDataBuilder_.getMessageOrBuilder();
              } else {
                return logData_;
              }
            }
            /**
             * <code>required .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.LogData logData = 3;</code>
             */
            private com.google.gwt.dev.protobuf.SingleFieldBuilder<
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder>
                getLogDataFieldBuilder() {
              if (logDataBuilder_ == null) {
                logDataBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogData.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.LogDataOrBuilder>(
                        logData_,
                        getParentForChildren(),
                        isClean());
                logData_ = null;
              }
              return logDataBuilder_;
            }

            // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry)
          }

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

          // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry)
        }

        public interface DisconnectLogOrBuilder
            extends com.google.gwt.dev.protobuf.MessageOrBuilder {

          // required uint32 logHandle = 1;
          /**
           * <code>required uint32 logHandle = 1;</code>
           */
          boolean hasLogHandle();
          /**
           * <code>required uint32 logHandle = 1;</code>
           */
          int getLogHandle();
        }
        /**
         * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog}
         *
         * <pre>
         * Disconnect the given log (i.e. process for which information was
         * being logged is dead)
         * </pre>
         */
        public static final class DisconnectLog extends
            com.google.gwt.dev.protobuf.GeneratedMessage
            implements DisconnectLogOrBuilder {
          // Use DisconnectLog.newBuilder() to construct.
          private DisconnectLog(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.unknownFields = builder.getUnknownFields();
          }
          private DisconnectLog(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

          public DisconnectLog getDefaultInstanceForType() {
            return defaultInstance;
          }

          private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
          @java.lang.Override
          public final com.google.gwt.dev.protobuf.UnknownFieldSet
              getUnknownFields() {
            return this.unknownFields;
          }
          private DisconnectLog(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            initFields();
            int mutable_bitField0_ = 0;
            com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
                com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder();
            try {
              boolean done = false;
              while (!done) {
                int tag = input.readTag();
                switch (tag) {
                  case 0:
                    done = true;
                    break;
                  default: {
                    if (!parseUnknownField(input, unknownFields,
                                           extensionRegistry, tag)) {
                      done = true;
                    }
                    break;
                  }
                  case 8: {
                    bitField0_ |= 0x00000001;
                    logHandle_ = input.readUInt32();
                    break;
                  }
                }
              }
            } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
              throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                  e.getMessage()).setUnfinishedMessage(this);
            } finally {
              this.unknownFields = unknownFields.build();
              makeExtensionsImmutable();
            }
          }
          public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_DisconnectLog_descriptor;
          }

          protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_DisconnectLog_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.Builder.class);
          }

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

          @java.lang.Override
          public com.google.gwt.dev.protobuf.Parser<DisconnectLog> getParserForType() {
            return PARSER;
          }

          private int bitField0_;
          // required uint32 logHandle = 1;
          public static final int LOGHANDLE_FIELD_NUMBER = 1;
          private int logHandle_;
          /**
           * <code>required uint32 logHandle = 1;</code>
           */
          public boolean hasLogHandle() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          /**
           * <code>required uint32 logHandle = 1;</code>
           */
          public int getLogHandle() {
            return logHandle_;
          }

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

            if (!hasLogHandle()) {
              memoizedIsInitialized = 0;
              return false;
            }
            memoizedIsInitialized = 1;
            return true;
          }

          public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
                              throws java.io.IOException {
            getSerializedSize();
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              output.writeUInt32(1, logHandle_);
            }
            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.gwt.dev.protobuf.CodedOutputStream
                .computeUInt32Size(1, logHandle_);
            }
            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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog parseFrom(
              com.google.gwt.dev.protobuf.ByteString data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog parseFrom(
              com.google.gwt.dev.protobuf.ByteString data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog parseFrom(byte[] data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog parseFrom(
              byte[] data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog parseFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog parseFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog parseDelimitedFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog parseDelimitedFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog prototype) {
            return newBuilder().mergeFrom(prototype);
          }
          public Builder toBuilder() { return newBuilder(this); }

          @java.lang.Override
          protected Builder newBuilderForType(
              com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
          }
          /**
           * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog}
           *
           * <pre>
           * Disconnect the given log (i.e. process for which information was
           * being logged is dead)
           * </pre>
           */
          public static final class Builder extends
              com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
             implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLogOrBuilder {
            public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_DisconnectLog_descriptor;
            }

            protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_DisconnectLog_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.Builder.class);
            }

            // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.newBuilder()
            private Builder() {
              maybeForceBuilderInitialization();
            }

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

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

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

            public com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptorForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_DisconnectLog_descriptor;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog getDefaultInstanceForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.getDefaultInstance();
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog build() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog result = buildPartial();
              if (!result.isInitialized()) {
                throw newUninitializedMessageException(result);
              }
              return result;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog buildPartial() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog(this);
              int from_bitField0_ = bitField0_;
              int to_bitField0_ = 0;
              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                to_bitField0_ |= 0x00000001;
              }
              result.logHandle_ = logHandle_;
              result.bitField0_ = to_bitField0_;
              onBuilt();
              return result;
            }

            public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
              if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog) {
                return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog)other);
              } else {
                super.mergeFrom(other);
                return this;
              }
            }

            public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog other) {
              if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.getDefaultInstance()) return this;
              if (other.hasLogHandle()) {
                setLogHandle(other.getLogHandle());
              }
              this.mergeUnknownFields(other.getUnknownFields());
              return this;
            }

            public final boolean isInitialized() {
              if (!hasLogHandle()) {

                return false;
              }
              return true;
            }

            public Builder mergeFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog parsedMessage = null;
              try {
                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
              } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog) e.getUnfinishedMessage();
                throw e;
              } finally {
                if (parsedMessage != null) {
                  mergeFrom(parsedMessage);
                }
              }
              return this;
            }
            private int bitField0_;

            // required uint32 logHandle = 1;
            private int logHandle_ ;
            /**
             * <code>required uint32 logHandle = 1;</code>
             */
            public boolean hasLogHandle() {
              return ((bitField0_ & 0x00000001) == 0x00000001);
            }
            /**
             * <code>required uint32 logHandle = 1;</code>
             */
            public int getLogHandle() {
              return logHandle_;
            }
            /**
             * <code>required uint32 logHandle = 1;</code>
             */
            public Builder setLogHandle(int value) {
              bitField0_ |= 0x00000001;
              logHandle_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>required uint32 logHandle = 1;</code>
             */
            public Builder clearLogHandle() {
              bitField0_ = (bitField0_ & ~0x00000001);
              logHandle_ = 0;
              onChanged();
              return this;
            }

            // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog)
          }

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

          // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog)
        }

        public interface InitializeOrBuilder
            extends com.google.gwt.dev.protobuf.MessageOrBuilder {

          // optional string clientId = 1;
          /**
           * <code>optional string clientId = 1;</code>
           */
          boolean hasClientId();
          /**
           * <code>optional string clientId = 1;</code>
           */
          java.lang.String getClientId();
          /**
           * <code>optional string clientId = 1;</code>
           */
          com.google.gwt.dev.protobuf.ByteString
              getClientIdBytes();

          // repeated string startupURLs = 2;
          /**
           * <code>repeated string startupURLs = 2;</code>
           */
          java.util.List<java.lang.String>
          getStartupURLsList();
          /**
           * <code>repeated string startupURLs = 2;</code>
           */
          int getStartupURLsCount();
          /**
           * <code>repeated string startupURLs = 2;</code>
           */
          java.lang.String getStartupURLs(int index);
          /**
           * <code>repeated string startupURLs = 2;</code>
           */
          com.google.gwt.dev.protobuf.ByteString
              getStartupURLsBytes(int index);
        }
        /**
         * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize}
         */
        public static final class Initialize extends
            com.google.gwt.dev.protobuf.GeneratedMessage
            implements InitializeOrBuilder {
          // Use Initialize.newBuilder() to construct.
          private Initialize(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.unknownFields = builder.getUnknownFields();
          }
          private Initialize(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

          public Initialize getDefaultInstanceForType() {
            return defaultInstance;
          }

          private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
          @java.lang.Override
          public final com.google.gwt.dev.protobuf.UnknownFieldSet
              getUnknownFields() {
            return this.unknownFields;
          }
          private Initialize(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            initFields();
            int mutable_bitField0_ = 0;
            com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
                com.google.gwt.dev.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;
                    clientId_ = input.readBytes();
                    break;
                  }
                  case 18: {
                    if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                      startupURLs_ = new com.google.gwt.dev.protobuf.LazyStringArrayList();
                      mutable_bitField0_ |= 0x00000002;
                    }
                    startupURLs_.add(input.readBytes());
                    break;
                  }
                }
              }
            } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
              throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                  e.getMessage()).setUnfinishedMessage(this);
            } finally {
              if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                startupURLs_ = new com.google.gwt.dev.protobuf.UnmodifiableLazyStringList(startupURLs_);
              }
              this.unknownFields = unknownFields.build();
              makeExtensionsImmutable();
            }
          }
          public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_Initialize_descriptor;
          }

          protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_Initialize_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.Builder.class);
          }

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

          @java.lang.Override
          public com.google.gwt.dev.protobuf.Parser<Initialize> getParserForType() {
            return PARSER;
          }

          private int bitField0_;
          // optional string clientId = 1;
          public static final int CLIENTID_FIELD_NUMBER = 1;
          private java.lang.Object clientId_;
          /**
           * <code>optional string clientId = 1;</code>
           */
          public boolean hasClientId() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          /**
           * <code>optional string clientId = 1;</code>
           */
          public java.lang.String getClientId() {
            java.lang.Object ref = clientId_;
            if (ref instanceof java.lang.String) {
              return (java.lang.String) ref;
            } else {
              com.google.gwt.dev.protobuf.ByteString bs =
                  (com.google.gwt.dev.protobuf.ByteString) ref;
              java.lang.String s = bs.toStringUtf8();
              if (bs.isValidUtf8()) {
                clientId_ = s;
              }
              return s;
            }
          }
          /**
           * <code>optional string clientId = 1;</code>
           */
          public com.google.gwt.dev.protobuf.ByteString
              getClientIdBytes() {
            java.lang.Object ref = clientId_;
            if (ref instanceof java.lang.String) {
              com.google.gwt.dev.protobuf.ByteString b =
                  com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                      (java.lang.String) ref);
              clientId_ = b;
              return b;
            } else {
              return (com.google.gwt.dev.protobuf.ByteString) ref;
            }
          }

          // repeated string startupURLs = 2;
          public static final int STARTUPURLS_FIELD_NUMBER = 2;
          private com.google.gwt.dev.protobuf.LazyStringList startupURLs_;
          /**
           * <code>repeated string startupURLs = 2;</code>
           */
          public java.util.List<java.lang.String>
              getStartupURLsList() {
            return startupURLs_;
          }
          /**
           * <code>repeated string startupURLs = 2;</code>
           */
          public int getStartupURLsCount() {
            return startupURLs_.size();
          }
          /**
           * <code>repeated string startupURLs = 2;</code>
           */
          public java.lang.String getStartupURLs(int index) {
            return startupURLs_.get(index);
          }
          /**
           * <code>repeated string startupURLs = 2;</code>
           */
          public com.google.gwt.dev.protobuf.ByteString
              getStartupURLsBytes(int index) {
            return startupURLs_.getByteString(index);
          }

          private void initFields() {
            clientId_ = "";
            startupURLs_ = com.google.gwt.dev.protobuf.LazyStringArrayList.EMPTY;
          }
          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.gwt.dev.protobuf.CodedOutputStream output)
                              throws java.io.IOException {
            getSerializedSize();
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              output.writeBytes(1, getClientIdBytes());
            }
            for (int i = 0; i < startupURLs_.size(); i++) {
              output.writeBytes(2, startupURLs_.getByteString(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.gwt.dev.protobuf.CodedOutputStream
                .computeBytesSize(1, getClientIdBytes());
            }
            {
              int dataSize = 0;
              for (int i = 0; i < startupURLs_.size(); i++) {
                dataSize += com.google.gwt.dev.protobuf.CodedOutputStream
                  .computeBytesSizeNoTag(startupURLs_.getByteString(i));
              }
              size += dataSize;
              size += 1 * getStartupURLsList().size();
            }
            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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize parseFrom(
              com.google.gwt.dev.protobuf.ByteString data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize parseFrom(
              com.google.gwt.dev.protobuf.ByteString data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize parseFrom(byte[] data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize parseFrom(
              byte[] data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize parseFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize parseFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize parseDelimitedFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize parseDelimitedFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize prototype) {
            return newBuilder().mergeFrom(prototype);
          }
          public Builder toBuilder() { return newBuilder(this); }

          @java.lang.Override
          protected Builder newBuilderForType(
              com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
          }
          /**
           * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize}
           */
          public static final class Builder extends
              com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
             implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.InitializeOrBuilder {
            public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_Initialize_descriptor;
            }

            protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_Initialize_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.Builder.class);
            }

            // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.newBuilder()
            private Builder() {
              maybeForceBuilderInitialization();
            }

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

            public Builder clear() {
              super.clear();
              clientId_ = "";
              bitField0_ = (bitField0_ & ~0x00000001);
              startupURLs_ = com.google.gwt.dev.protobuf.LazyStringArrayList.EMPTY;
              bitField0_ = (bitField0_ & ~0x00000002);
              return this;
            }

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

            public com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptorForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_Initialize_descriptor;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize getDefaultInstanceForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.getDefaultInstance();
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize build() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize result = buildPartial();
              if (!result.isInitialized()) {
                throw newUninitializedMessageException(result);
              }
              return result;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize buildPartial() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize(this);
              int from_bitField0_ = bitField0_;
              int to_bitField0_ = 0;
              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                to_bitField0_ |= 0x00000001;
              }
              result.clientId_ = clientId_;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                startupURLs_ = new com.google.gwt.dev.protobuf.UnmodifiableLazyStringList(
                    startupURLs_);
                bitField0_ = (bitField0_ & ~0x00000002);
              }
              result.startupURLs_ = startupURLs_;
              result.bitField0_ = to_bitField0_;
              onBuilt();
              return result;
            }

            public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
              if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize) {
                return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize)other);
              } else {
                super.mergeFrom(other);
                return this;
              }
            }

            public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize other) {
              if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.getDefaultInstance()) return this;
              if (other.hasClientId()) {
                bitField0_ |= 0x00000001;
                clientId_ = other.clientId_;
                onChanged();
              }
              if (!other.startupURLs_.isEmpty()) {
                if (startupURLs_.isEmpty()) {
                  startupURLs_ = other.startupURLs_;
                  bitField0_ = (bitField0_ & ~0x00000002);
                } else {
                  ensureStartupURLsIsMutable();
                  startupURLs_.addAll(other.startupURLs_);
                }
                onChanged();
              }
              this.mergeUnknownFields(other.getUnknownFields());
              return this;
            }

            public final boolean isInitialized() {
              return true;
            }

            public Builder mergeFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize parsedMessage = null;
              try {
                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
              } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize) e.getUnfinishedMessage();
                throw e;
              } finally {
                if (parsedMessage != null) {
                  mergeFrom(parsedMessage);
                }
              }
              return this;
            }
            private int bitField0_;

            // optional string clientId = 1;
            private java.lang.Object clientId_ = "";
            /**
             * <code>optional string clientId = 1;</code>
             */
            public boolean hasClientId() {
              return ((bitField0_ & 0x00000001) == 0x00000001);
            }
            /**
             * <code>optional string clientId = 1;</code>
             */
            public java.lang.String getClientId() {
              java.lang.Object ref = clientId_;
              if (!(ref instanceof java.lang.String)) {
                java.lang.String s = ((com.google.gwt.dev.protobuf.ByteString) ref)
                    .toStringUtf8();
                clientId_ = s;
                return s;
              } else {
                return (java.lang.String) ref;
              }
            }
            /**
             * <code>optional string clientId = 1;</code>
             */
            public com.google.gwt.dev.protobuf.ByteString
                getClientIdBytes() {
              java.lang.Object ref = clientId_;
              if (ref instanceof String) {
                com.google.gwt.dev.protobuf.ByteString b =
                    com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                        (java.lang.String) ref);
                clientId_ = b;
                return b;
              } else {
                return (com.google.gwt.dev.protobuf.ByteString) ref;
              }
            }
            /**
             * <code>optional string clientId = 1;</code>
             */
            public Builder setClientId(
                java.lang.String value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
              clientId_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional string clientId = 1;</code>
             */
            public Builder clearClientId() {
              bitField0_ = (bitField0_ & ~0x00000001);
              clientId_ = getDefaultInstance().getClientId();
              onChanged();
              return this;
            }
            /**
             * <code>optional string clientId = 1;</code>
             */
            public Builder setClientIdBytes(
                com.google.gwt.dev.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
              clientId_ = value;
              onChanged();
              return this;
            }

            // repeated string startupURLs = 2;
            private com.google.gwt.dev.protobuf.LazyStringList startupURLs_ = com.google.gwt.dev.protobuf.LazyStringArrayList.EMPTY;
            private void ensureStartupURLsIsMutable() {
              if (!((bitField0_ & 0x00000002) == 0x00000002)) {
                startupURLs_ = new com.google.gwt.dev.protobuf.LazyStringArrayList(startupURLs_);
                bitField0_ |= 0x00000002;
               }
            }
            /**
             * <code>repeated string startupURLs = 2;</code>
             */
            public java.util.List<java.lang.String>
                getStartupURLsList() {
              return java.util.Collections.unmodifiableList(startupURLs_);
            }
            /**
             * <code>repeated string startupURLs = 2;</code>
             */
            public int getStartupURLsCount() {
              return startupURLs_.size();
            }
            /**
             * <code>repeated string startupURLs = 2;</code>
             */
            public java.lang.String getStartupURLs(int index) {
              return startupURLs_.get(index);
            }
            /**
             * <code>repeated string startupURLs = 2;</code>
             */
            public com.google.gwt.dev.protobuf.ByteString
                getStartupURLsBytes(int index) {
              return startupURLs_.getByteString(index);
            }
            /**
             * <code>repeated string startupURLs = 2;</code>
             */
            public Builder setStartupURLs(
                int index, java.lang.String value) {
              if (value == null) {
    throw new NullPointerException();
  }
  ensureStartupURLsIsMutable();
              startupURLs_.set(index, value);
              onChanged();
              return this;
            }
            /**
             * <code>repeated string startupURLs = 2;</code>
             */
            public Builder addStartupURLs(
                java.lang.String value) {
              if (value == null) {
    throw new NullPointerException();
  }
  ensureStartupURLsIsMutable();
              startupURLs_.add(value);
              onChanged();
              return this;
            }
            /**
             * <code>repeated string startupURLs = 2;</code>
             */
            public Builder addAllStartupURLs(
                java.lang.Iterable<java.lang.String> values) {
              ensureStartupURLsIsMutable();
              super.addAll(values, startupURLs_);
              onChanged();
              return this;
            }
            /**
             * <code>repeated string startupURLs = 2;</code>
             */
            public Builder clearStartupURLs() {
              startupURLs_ = com.google.gwt.dev.protobuf.LazyStringArrayList.EMPTY;
              bitField0_ = (bitField0_ & ~0x00000002);
              onChanged();
              return this;
            }
            /**
             * <code>repeated string startupURLs = 2;</code>
             */
            public Builder addStartupURLsBytes(
                com.google.gwt.dev.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  ensureStartupURLsIsMutable();
              startupURLs_.add(value);
              onChanged();
              return this;
            }

            // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize)
          }

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

          // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize)
        }

        private int bitField0_;
        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType requestType = 1;
        public static final int REQUESTTYPE_FIELD_NUMBER = 1;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType requestType_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType requestType = 1;</code>
         */
        public boolean hasRequestType() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType requestType = 1;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType getRequestType() {
          return requestType_;
        }

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;
        public static final int CAPABILITYEXCHANGE_FIELD_NUMBER = 2;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;</code>
         */
        public boolean hasCapabilityExchange() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange getCapabilityExchange() {
          return capabilityExchange_;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder() {
          return capabilityExchange_;
        }

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;
        public static final int ADDLOG_FIELD_NUMBER = 3;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog addLog_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;</code>
         */
        public boolean hasAddLog() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog getAddLog() {
          return addLog_;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogOrBuilder getAddLogOrBuilder() {
          return addLog_;
        }

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;
        public static final int ADDLOGBRANCH_FIELD_NUMBER = 4;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch addLogBranch_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;</code>
         */
        public boolean hasAddLogBranch() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch getAddLogBranch() {
          return addLogBranch_;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranchOrBuilder getAddLogBranchOrBuilder() {
          return addLogBranch_;
        }

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;
        public static final int ADDLOGENTRY_FIELD_NUMBER = 5;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry addLogEntry_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;</code>
         */
        public boolean hasAddLogEntry() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry getAddLogEntry() {
          return addLogEntry_;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntryOrBuilder getAddLogEntryOrBuilder() {
          return addLogEntry_;
        }

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;
        public static final int DISCONNECTLOG_FIELD_NUMBER = 6;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog disconnectLog_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;</code>
         */
        public boolean hasDisconnectLog() {
          return ((bitField0_ & 0x00000020) == 0x00000020);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog getDisconnectLog() {
          return disconnectLog_;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLogOrBuilder getDisconnectLogOrBuilder() {
          return disconnectLog_;
        }

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;
        public static final int INITIALIZE_FIELD_NUMBER = 7;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize initialize_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;</code>
         */
        public boolean hasInitialize() {
          return ((bitField0_ & 0x00000040) == 0x00000040);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize getInitialize() {
          return initialize_;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.InitializeOrBuilder getInitializeOrBuilder() {
          return initialize_;
        }

        private void initFields() {
          requestType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.CAPABILITY_EXCHANGE;
          capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.getDefaultInstance();
          addLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.getDefaultInstance();
          addLogBranch_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.getDefaultInstance();
          addLogEntry_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.getDefaultInstance();
          disconnectLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.getDefaultInstance();
          initialize_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.getDefaultInstance();
        }
        private byte memoizedIsInitialized = -1;
        public final boolean isInitialized() {
          byte isInitialized = memoizedIsInitialized;
          if (isInitialized != -1) return isInitialized == 1;

          if (hasAddLog()) {
            if (!getAddLog().isInitialized()) {
              memoizedIsInitialized = 0;
              return false;
            }
          }
          if (hasAddLogBranch()) {
            if (!getAddLogBranch().isInitialized()) {
              memoizedIsInitialized = 0;
              return false;
            }
          }
          if (hasAddLogEntry()) {
            if (!getAddLogEntry().isInitialized()) {
              memoizedIsInitialized = 0;
              return false;
            }
          }
          if (hasDisconnectLog()) {
            if (!getDisconnectLog().isInitialized()) {
              memoizedIsInitialized = 0;
              return false;
            }
          }
          memoizedIsInitialized = 1;
          return true;
        }

        public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
                            throws java.io.IOException {
          getSerializedSize();
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            output.writeEnum(1, requestType_.getNumber());
          }
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            output.writeMessage(2, capabilityExchange_);
          }
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            output.writeMessage(3, addLog_);
          }
          if (((bitField0_ & 0x00000008) == 0x00000008)) {
            output.writeMessage(4, addLogBranch_);
          }
          if (((bitField0_ & 0x00000010) == 0x00000010)) {
            output.writeMessage(5, addLogEntry_);
          }
          if (((bitField0_ & 0x00000020) == 0x00000020)) {
            output.writeMessage(6, disconnectLog_);
          }
          if (((bitField0_ & 0x00000040) == 0x00000040)) {
            output.writeMessage(7, initialize_);
          }
          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.gwt.dev.protobuf.CodedOutputStream
              .computeEnumSize(1, requestType_.getNumber());
          }
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            size += com.google.gwt.dev.protobuf.CodedOutputStream
              .computeMessageSize(2, capabilityExchange_);
          }
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            size += com.google.gwt.dev.protobuf.CodedOutputStream
              .computeMessageSize(3, addLog_);
          }
          if (((bitField0_ & 0x00000008) == 0x00000008)) {
            size += com.google.gwt.dev.protobuf.CodedOutputStream
              .computeMessageSize(4, addLogBranch_);
          }
          if (((bitField0_ & 0x00000010) == 0x00000010)) {
            size += com.google.gwt.dev.protobuf.CodedOutputStream
              .computeMessageSize(5, addLogEntry_);
          }
          if (((bitField0_ & 0x00000020) == 0x00000020)) {
            size += com.google.gwt.dev.protobuf.CodedOutputStream
              .computeMessageSize(6, disconnectLog_);
          }
          if (((bitField0_ & 0x00000040) == 0x00000040)) {
            size += com.google.gwt.dev.protobuf.CodedOutputStream
              .computeMessageSize(7, initialize_);
          }
          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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest parseFrom(
            com.google.gwt.dev.protobuf.ByteString data)
            throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest parseFrom(
            com.google.gwt.dev.protobuf.ByteString data,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest parseFrom(byte[] data)
            throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest parseFrom(
            byte[] data,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return PARSER.parseFrom(input);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest parseFrom(
            java.io.InputStream input,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return PARSER.parseFrom(input, extensionRegistry);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return PARSER.parseDelimitedFrom(input);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest parseDelimitedFrom(
            java.io.InputStream input,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return PARSER.parseDelimitedFrom(input, extensionRegistry);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest parseFrom(
            com.google.gwt.dev.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return PARSER.parseFrom(input);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest parseFrom(
            com.google.gwt.dev.protobuf.CodedInputStream input,
            com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest prototype) {
          return newBuilder().mergeFrom(prototype);
        }
        public Builder toBuilder() { return newBuilder(this); }

        @java.lang.Override
        protected Builder newBuilderForType(
            com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        /**
         * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest}
         *
         * <pre>
         * The root type for all requests for the ViewerService
         * </pre>
         */
        public static final class Builder extends
            com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
           implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequestOrBuilder {
          public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor;
          }

          protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Builder.class);
          }

          // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }

          private Builder(
              com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
            super(parent);
            maybeForceBuilderInitialization();
          }
          private void maybeForceBuilderInitialization() {
            if (com.google.gwt.dev.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
              getCapabilityExchangeFieldBuilder();
              getAddLogFieldBuilder();
              getAddLogBranchFieldBuilder();
              getAddLogEntryFieldBuilder();
              getDisconnectLogFieldBuilder();
              getInitializeFieldBuilder();
            }
          }
          private static Builder create() {
            return new Builder();
          }

          public Builder clear() {
            super.clear();
            requestType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.CAPABILITY_EXCHANGE;
            bitField0_ = (bitField0_ & ~0x00000001);
            if (capabilityExchangeBuilder_ == null) {
              capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.getDefaultInstance();
            } else {
              capabilityExchangeBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000002);
            if (addLogBuilder_ == null) {
              addLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.getDefaultInstance();
            } else {
              addLogBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000004);
            if (addLogBranchBuilder_ == null) {
              addLogBranch_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.getDefaultInstance();
            } else {
              addLogBranchBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000008);
            if (addLogEntryBuilder_ == null) {
              addLogEntry_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.getDefaultInstance();
            } else {
              addLogEntryBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000010);
            if (disconnectLogBuilder_ == null) {
              disconnectLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.getDefaultInstance();
            } else {
              disconnectLogBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000020);
            if (initializeBuilder_ == null) {
              initialize_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.getDefaultInstance();
            } else {
              initializeBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000040);
            return this;
          }

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

          public com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptorForType() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor;
          }

          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest getDefaultInstanceForType() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.getDefaultInstance();
          }

          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest build() {
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }

          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest buildPartial() {
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest(this);
            int from_bitField0_ = bitField0_;
            int to_bitField0_ = 0;
            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
              to_bitField0_ |= 0x00000001;
            }
            result.requestType_ = requestType_;
            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
              to_bitField0_ |= 0x00000002;
            }
            if (capabilityExchangeBuilder_ == null) {
              result.capabilityExchange_ = capabilityExchange_;
            } else {
              result.capabilityExchange_ = capabilityExchangeBuilder_.build();
            }
            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
              to_bitField0_ |= 0x00000004;
            }
            if (addLogBuilder_ == null) {
              result.addLog_ = addLog_;
            } else {
              result.addLog_ = addLogBuilder_.build();
            }
            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
              to_bitField0_ |= 0x00000008;
            }
            if (addLogBranchBuilder_ == null) {
              result.addLogBranch_ = addLogBranch_;
            } else {
              result.addLogBranch_ = addLogBranchBuilder_.build();
            }
            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
              to_bitField0_ |= 0x00000010;
            }
            if (addLogEntryBuilder_ == null) {
              result.addLogEntry_ = addLogEntry_;
            } else {
              result.addLogEntry_ = addLogEntryBuilder_.build();
            }
            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
              to_bitField0_ |= 0x00000020;
            }
            if (disconnectLogBuilder_ == null) {
              result.disconnectLog_ = disconnectLog_;
            } else {
              result.disconnectLog_ = disconnectLogBuilder_.build();
            }
            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
              to_bitField0_ |= 0x00000040;
            }
            if (initializeBuilder_ == null) {
              result.initialize_ = initialize_;
            } else {
              result.initialize_ = initializeBuilder_.build();
            }
            result.bitField0_ = to_bitField0_;
            onBuilt();
            return result;
          }

          public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
            if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest) {
              return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }

          public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest other) {
            if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.getDefaultInstance()) return this;
            if (other.hasRequestType()) {
              setRequestType(other.getRequestType());
            }
            if (other.hasCapabilityExchange()) {
              mergeCapabilityExchange(other.getCapabilityExchange());
            }
            if (other.hasAddLog()) {
              mergeAddLog(other.getAddLog());
            }
            if (other.hasAddLogBranch()) {
              mergeAddLogBranch(other.getAddLogBranch());
            }
            if (other.hasAddLogEntry()) {
              mergeAddLogEntry(other.getAddLogEntry());
            }
            if (other.hasDisconnectLog()) {
              mergeDisconnectLog(other.getDisconnectLog());
            }
            if (other.hasInitialize()) {
              mergeInitialize(other.getInitialize());
            }
            this.mergeUnknownFields(other.getUnknownFields());
            return this;
          }

          public final boolean isInitialized() {
            if (hasAddLog()) {
              if (!getAddLog().isInitialized()) {

                return false;
              }
            }
            if (hasAddLogBranch()) {
              if (!getAddLogBranch().isInitialized()) {

                return false;
              }
            }
            if (hasAddLogEntry()) {
              if (!getAddLogEntry().isInitialized()) {

                return false;
              }
            }
            if (hasDisconnectLog()) {
              if (!getDisconnectLog().isInitialized()) {

                return false;
              }
            }
            return true;
          }

          public Builder mergeFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest parsedMessage = null;
            try {
              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
            } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
              parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest) e.getUnfinishedMessage();
              throw e;
            } finally {
              if (parsedMessage != null) {
                mergeFrom(parsedMessage);
              }
            }
            return this;
          }
          private int bitField0_;

          // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType requestType = 1;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType requestType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.CAPABILITY_EXCHANGE;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType requestType = 1;</code>
           */
          public boolean hasRequestType() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType requestType = 1;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType getRequestType() {
            return requestType_;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType requestType = 1;</code>
           */
          public Builder setRequestType(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType value) {
            if (value == null) {
              throw new NullPointerException();
            }
            bitField0_ |= 0x00000001;
            requestType_ = value;
            onChanged();
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType requestType = 1;</code>
           */
          public Builder clearRequestType() {
            bitField0_ = (bitField0_ & ~0x00000001);
            requestType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.CAPABILITY_EXCHANGE;
            onChanged();
            return this;
          }

          // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.getDefaultInstance();
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchangeOrBuilder> capabilityExchangeBuilder_;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;</code>
           */
          public boolean hasCapabilityExchange() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange getCapabilityExchange() {
            if (capabilityExchangeBuilder_ == null) {
              return capabilityExchange_;
            } else {
              return capabilityExchangeBuilder_.getMessage();
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;</code>
           */
          public Builder setCapabilityExchange(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange value) {
            if (capabilityExchangeBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              capabilityExchange_ = value;
              onChanged();
            } else {
              capabilityExchangeBuilder_.setMessage(value);
            }
            bitField0_ |= 0x00000002;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;</code>
           */
          public Builder setCapabilityExchange(
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.Builder builderForValue) {
            if (capabilityExchangeBuilder_ == null) {
              capabilityExchange_ = builderForValue.build();
              onChanged();
            } else {
              capabilityExchangeBuilder_.setMessage(builderForValue.build());
            }
            bitField0_ |= 0x00000002;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;</code>
           */
          public Builder mergeCapabilityExchange(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange value) {
            if (capabilityExchangeBuilder_ == null) {
              if (((bitField0_ & 0x00000002) == 0x00000002) &&
                  capabilityExchange_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.getDefaultInstance()) {
                capabilityExchange_ =
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.newBuilder(capabilityExchange_).mergeFrom(value).buildPartial();
              } else {
                capabilityExchange_ = value;
              }
              onChanged();
            } else {
              capabilityExchangeBuilder_.mergeFrom(value);
            }
            bitField0_ |= 0x00000002;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;</code>
           */
          public Builder clearCapabilityExchange() {
            if (capabilityExchangeBuilder_ == null) {
              capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.getDefaultInstance();
              onChanged();
            } else {
              capabilityExchangeBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000002);
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.Builder getCapabilityExchangeBuilder() {
            bitField0_ |= 0x00000002;
            onChanged();
            return getCapabilityExchangeFieldBuilder().getBuilder();
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder() {
            if (capabilityExchangeBuilder_ != null) {
              return capabilityExchangeBuilder_.getMessageOrBuilder();
            } else {
              return capabilityExchange_;
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.CapabilityExchange capabilityExchange = 2;</code>
           */
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchangeOrBuilder>
              getCapabilityExchangeFieldBuilder() {
            if (capabilityExchangeBuilder_ == null) {
              capabilityExchangeBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.CapabilityExchangeOrBuilder>(
                      capabilityExchange_,
                      getParentForChildren(),
                      isClean());
              capabilityExchange_ = null;
            }
            return capabilityExchangeBuilder_;
          }

          // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog addLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.getDefaultInstance();
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogOrBuilder> addLogBuilder_;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;</code>
           */
          public boolean hasAddLog() {
            return ((bitField0_ & 0x00000004) == 0x00000004);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog getAddLog() {
            if (addLogBuilder_ == null) {
              return addLog_;
            } else {
              return addLogBuilder_.getMessage();
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;</code>
           */
          public Builder setAddLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog value) {
            if (addLogBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              addLog_ = value;
              onChanged();
            } else {
              addLogBuilder_.setMessage(value);
            }
            bitField0_ |= 0x00000004;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;</code>
           */
          public Builder setAddLog(
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.Builder builderForValue) {
            if (addLogBuilder_ == null) {
              addLog_ = builderForValue.build();
              onChanged();
            } else {
              addLogBuilder_.setMessage(builderForValue.build());
            }
            bitField0_ |= 0x00000004;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;</code>
           */
          public Builder mergeAddLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog value) {
            if (addLogBuilder_ == null) {
              if (((bitField0_ & 0x00000004) == 0x00000004) &&
                  addLog_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.getDefaultInstance()) {
                addLog_ =
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.newBuilder(addLog_).mergeFrom(value).buildPartial();
              } else {
                addLog_ = value;
              }
              onChanged();
            } else {
              addLogBuilder_.mergeFrom(value);
            }
            bitField0_ |= 0x00000004;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;</code>
           */
          public Builder clearAddLog() {
            if (addLogBuilder_ == null) {
              addLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.getDefaultInstance();
              onChanged();
            } else {
              addLogBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000004);
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.Builder getAddLogBuilder() {
            bitField0_ |= 0x00000004;
            onChanged();
            return getAddLogFieldBuilder().getBuilder();
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogOrBuilder getAddLogOrBuilder() {
            if (addLogBuilder_ != null) {
              return addLogBuilder_.getMessageOrBuilder();
            } else {
              return addLog_;
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLog addLog = 3;</code>
           */
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogOrBuilder>
              getAddLogFieldBuilder() {
            if (addLogBuilder_ == null) {
              addLogBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogOrBuilder>(
                      addLog_,
                      getParentForChildren(),
                      isClean());
              addLog_ = null;
            }
            return addLogBuilder_;
          }

          // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch addLogBranch_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.getDefaultInstance();
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranchOrBuilder> addLogBranchBuilder_;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;</code>
           */
          public boolean hasAddLogBranch() {
            return ((bitField0_ & 0x00000008) == 0x00000008);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch getAddLogBranch() {
            if (addLogBranchBuilder_ == null) {
              return addLogBranch_;
            } else {
              return addLogBranchBuilder_.getMessage();
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;</code>
           */
          public Builder setAddLogBranch(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch value) {
            if (addLogBranchBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              addLogBranch_ = value;
              onChanged();
            } else {
              addLogBranchBuilder_.setMessage(value);
            }
            bitField0_ |= 0x00000008;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;</code>
           */
          public Builder setAddLogBranch(
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.Builder builderForValue) {
            if (addLogBranchBuilder_ == null) {
              addLogBranch_ = builderForValue.build();
              onChanged();
            } else {
              addLogBranchBuilder_.setMessage(builderForValue.build());
            }
            bitField0_ |= 0x00000008;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;</code>
           */
          public Builder mergeAddLogBranch(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch value) {
            if (addLogBranchBuilder_ == null) {
              if (((bitField0_ & 0x00000008) == 0x00000008) &&
                  addLogBranch_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.getDefaultInstance()) {
                addLogBranch_ =
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.newBuilder(addLogBranch_).mergeFrom(value).buildPartial();
              } else {
                addLogBranch_ = value;
              }
              onChanged();
            } else {
              addLogBranchBuilder_.mergeFrom(value);
            }
            bitField0_ |= 0x00000008;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;</code>
           */
          public Builder clearAddLogBranch() {
            if (addLogBranchBuilder_ == null) {
              addLogBranch_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.getDefaultInstance();
              onChanged();
            } else {
              addLogBranchBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000008);
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.Builder getAddLogBranchBuilder() {
            bitField0_ |= 0x00000008;
            onChanged();
            return getAddLogBranchFieldBuilder().getBuilder();
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranchOrBuilder getAddLogBranchOrBuilder() {
            if (addLogBranchBuilder_ != null) {
              return addLogBranchBuilder_.getMessageOrBuilder();
            } else {
              return addLogBranch_;
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogBranch addLogBranch = 4;</code>
           */
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranchOrBuilder>
              getAddLogBranchFieldBuilder() {
            if (addLogBranchBuilder_ == null) {
              addLogBranchBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranch.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogBranchOrBuilder>(
                      addLogBranch_,
                      getParentForChildren(),
                      isClean());
              addLogBranch_ = null;
            }
            return addLogBranchBuilder_;
          }

          // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry addLogEntry_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.getDefaultInstance();
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntryOrBuilder> addLogEntryBuilder_;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;</code>
           */
          public boolean hasAddLogEntry() {
            return ((bitField0_ & 0x00000010) == 0x00000010);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry getAddLogEntry() {
            if (addLogEntryBuilder_ == null) {
              return addLogEntry_;
            } else {
              return addLogEntryBuilder_.getMessage();
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;</code>
           */
          public Builder setAddLogEntry(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry value) {
            if (addLogEntryBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              addLogEntry_ = value;
              onChanged();
            } else {
              addLogEntryBuilder_.setMessage(value);
            }
            bitField0_ |= 0x00000010;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;</code>
           */
          public Builder setAddLogEntry(
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.Builder builderForValue) {
            if (addLogEntryBuilder_ == null) {
              addLogEntry_ = builderForValue.build();
              onChanged();
            } else {
              addLogEntryBuilder_.setMessage(builderForValue.build());
            }
            bitField0_ |= 0x00000010;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;</code>
           */
          public Builder mergeAddLogEntry(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry value) {
            if (addLogEntryBuilder_ == null) {
              if (((bitField0_ & 0x00000010) == 0x00000010) &&
                  addLogEntry_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.getDefaultInstance()) {
                addLogEntry_ =
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.newBuilder(addLogEntry_).mergeFrom(value).buildPartial();
              } else {
                addLogEntry_ = value;
              }
              onChanged();
            } else {
              addLogEntryBuilder_.mergeFrom(value);
            }
            bitField0_ |= 0x00000010;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;</code>
           */
          public Builder clearAddLogEntry() {
            if (addLogEntryBuilder_ == null) {
              addLogEntry_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.getDefaultInstance();
              onChanged();
            } else {
              addLogEntryBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000010);
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.Builder getAddLogEntryBuilder() {
            bitField0_ |= 0x00000010;
            onChanged();
            return getAddLogEntryFieldBuilder().getBuilder();
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntryOrBuilder getAddLogEntryOrBuilder() {
            if (addLogEntryBuilder_ != null) {
              return addLogEntryBuilder_.getMessageOrBuilder();
            } else {
              return addLogEntry_;
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.AddLogEntry addLogEntry = 5;</code>
           */
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntryOrBuilder>
              getAddLogEntryFieldBuilder() {
            if (addLogEntryBuilder_ == null) {
              addLogEntryBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntry.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.AddLogEntryOrBuilder>(
                      addLogEntry_,
                      getParentForChildren(),
                      isClean());
              addLogEntry_ = null;
            }
            return addLogEntryBuilder_;
          }

          // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog disconnectLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.getDefaultInstance();
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLogOrBuilder> disconnectLogBuilder_;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;</code>
           */
          public boolean hasDisconnectLog() {
            return ((bitField0_ & 0x00000020) == 0x00000020);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog getDisconnectLog() {
            if (disconnectLogBuilder_ == null) {
              return disconnectLog_;
            } else {
              return disconnectLogBuilder_.getMessage();
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;</code>
           */
          public Builder setDisconnectLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog value) {
            if (disconnectLogBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              disconnectLog_ = value;
              onChanged();
            } else {
              disconnectLogBuilder_.setMessage(value);
            }
            bitField0_ |= 0x00000020;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;</code>
           */
          public Builder setDisconnectLog(
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.Builder builderForValue) {
            if (disconnectLogBuilder_ == null) {
              disconnectLog_ = builderForValue.build();
              onChanged();
            } else {
              disconnectLogBuilder_.setMessage(builderForValue.build());
            }
            bitField0_ |= 0x00000020;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;</code>
           */
          public Builder mergeDisconnectLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog value) {
            if (disconnectLogBuilder_ == null) {
              if (((bitField0_ & 0x00000020) == 0x00000020) &&
                  disconnectLog_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.getDefaultInstance()) {
                disconnectLog_ =
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.newBuilder(disconnectLog_).mergeFrom(value).buildPartial();
              } else {
                disconnectLog_ = value;
              }
              onChanged();
            } else {
              disconnectLogBuilder_.mergeFrom(value);
            }
            bitField0_ |= 0x00000020;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;</code>
           */
          public Builder clearDisconnectLog() {
            if (disconnectLogBuilder_ == null) {
              disconnectLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.getDefaultInstance();
              onChanged();
            } else {
              disconnectLogBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000020);
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.Builder getDisconnectLogBuilder() {
            bitField0_ |= 0x00000020;
            onChanged();
            return getDisconnectLogFieldBuilder().getBuilder();
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLogOrBuilder getDisconnectLogOrBuilder() {
            if (disconnectLogBuilder_ != null) {
              return disconnectLogBuilder_.getMessageOrBuilder();
            } else {
              return disconnectLog_;
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.DisconnectLog disconnectLog = 6;</code>
           */
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLogOrBuilder>
              getDisconnectLogFieldBuilder() {
            if (disconnectLogBuilder_ == null) {
              disconnectLogBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.DisconnectLogOrBuilder>(
                      disconnectLog_,
                      getParentForChildren(),
                      isClean());
              disconnectLog_ = null;
            }
            return disconnectLogBuilder_;
          }

          // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize initialize_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.getDefaultInstance();
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.InitializeOrBuilder> initializeBuilder_;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;</code>
           */
          public boolean hasInitialize() {
            return ((bitField0_ & 0x00000040) == 0x00000040);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize getInitialize() {
            if (initializeBuilder_ == null) {
              return initialize_;
            } else {
              return initializeBuilder_.getMessage();
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;</code>
           */
          public Builder setInitialize(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize value) {
            if (initializeBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              initialize_ = value;
              onChanged();
            } else {
              initializeBuilder_.setMessage(value);
            }
            bitField0_ |= 0x00000040;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;</code>
           */
          public Builder setInitialize(
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.Builder builderForValue) {
            if (initializeBuilder_ == null) {
              initialize_ = builderForValue.build();
              onChanged();
            } else {
              initializeBuilder_.setMessage(builderForValue.build());
            }
            bitField0_ |= 0x00000040;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;</code>
           */
          public Builder mergeInitialize(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize value) {
            if (initializeBuilder_ == null) {
              if (((bitField0_ & 0x00000040) == 0x00000040) &&
                  initialize_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.getDefaultInstance()) {
                initialize_ =
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.newBuilder(initialize_).mergeFrom(value).buildPartial();
              } else {
                initialize_ = value;
              }
              onChanged();
            } else {
              initializeBuilder_.mergeFrom(value);
            }
            bitField0_ |= 0x00000040;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;</code>
           */
          public Builder clearInitialize() {
            if (initializeBuilder_ == null) {
              initialize_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.getDefaultInstance();
              onChanged();
            } else {
              initializeBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000040);
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.Builder getInitializeBuilder() {
            bitField0_ |= 0x00000040;
            onChanged();
            return getInitializeFieldBuilder().getBuilder();
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.InitializeOrBuilder getInitializeOrBuilder() {
            if (initializeBuilder_ != null) {
              return initializeBuilder_.getMessageOrBuilder();
            } else {
              return initialize_;
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.Initialize initialize = 7;</code>
           */
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.InitializeOrBuilder>
              getInitializeFieldBuilder() {
            if (initializeBuilder_ == null) {
              initializeBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Initialize.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.InitializeOrBuilder>(
                      initialize_,
                      getParentForChildren(),
                      isClean());
              initialize_ = null;
            }
            return initializeBuilder_;
          }

          // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest)
        }

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

        // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest)
      }

      public interface DevModeRequestOrBuilder
          extends com.google.gwt.dev.protobuf.MessageOrBuilder {

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType requestType = 1;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType requestType = 1;</code>
         */
        boolean hasRequestType();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType requestType = 1;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType getRequestType();

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;</code>
         */
        boolean hasCapabilityExchange();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange getCapabilityExchange();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder();

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;</code>
         */
        boolean hasRestartWebServer();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer getRestartWebServer();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServerOrBuilder getRestartWebServerOrBuilder();
      }
      /**
       * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest}
       *
       * <pre>
       * The root type for all requests for the DevModeService
       * </pre>
       */
      public static final class DevModeRequest extends
          com.google.gwt.dev.protobuf.GeneratedMessage
          implements DevModeRequestOrBuilder {
        // Use DevModeRequest.newBuilder() to construct.
        private DevModeRequest(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
          super(builder);
          this.unknownFields = builder.getUnknownFields();
        }
        private DevModeRequest(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

        public DevModeRequest getDefaultInstanceForType() {
          return defaultInstance;
        }

        private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
        @java.lang.Override
        public final com.google.gwt.dev.protobuf.UnknownFieldSet
            getUnknownFields() {
          return this.unknownFields;
        }
        private DevModeRequest(
            com.google.gwt.dev.protobuf.CodedInputStream input,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
          initFields();
          int mutable_bitField0_ = 0;
          com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
              com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder();
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                default: {
                  if (!parseUnknownField(input, unknownFields,
                                         extensionRegistry, tag)) {
                    done = true;
                  }
                  break;
                }
                case 8: {
                  int rawValue = input.readEnum();
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType value = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.valueOf(rawValue);
                  if (value == null) {
                    unknownFields.mergeVarintField(1, rawValue);
                  } else {
                    bitField0_ |= 0x00000001;
                    requestType_ = value;
                  }
                  break;
                }
                case 18: {
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.Builder subBuilder = null;
                  if (((bitField0_ & 0x00000002) == 0x00000002)) {
                    subBuilder = capabilityExchange_.toBuilder();
                  }
                  capabilityExchange_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.PARSER, extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(capabilityExchange_);
                    capabilityExchange_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000002;
                  break;
                }
                case 26: {
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.Builder subBuilder = null;
                  if (((bitField0_ & 0x00000004) == 0x00000004)) {
                    subBuilder = restartWebServer_.toBuilder();
                  }
                  restartWebServer_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.PARSER, extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(restartWebServer_);
                    restartWebServer_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000004;
                  break;
                }
              }
            }
          } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(this);
          } catch (java.io.IOException e) {
            throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                e.getMessage()).setUnfinishedMessage(this);
          } finally {
            this.unknownFields = unknownFields.build();
            makeExtensionsImmutable();
          }
        }
        public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_descriptor;
        }

        protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.Builder.class);
        }

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

        @java.lang.Override
        public com.google.gwt.dev.protobuf.Parser<DevModeRequest> getParserForType() {
          return PARSER;
        }

        /**
         * Protobuf enum {@code com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType}
         *
         * <pre>
         * The different types of requests for the DevModeService
         * </pre>
         */
        public enum RequestType
            implements com.google.gwt.dev.protobuf.ProtocolMessageEnum {
          /**
           * <code>CAPABILITY_EXCHANGE = 0;</code>
           */
          CAPABILITY_EXCHANGE(0, 0),
          /**
           * <code>RESTART_WEB_SERVER = 1;</code>
           */
          RESTART_WEB_SERVER(1, 1),
          ;

          /**
           * <code>CAPABILITY_EXCHANGE = 0;</code>
           */
          public static final int CAPABILITY_EXCHANGE_VALUE = 0;
          /**
           * <code>RESTART_WEB_SERVER = 1;</code>
           */
          public static final int RESTART_WEB_SERVER_VALUE = 1;


          public final int getNumber() { return value; }

          public static RequestType valueOf(int value) {
            switch (value) {
              case 0: return CAPABILITY_EXCHANGE;
              case 1: return RESTART_WEB_SERVER;
              default: return null;
            }
          }

          public static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<RequestType>
              internalGetValueMap() {
            return internalValueMap;
          }
          private static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<RequestType>
              internalValueMap =
                new com.google.gwt.dev.protobuf.Internal.EnumLiteMap<RequestType>() {
                  public RequestType findValueByNumber(int number) {
                    return RequestType.valueOf(number);
                  }
                };

          public final com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor
              getValueDescriptor() {
            return getDescriptor().getValues().get(index);
          }
          public final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
              getDescriptorForType() {
            return getDescriptor();
          }
          public static final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.getDescriptor().getEnumTypes().get(0);
          }

          private static final RequestType[] VALUES = values();

          public static RequestType valueOf(
              com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor desc) {
            if (desc.getType() != getDescriptor()) {
              throw new java.lang.IllegalArgumentException(
                "EnumValueDescriptor is not for this type.");
            }
            return VALUES[desc.getIndex()];
          }

          private final int index;
          private final int value;

          private RequestType(int index, int value) {
            this.index = index;
            this.value = value;
          }

          // @@protoc_insertion_point(enum_scope:com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType)
        }

        public interface CapabilityExchangeOrBuilder
            extends com.google.gwt.dev.protobuf.MessageOrBuilder {
        }
        /**
         * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange}
         *
         * <pre>
         * Request the capabilities of the DevModeService. No additional
         * information is needed at this time.
         * </pre>
         */
        public static final class CapabilityExchange extends
            com.google.gwt.dev.protobuf.GeneratedMessage
            implements CapabilityExchangeOrBuilder {
          // Use CapabilityExchange.newBuilder() to construct.
          private CapabilityExchange(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.unknownFields = builder.getUnknownFields();
          }
          private CapabilityExchange(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

          public CapabilityExchange getDefaultInstanceForType() {
            return defaultInstance;
          }

          private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
          @java.lang.Override
          public final com.google.gwt.dev.protobuf.UnknownFieldSet
              getUnknownFields() {
            return this.unknownFields;
          }
          private CapabilityExchange(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            initFields();
            com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
                com.google.gwt.dev.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.gwt.dev.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
              throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                  e.getMessage()).setUnfinishedMessage(this);
            } finally {
              this.unknownFields = unknownFields.build();
              makeExtensionsImmutable();
            }
          }
          public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_CapabilityExchange_descriptor;
          }

          protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_CapabilityExchange_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.Builder.class);
          }

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

          @java.lang.Override
          public com.google.gwt.dev.protobuf.Parser<CapabilityExchange> 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.gwt.dev.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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange parseFrom(
              com.google.gwt.dev.protobuf.ByteString data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange parseFrom(
              com.google.gwt.dev.protobuf.ByteString data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange parseFrom(byte[] data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange parseFrom(
              byte[] data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange parseFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange parseFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange parseDelimitedFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange parseDelimitedFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange prototype) {
            return newBuilder().mergeFrom(prototype);
          }
          public Builder toBuilder() { return newBuilder(this); }

          @java.lang.Override
          protected Builder newBuilderForType(
              com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
          }
          /**
           * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange}
           *
           * <pre>
           * Request the capabilities of the DevModeService. No additional
           * information is needed at this time.
           * </pre>
           */
          public static final class Builder extends
              com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
             implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchangeOrBuilder {
            public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_CapabilityExchange_descriptor;
            }

            protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_CapabilityExchange_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.Builder.class);
            }

            // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.newBuilder()
            private Builder() {
              maybeForceBuilderInitialization();
            }

            private Builder(
                com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
              super(parent);
              maybeForceBuilderInitialization();
            }
            private void maybeForceBuilderInitialization() {
              if (com.google.gwt.dev.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.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptorForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_CapabilityExchange_descriptor;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange getDefaultInstanceForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.getDefaultInstance();
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange build() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange result = buildPartial();
              if (!result.isInitialized()) {
                throw newUninitializedMessageException(result);
              }
              return result;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange buildPartial() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange(this);
              onBuilt();
              return result;
            }

            public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
              if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange) {
                return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange)other);
              } else {
                super.mergeFrom(other);
                return this;
              }
            }

            public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange other) {
              if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.getDefaultInstance()) return this;
              this.mergeUnknownFields(other.getUnknownFields());
              return this;
            }

            public final boolean isInitialized() {
              return true;
            }

            public Builder mergeFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange parsedMessage = null;
              try {
                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
              } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange) e.getUnfinishedMessage();
                throw e;
              } finally {
                if (parsedMessage != null) {
                  mergeFrom(parsedMessage);
                }
              }
              return this;
            }

            // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange)
          }

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

          // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange)
        }

        public interface RestartWebServerOrBuilder
            extends com.google.gwt.dev.protobuf.MessageOrBuilder {
        }
        /**
         * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer}
         *
         * <pre>
         * Restart the web server. No additional information is needed at this time.
         * </pre>
         */
        public static final class RestartWebServer extends
            com.google.gwt.dev.protobuf.GeneratedMessage
            implements RestartWebServerOrBuilder {
          // Use RestartWebServer.newBuilder() to construct.
          private RestartWebServer(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.unknownFields = builder.getUnknownFields();
          }
          private RestartWebServer(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

          public RestartWebServer getDefaultInstanceForType() {
            return defaultInstance;
          }

          private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
          @java.lang.Override
          public final com.google.gwt.dev.protobuf.UnknownFieldSet
              getUnknownFields() {
            return this.unknownFields;
          }
          private RestartWebServer(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            initFields();
            com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
                com.google.gwt.dev.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.gwt.dev.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
              throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                  e.getMessage()).setUnfinishedMessage(this);
            } finally {
              this.unknownFields = unknownFields.build();
              makeExtensionsImmutable();
            }
          }
          public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_RestartWebServer_descriptor;
          }

          protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_RestartWebServer_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.Builder.class);
          }

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

          @java.lang.Override
          public com.google.gwt.dev.protobuf.Parser<RestartWebServer> 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.gwt.dev.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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer parseFrom(
              com.google.gwt.dev.protobuf.ByteString data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer parseFrom(
              com.google.gwt.dev.protobuf.ByteString data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer parseFrom(byte[] data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer parseFrom(
              byte[] data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer parseFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer parseFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer parseDelimitedFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer parseDelimitedFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer prototype) {
            return newBuilder().mergeFrom(prototype);
          }
          public Builder toBuilder() { return newBuilder(this); }

          @java.lang.Override
          protected Builder newBuilderForType(
              com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
          }
          /**
           * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer}
           *
           * <pre>
           * Restart the web server. No additional information is needed at this time.
           * </pre>
           */
          public static final class Builder extends
              com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
             implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServerOrBuilder {
            public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_RestartWebServer_descriptor;
            }

            protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_RestartWebServer_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.Builder.class);
            }

            // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.newBuilder()
            private Builder() {
              maybeForceBuilderInitialization();
            }

            private Builder(
                com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
              super(parent);
              maybeForceBuilderInitialization();
            }
            private void maybeForceBuilderInitialization() {
              if (com.google.gwt.dev.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.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptorForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_RestartWebServer_descriptor;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer getDefaultInstanceForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.getDefaultInstance();
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer build() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer result = buildPartial();
              if (!result.isInitialized()) {
                throw newUninitializedMessageException(result);
              }
              return result;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer buildPartial() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer(this);
              onBuilt();
              return result;
            }

            public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
              if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer) {
                return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer)other);
              } else {
                super.mergeFrom(other);
                return this;
              }
            }

            public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer other) {
              if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.getDefaultInstance()) return this;
              this.mergeUnknownFields(other.getUnknownFields());
              return this;
            }

            public final boolean isInitialized() {
              return true;
            }

            public Builder mergeFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer parsedMessage = null;
              try {
                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
              } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer) e.getUnfinishedMessage();
                throw e;
              } finally {
                if (parsedMessage != null) {
                  mergeFrom(parsedMessage);
                }
              }
              return this;
            }

            // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer)
          }

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

          // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer)
        }

        private int bitField0_;
        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType requestType = 1;
        public static final int REQUESTTYPE_FIELD_NUMBER = 1;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType requestType_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType requestType = 1;</code>
         */
        public boolean hasRequestType() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType requestType = 1;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType getRequestType() {
          return requestType_;
        }

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;
        public static final int CAPABILITYEXCHANGE_FIELD_NUMBER = 2;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;</code>
         */
        public boolean hasCapabilityExchange() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange getCapabilityExchange() {
          return capabilityExchange_;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder() {
          return capabilityExchange_;
        }

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;
        public static final int RESTARTWEBSERVER_FIELD_NUMBER = 3;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer restartWebServer_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;</code>
         */
        public boolean hasRestartWebServer() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer getRestartWebServer() {
          return restartWebServer_;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServerOrBuilder getRestartWebServerOrBuilder() {
          return restartWebServer_;
        }

        private void initFields() {
          requestType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.CAPABILITY_EXCHANGE;
          capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.getDefaultInstance();
          restartWebServer_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.getDefaultInstance();
        }
        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.gwt.dev.protobuf.CodedOutputStream output)
                            throws java.io.IOException {
          getSerializedSize();
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            output.writeEnum(1, requestType_.getNumber());
          }
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            output.writeMessage(2, capabilityExchange_);
          }
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            output.writeMessage(3, restartWebServer_);
          }
          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.gwt.dev.protobuf.CodedOutputStream
              .computeEnumSize(1, requestType_.getNumber());
          }
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            size += com.google.gwt.dev.protobuf.CodedOutputStream
              .computeMessageSize(2, capabilityExchange_);
          }
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            size += com.google.gwt.dev.protobuf.CodedOutputStream
              .computeMessageSize(3, restartWebServer_);
          }
          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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest parseFrom(
            com.google.gwt.dev.protobuf.ByteString data)
            throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest parseFrom(
            com.google.gwt.dev.protobuf.ByteString data,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest parseFrom(byte[] data)
            throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest parseFrom(
            byte[] data,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return PARSER.parseFrom(input);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest parseFrom(
            java.io.InputStream input,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return PARSER.parseFrom(input, extensionRegistry);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return PARSER.parseDelimitedFrom(input);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest parseDelimitedFrom(
            java.io.InputStream input,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return PARSER.parseDelimitedFrom(input, extensionRegistry);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest parseFrom(
            com.google.gwt.dev.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return PARSER.parseFrom(input);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest parseFrom(
            com.google.gwt.dev.protobuf.CodedInputStream input,
            com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest prototype) {
          return newBuilder().mergeFrom(prototype);
        }
        public Builder toBuilder() { return newBuilder(this); }

        @java.lang.Override
        protected Builder newBuilderForType(
            com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        /**
         * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest}
         *
         * <pre>
         * The root type for all requests for the DevModeService
         * </pre>
         */
        public static final class Builder extends
            com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
           implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequestOrBuilder {
          public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_descriptor;
          }

          protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.Builder.class);
          }

          // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }

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

          public Builder clear() {
            super.clear();
            requestType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.CAPABILITY_EXCHANGE;
            bitField0_ = (bitField0_ & ~0x00000001);
            if (capabilityExchangeBuilder_ == null) {
              capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.getDefaultInstance();
            } else {
              capabilityExchangeBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000002);
            if (restartWebServerBuilder_ == null) {
              restartWebServer_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.getDefaultInstance();
            } else {
              restartWebServerBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000004);
            return this;
          }

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

          public com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptorForType() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_descriptor;
          }

          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest getDefaultInstanceForType() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.getDefaultInstance();
          }

          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest build() {
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }

          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest buildPartial() {
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest(this);
            int from_bitField0_ = bitField0_;
            int to_bitField0_ = 0;
            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
              to_bitField0_ |= 0x00000001;
            }
            result.requestType_ = requestType_;
            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
              to_bitField0_ |= 0x00000002;
            }
            if (capabilityExchangeBuilder_ == null) {
              result.capabilityExchange_ = capabilityExchange_;
            } else {
              result.capabilityExchange_ = capabilityExchangeBuilder_.build();
            }
            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
              to_bitField0_ |= 0x00000004;
            }
            if (restartWebServerBuilder_ == null) {
              result.restartWebServer_ = restartWebServer_;
            } else {
              result.restartWebServer_ = restartWebServerBuilder_.build();
            }
            result.bitField0_ = to_bitField0_;
            onBuilt();
            return result;
          }

          public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
            if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest) {
              return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }

          public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest other) {
            if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.getDefaultInstance()) return this;
            if (other.hasRequestType()) {
              setRequestType(other.getRequestType());
            }
            if (other.hasCapabilityExchange()) {
              mergeCapabilityExchange(other.getCapabilityExchange());
            }
            if (other.hasRestartWebServer()) {
              mergeRestartWebServer(other.getRestartWebServer());
            }
            this.mergeUnknownFields(other.getUnknownFields());
            return this;
          }

          public final boolean isInitialized() {
            return true;
          }

          public Builder mergeFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest parsedMessage = null;
            try {
              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
            } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
              parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest) e.getUnfinishedMessage();
              throw e;
            } finally {
              if (parsedMessage != null) {
                mergeFrom(parsedMessage);
              }
            }
            return this;
          }
          private int bitField0_;

          // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType requestType = 1;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType requestType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.CAPABILITY_EXCHANGE;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType requestType = 1;</code>
           */
          public boolean hasRequestType() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType requestType = 1;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType getRequestType() {
            return requestType_;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType requestType = 1;</code>
           */
          public Builder setRequestType(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType value) {
            if (value == null) {
              throw new NullPointerException();
            }
            bitField0_ |= 0x00000001;
            requestType_ = value;
            onChanged();
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType requestType = 1;</code>
           */
          public Builder clearRequestType() {
            bitField0_ = (bitField0_ & ~0x00000001);
            requestType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.CAPABILITY_EXCHANGE;
            onChanged();
            return this;
          }

          // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.getDefaultInstance();
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchangeOrBuilder> capabilityExchangeBuilder_;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;</code>
           */
          public boolean hasCapabilityExchange() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange getCapabilityExchange() {
            if (capabilityExchangeBuilder_ == null) {
              return capabilityExchange_;
            } else {
              return capabilityExchangeBuilder_.getMessage();
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;</code>
           */
          public Builder setCapabilityExchange(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange value) {
            if (capabilityExchangeBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              capabilityExchange_ = value;
              onChanged();
            } else {
              capabilityExchangeBuilder_.setMessage(value);
            }
            bitField0_ |= 0x00000002;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;</code>
           */
          public Builder setCapabilityExchange(
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.Builder builderForValue) {
            if (capabilityExchangeBuilder_ == null) {
              capabilityExchange_ = builderForValue.build();
              onChanged();
            } else {
              capabilityExchangeBuilder_.setMessage(builderForValue.build());
            }
            bitField0_ |= 0x00000002;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;</code>
           */
          public Builder mergeCapabilityExchange(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange value) {
            if (capabilityExchangeBuilder_ == null) {
              if (((bitField0_ & 0x00000002) == 0x00000002) &&
                  capabilityExchange_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.getDefaultInstance()) {
                capabilityExchange_ =
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.newBuilder(capabilityExchange_).mergeFrom(value).buildPartial();
              } else {
                capabilityExchange_ = value;
              }
              onChanged();
            } else {
              capabilityExchangeBuilder_.mergeFrom(value);
            }
            bitField0_ |= 0x00000002;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;</code>
           */
          public Builder clearCapabilityExchange() {
            if (capabilityExchangeBuilder_ == null) {
              capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.getDefaultInstance();
              onChanged();
            } else {
              capabilityExchangeBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000002);
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.Builder getCapabilityExchangeBuilder() {
            bitField0_ |= 0x00000002;
            onChanged();
            return getCapabilityExchangeFieldBuilder().getBuilder();
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder() {
            if (capabilityExchangeBuilder_ != null) {
              return capabilityExchangeBuilder_.getMessageOrBuilder();
            } else {
              return capabilityExchange_;
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.CapabilityExchange capabilityExchange = 2;</code>
           */
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchangeOrBuilder>
              getCapabilityExchangeFieldBuilder() {
            if (capabilityExchangeBuilder_ == null) {
              capabilityExchangeBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.CapabilityExchangeOrBuilder>(
                      capabilityExchange_,
                      getParentForChildren(),
                      isClean());
              capabilityExchange_ = null;
            }
            return capabilityExchangeBuilder_;
          }

          // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer restartWebServer_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.getDefaultInstance();
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServerOrBuilder> restartWebServerBuilder_;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;</code>
           */
          public boolean hasRestartWebServer() {
            return ((bitField0_ & 0x00000004) == 0x00000004);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer getRestartWebServer() {
            if (restartWebServerBuilder_ == null) {
              return restartWebServer_;
            } else {
              return restartWebServerBuilder_.getMessage();
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;</code>
           */
          public Builder setRestartWebServer(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer value) {
            if (restartWebServerBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              restartWebServer_ = value;
              onChanged();
            } else {
              restartWebServerBuilder_.setMessage(value);
            }
            bitField0_ |= 0x00000004;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;</code>
           */
          public Builder setRestartWebServer(
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.Builder builderForValue) {
            if (restartWebServerBuilder_ == null) {
              restartWebServer_ = builderForValue.build();
              onChanged();
            } else {
              restartWebServerBuilder_.setMessage(builderForValue.build());
            }
            bitField0_ |= 0x00000004;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;</code>
           */
          public Builder mergeRestartWebServer(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer value) {
            if (restartWebServerBuilder_ == null) {
              if (((bitField0_ & 0x00000004) == 0x00000004) &&
                  restartWebServer_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.getDefaultInstance()) {
                restartWebServer_ =
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.newBuilder(restartWebServer_).mergeFrom(value).buildPartial();
              } else {
                restartWebServer_ = value;
              }
              onChanged();
            } else {
              restartWebServerBuilder_.mergeFrom(value);
            }
            bitField0_ |= 0x00000004;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;</code>
           */
          public Builder clearRestartWebServer() {
            if (restartWebServerBuilder_ == null) {
              restartWebServer_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.getDefaultInstance();
              onChanged();
            } else {
              restartWebServerBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000004);
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.Builder getRestartWebServerBuilder() {
            bitField0_ |= 0x00000004;
            onChanged();
            return getRestartWebServerFieldBuilder().getBuilder();
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServerOrBuilder getRestartWebServerOrBuilder() {
            if (restartWebServerBuilder_ != null) {
              return restartWebServerBuilder_.getMessageOrBuilder();
            } else {
              return restartWebServer_;
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RestartWebServer restartWebServer = 3;</code>
           */
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServerOrBuilder>
              getRestartWebServerFieldBuilder() {
            if (restartWebServerBuilder_ == null) {
              restartWebServerBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServer.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RestartWebServerOrBuilder>(
                      restartWebServer_,
                      getParentForChildren(),
                      isClean());
              restartWebServer_ = null;
            }
            return restartWebServerBuilder_;
          }

          // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest)
        }

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

        // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest)
      }

      private int bitField0_;
      // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ServiceType serviceType = 1;
      public static final int SERVICETYPE_FIELD_NUMBER = 1;
      private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType serviceType_;
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ServiceType serviceType = 1;</code>
       */
      public boolean hasServiceType() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ServiceType serviceType = 1;</code>
       */
      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType getServiceType() {
        return serviceType_;
      }

      // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;
      public static final int VIEWERREQUEST_FIELD_NUMBER = 2;
      private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest viewerRequest_;
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;</code>
       */
      public boolean hasViewerRequest() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;</code>
       */
      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest getViewerRequest() {
        return viewerRequest_;
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;</code>
       */
      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequestOrBuilder getViewerRequestOrBuilder() {
        return viewerRequest_;
      }

      // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;
      public static final int DEVMODEREQUEST_FIELD_NUMBER = 3;
      private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest devModeRequest_;
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;</code>
       */
      public boolean hasDevModeRequest() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;</code>
       */
      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest getDevModeRequest() {
        return devModeRequest_;
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;</code>
       */
      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequestOrBuilder getDevModeRequestOrBuilder() {
        return devModeRequest_;
      }

      private void initFields() {
        serviceType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType.VIEWER;
        viewerRequest_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.getDefaultInstance();
        devModeRequest_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        if (hasViewerRequest()) {
          if (!getViewerRequest().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeEnum(1, serviceType_.getNumber());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(2, viewerRequest_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeMessage(3, devModeRequest_);
        }
        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.gwt.dev.protobuf.CodedOutputStream
            .computeEnumSize(1, serviceType_.getNumber());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.gwt.dev.protobuf.CodedOutputStream
            .computeMessageSize(2, viewerRequest_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.gwt.dev.protobuf.CodedOutputStream
            .computeMessageSize(3, devModeRequest_);
        }
        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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request parseFrom(
          com.google.gwt.dev.protobuf.ByteString data)
          throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request parseFrom(
          com.google.gwt.dev.protobuf.ByteString data,
          com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request parseFrom(byte[] data)
          throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request parseFrom(
          byte[] data,
          com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request parseFrom(
          java.io.InputStream input,
          com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request parseDelimitedFrom(
          java.io.InputStream input,
          com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request parseFrom(
          com.google.gwt.dev.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request parseFrom(
          com.google.gwt.dev.protobuf.CodedInputStream input,
          com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Request}
       *
       * <pre>
       * A request message. This is the root type for all request messages
       * </pre>
       */
      public static final class Builder extends
          com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
         implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.RequestOrBuilder {
        public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_descriptor;
        }

        protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.Builder.class);
        }

        // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

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

        public Builder clear() {
          super.clear();
          serviceType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType.VIEWER;
          bitField0_ = (bitField0_ & ~0x00000001);
          if (viewerRequestBuilder_ == null) {
            viewerRequest_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.getDefaultInstance();
          } else {
            viewerRequestBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          if (devModeRequestBuilder_ == null) {
            devModeRequest_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.getDefaultInstance();
          } else {
            devModeRequestBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000004);
          return this;
        }

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

        public com.google.gwt.dev.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_descriptor;
        }

        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request getDefaultInstanceForType() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.getDefaultInstance();
        }

        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request build() {
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request buildPartial() {
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.serviceType_ = serviceType_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (viewerRequestBuilder_ == null) {
            result.viewerRequest_ = viewerRequest_;
          } else {
            result.viewerRequest_ = viewerRequestBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          if (devModeRequestBuilder_ == null) {
            result.devModeRequest_ = devModeRequest_;
          } else {
            result.devModeRequest_ = devModeRequestBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
          if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request) {
            return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request other) {
          if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.getDefaultInstance()) return this;
          if (other.hasServiceType()) {
            setServiceType(other.getServiceType());
          }
          if (other.hasViewerRequest()) {
            mergeViewerRequest(other.getViewerRequest());
          }
          if (other.hasDevModeRequest()) {
            mergeDevModeRequest(other.getDevModeRequest());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          if (hasViewerRequest()) {
            if (!getViewerRequest().isInitialized()) {

              return false;
            }
          }
          return true;
        }

        public Builder mergeFrom(
            com.google.gwt.dev.protobuf.CodedInputStream input,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ServiceType serviceType = 1;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType serviceType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType.VIEWER;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ServiceType serviceType = 1;</code>
         */
        public boolean hasServiceType() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ServiceType serviceType = 1;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType getServiceType() {
          return serviceType_;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ServiceType serviceType = 1;</code>
         */
        public Builder setServiceType(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000001;
          serviceType_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ServiceType serviceType = 1;</code>
         */
        public Builder clearServiceType() {
          bitField0_ = (bitField0_ & ~0x00000001);
          serviceType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ServiceType.VIEWER;
          onChanged();
          return this;
        }

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest viewerRequest_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.getDefaultInstance();
        private com.google.gwt.dev.protobuf.SingleFieldBuilder<
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequestOrBuilder> viewerRequestBuilder_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;</code>
         */
        public boolean hasViewerRequest() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest getViewerRequest() {
          if (viewerRequestBuilder_ == null) {
            return viewerRequest_;
          } else {
            return viewerRequestBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;</code>
         */
        public Builder setViewerRequest(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest value) {
          if (viewerRequestBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            viewerRequest_ = value;
            onChanged();
          } else {
            viewerRequestBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;</code>
         */
        public Builder setViewerRequest(
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Builder builderForValue) {
          if (viewerRequestBuilder_ == null) {
            viewerRequest_ = builderForValue.build();
            onChanged();
          } else {
            viewerRequestBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;</code>
         */
        public Builder mergeViewerRequest(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest value) {
          if (viewerRequestBuilder_ == null) {
            if (((bitField0_ & 0x00000002) == 0x00000002) &&
                viewerRequest_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.getDefaultInstance()) {
              viewerRequest_ =
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.newBuilder(viewerRequest_).mergeFrom(value).buildPartial();
            } else {
              viewerRequest_ = value;
            }
            onChanged();
          } else {
            viewerRequestBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;</code>
         */
        public Builder clearViewerRequest() {
          if (viewerRequestBuilder_ == null) {
            viewerRequest_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.getDefaultInstance();
            onChanged();
          } else {
            viewerRequestBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Builder getViewerRequestBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getViewerRequestFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequestOrBuilder getViewerRequestOrBuilder() {
          if (viewerRequestBuilder_ != null) {
            return viewerRequestBuilder_.getMessageOrBuilder();
          } else {
            return viewerRequest_;
          }
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest viewerRequest = 2;</code>
         */
        private com.google.gwt.dev.protobuf.SingleFieldBuilder<
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequestOrBuilder>
            getViewerRequestFieldBuilder() {
          if (viewerRequestBuilder_ == null) {
            viewerRequestBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequestOrBuilder>(
                    viewerRequest_,
                    getParentForChildren(),
                    isClean());
            viewerRequest_ = null;
          }
          return viewerRequestBuilder_;
        }

        // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest devModeRequest_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.getDefaultInstance();
        private com.google.gwt.dev.protobuf.SingleFieldBuilder<
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequestOrBuilder> devModeRequestBuilder_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;</code>
         */
        public boolean hasDevModeRequest() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest getDevModeRequest() {
          if (devModeRequestBuilder_ == null) {
            return devModeRequest_;
          } else {
            return devModeRequestBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;</code>
         */
        public Builder setDevModeRequest(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest value) {
          if (devModeRequestBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            devModeRequest_ = value;
            onChanged();
          } else {
            devModeRequestBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000004;
          return this;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;</code>
         */
        public Builder setDevModeRequest(
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.Builder builderForValue) {
          if (devModeRequestBuilder_ == null) {
            devModeRequest_ = builderForValue.build();
            onChanged();
          } else {
            devModeRequestBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000004;
          return this;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;</code>
         */
        public Builder mergeDevModeRequest(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest value) {
          if (devModeRequestBuilder_ == null) {
            if (((bitField0_ & 0x00000004) == 0x00000004) &&
                devModeRequest_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.getDefaultInstance()) {
              devModeRequest_ =
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.newBuilder(devModeRequest_).mergeFrom(value).buildPartial();
            } else {
              devModeRequest_ = value;
            }
            onChanged();
          } else {
            devModeRequestBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000004;
          return this;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;</code>
         */
        public Builder clearDevModeRequest() {
          if (devModeRequestBuilder_ == null) {
            devModeRequest_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.getDefaultInstance();
            onChanged();
          } else {
            devModeRequestBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000004);
          return this;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.Builder getDevModeRequestBuilder() {
          bitField0_ |= 0x00000004;
          onChanged();
          return getDevModeRequestFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequestOrBuilder getDevModeRequestOrBuilder() {
          if (devModeRequestBuilder_ != null) {
            return devModeRequestBuilder_.getMessageOrBuilder();
          } else {
            return devModeRequest_;
          }
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest devModeRequest = 3;</code>
         */
        private com.google.gwt.dev.protobuf.SingleFieldBuilder<
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequestOrBuilder>
            getDevModeRequestFieldBuilder() {
          if (devModeRequestBuilder_ == null) {
            devModeRequestBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequestOrBuilder>(
                    devModeRequest_,
                    getParentForChildren(),
                    isClean());
            devModeRequest_ = null;
          }
          return devModeRequestBuilder_;
        }

        // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Request)
      }

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

      // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Request)
    }

    public interface ResponseOrBuilder
        extends com.google.gwt.dev.protobuf.MessageOrBuilder {

      // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;</code>
       */
      boolean hasViewerResponse();
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;</code>
       */
      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse getViewerResponse();
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;</code>
       */
      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponseOrBuilder getViewerResponseOrBuilder();

      // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;</code>
       */
      boolean hasDevModeResponse();
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;</code>
       */
      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse getDevModeResponse();
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;</code>
       */
      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponseOrBuilder getDevModeResponseOrBuilder();
    }
    /**
     * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Response}
     *
     * <pre>
     * A response message for a request. This is the root type for all response
     * messages.
     * </pre>
     */
    public static final class Response extends
        com.google.gwt.dev.protobuf.GeneratedMessage
        implements ResponseOrBuilder {
      // Use Response.newBuilder() to construct.
      private Response(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private Response(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

      public Response getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.gwt.dev.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private Response(
          com.google.gwt.dev.protobuf.CodedInputStream input,
          com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.gwt.dev.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: {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.Builder subBuilder = null;
                if (((bitField0_ & 0x00000001) == 0x00000001)) {
                  subBuilder = viewerResponse_.toBuilder();
                }
                viewerResponse_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(viewerResponse_);
                  viewerResponse_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000001;
                break;
              }
              case 18: {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.Builder subBuilder = null;
                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                  subBuilder = devModeResponse_.toBuilder();
                }
                devModeResponse_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(devModeResponse_);
                  devModeResponse_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000002;
                break;
              }
            }
          }
        } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_descriptor;
      }

      protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.Builder.class);
      }

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

      @java.lang.Override
      public com.google.gwt.dev.protobuf.Parser<Response> getParserForType() {
        return PARSER;
      }

      public interface ViewerResponseOrBuilder
          extends com.google.gwt.dev.protobuf.MessageOrBuilder {

        // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.ResponseType responseType = 1;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.ResponseType responseType = 1;</code>
         */
        boolean hasResponseType();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.ResponseType responseType = 1;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType getResponseType();

        // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;</code>
         */
        boolean hasCapabilityExchange();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange getCapabilityExchange();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder();

        // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;</code>
         */
        boolean hasAddLog();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog getAddLog();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogOrBuilder getAddLogOrBuilder();

        // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;</code>
         */
        boolean hasAddLogBranch();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch getAddLogBranch();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranchOrBuilder getAddLogBranchOrBuilder();
      }
      /**
       * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse}
       *
       * <pre>
       * The root type for all response messages from the ViewerService
       * </pre>
       */
      public static final class ViewerResponse extends
          com.google.gwt.dev.protobuf.GeneratedMessage
          implements ViewerResponseOrBuilder {
        // Use ViewerResponse.newBuilder() to construct.
        private ViewerResponse(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
          super(builder);
          this.unknownFields = builder.getUnknownFields();
        }
        private ViewerResponse(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

        public ViewerResponse getDefaultInstanceForType() {
          return defaultInstance;
        }

        private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
        @java.lang.Override
        public final com.google.gwt.dev.protobuf.UnknownFieldSet
            getUnknownFields() {
          return this.unknownFields;
        }
        private ViewerResponse(
            com.google.gwt.dev.protobuf.CodedInputStream input,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
          initFields();
          int mutable_bitField0_ = 0;
          com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
              com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder();
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                default: {
                  if (!parseUnknownField(input, unknownFields,
                                         extensionRegistry, tag)) {
                    done = true;
                  }
                  break;
                }
                case 8: {
                  int rawValue = input.readEnum();
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType value = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType.valueOf(rawValue);
                  if (value == null) {
                    unknownFields.mergeVarintField(1, rawValue);
                  } else {
                    bitField0_ |= 0x00000001;
                    responseType_ = value;
                  }
                  break;
                }
                case 18: {
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Builder subBuilder = null;
                  if (((bitField0_ & 0x00000002) == 0x00000002)) {
                    subBuilder = capabilityExchange_.toBuilder();
                  }
                  capabilityExchange_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.PARSER, extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(capabilityExchange_);
                    capabilityExchange_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000002;
                  break;
                }
                case 26: {
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.Builder subBuilder = null;
                  if (((bitField0_ & 0x00000004) == 0x00000004)) {
                    subBuilder = addLog_.toBuilder();
                  }
                  addLog_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.PARSER, extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(addLog_);
                    addLog_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000004;
                  break;
                }
                case 34: {
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.Builder subBuilder = null;
                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
                    subBuilder = addLogBranch_.toBuilder();
                  }
                  addLogBranch_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.PARSER, extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(addLogBranch_);
                    addLogBranch_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000008;
                  break;
                }
              }
            }
          } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(this);
          } catch (java.io.IOException e) {
            throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                e.getMessage()).setUnfinishedMessage(this);
          } finally {
            this.unknownFields = unknownFields.build();
            makeExtensionsImmutable();
          }
        }
        public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_descriptor;
        }

        protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.Builder.class);
        }

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

        @java.lang.Override
        public com.google.gwt.dev.protobuf.Parser<ViewerResponse> getParserForType() {
          return PARSER;
        }

        /**
         * Protobuf enum {@code com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.ResponseType}
         *
         * <pre>
         * The different types of response messages that can come from the
         * ViewerService
         * </pre>
         */
        public enum ResponseType
            implements com.google.gwt.dev.protobuf.ProtocolMessageEnum {
          /**
           * <code>CAPABILITY_EXCHANGE = 0;</code>
           */
          CAPABILITY_EXCHANGE(0, 0),
          /**
           * <code>ADD_LOG = 1;</code>
           */
          ADD_LOG(1, 1),
          /**
           * <code>ADD_LOG_BRANCH = 2;</code>
           */
          ADD_LOG_BRANCH(2, 2),
          ;

          /**
           * <code>CAPABILITY_EXCHANGE = 0;</code>
           */
          public static final int CAPABILITY_EXCHANGE_VALUE = 0;
          /**
           * <code>ADD_LOG = 1;</code>
           */
          public static final int ADD_LOG_VALUE = 1;
          /**
           * <code>ADD_LOG_BRANCH = 2;</code>
           */
          public static final int ADD_LOG_BRANCH_VALUE = 2;


          public final int getNumber() { return value; }

          public static ResponseType valueOf(int value) {
            switch (value) {
              case 0: return CAPABILITY_EXCHANGE;
              case 1: return ADD_LOG;
              case 2: return ADD_LOG_BRANCH;
              default: return null;
            }
          }

          public static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<ResponseType>
              internalGetValueMap() {
            return internalValueMap;
          }
          private static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<ResponseType>
              internalValueMap =
                new com.google.gwt.dev.protobuf.Internal.EnumLiteMap<ResponseType>() {
                  public ResponseType findValueByNumber(int number) {
                    return ResponseType.valueOf(number);
                  }
                };

          public final com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor
              getValueDescriptor() {
            return getDescriptor().getValues().get(index);
          }
          public final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
              getDescriptorForType() {
            return getDescriptor();
          }
          public static final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.getDescriptor().getEnumTypes().get(0);
          }

          private static final ResponseType[] VALUES = values();

          public static ResponseType valueOf(
              com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor desc) {
            if (desc.getType() != getDescriptor()) {
              throw new java.lang.IllegalArgumentException(
                "EnumValueDescriptor is not for this type.");
            }
            return VALUES[desc.getIndex()];
          }

          private final int index;
          private final int value;

          private ResponseType(int index, int value) {
            this.index = index;
            this.value = value;
          }

          // @@protoc_insertion_point(enum_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.ResponseType)
        }

        public interface CapabilityExchangeOrBuilder
            extends com.google.gwt.dev.protobuf.MessageOrBuilder {

          // repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;
          /**
           * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
           */
          java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability>
              getCapabilitiesList();
          /**
           * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
           */
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability getCapabilities(int index);
          /**
           * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
           */
          int getCapabilitiesCount();
          /**
           * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
           */
          java.util.List<? extends com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.CapabilityOrBuilder>
              getCapabilitiesOrBuilderList();
          /**
           * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
           */
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.CapabilityOrBuilder getCapabilitiesOrBuilder(
              int index);
        }
        /**
         * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange}
         *
         * <pre>
         * Response for the capabilities of the ViewerService
         * </pre>
         */
        public static final class CapabilityExchange extends
            com.google.gwt.dev.protobuf.GeneratedMessage
            implements CapabilityExchangeOrBuilder {
          // Use CapabilityExchange.newBuilder() to construct.
          private CapabilityExchange(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.unknownFields = builder.getUnknownFields();
          }
          private CapabilityExchange(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

          public CapabilityExchange getDefaultInstanceForType() {
            return defaultInstance;
          }

          private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
          @java.lang.Override
          public final com.google.gwt.dev.protobuf.UnknownFieldSet
              getUnknownFields() {
            return this.unknownFields;
          }
          private CapabilityExchange(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            initFields();
            int mutable_bitField0_ = 0;
            com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
                com.google.gwt.dev.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 18: {
                    if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                      capabilities_ = new java.util.ArrayList<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability>();
                      mutable_bitField0_ |= 0x00000001;
                    }
                    capabilities_.add(input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.PARSER, extensionRegistry));
                    break;
                  }
                }
              }
            } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
              throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                  e.getMessage()).setUnfinishedMessage(this);
            } finally {
              if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                capabilities_ = java.util.Collections.unmodifiableList(capabilities_);
              }
              this.unknownFields = unknownFields.build();
              makeExtensionsImmutable();
            }
          }
          public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_descriptor;
          }

          protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Builder.class);
          }

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

          @java.lang.Override
          public com.google.gwt.dev.protobuf.Parser<CapabilityExchange> getParserForType() {
            return PARSER;
          }

          public interface CapabilityOrBuilder
              extends com.google.gwt.dev.protobuf.MessageOrBuilder {

            // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType capability = 1;
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType capability = 1;</code>
             */
            boolean hasCapability();
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType capability = 1;</code>
             */
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType getCapability();
          }
          /**
           * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability}
           */
          public static final class Capability extends
              com.google.gwt.dev.protobuf.GeneratedMessage
              implements CapabilityOrBuilder {
            // Use Capability.newBuilder() to construct.
            private Capability(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
              super(builder);
              this.unknownFields = builder.getUnknownFields();
            }
            private Capability(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

            public Capability getDefaultInstanceForType() {
              return defaultInstance;
            }

            private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
            @java.lang.Override
            public final com.google.gwt.dev.protobuf.UnknownFieldSet
                getUnknownFields() {
              return this.unknownFields;
            }
            private Capability(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              initFields();
              int mutable_bitField0_ = 0;
              com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
                  com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder();
              try {
                boolean done = false;
                while (!done) {
                  int tag = input.readTag();
                  switch (tag) {
                    case 0:
                      done = true;
                      break;
                    default: {
                      if (!parseUnknownField(input, unknownFields,
                                             extensionRegistry, tag)) {
                        done = true;
                      }
                      break;
                    }
                    case 8: {
                      int rawValue = input.readEnum();
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType value = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.valueOf(rawValue);
                      if (value == null) {
                        unknownFields.mergeVarintField(1, rawValue);
                      } else {
                        bitField0_ |= 0x00000001;
                        capability_ = value;
                      }
                      break;
                    }
                  }
                }
              } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
              } catch (java.io.IOException e) {
                throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                    e.getMessage()).setUnfinishedMessage(this);
              } finally {
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
              }
            }
            public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_Capability_descriptor;
            }

            protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_Capability_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder.class);
            }

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

            @java.lang.Override
            public com.google.gwt.dev.protobuf.Parser<Capability> getParserForType() {
              return PARSER;
            }

            private int bitField0_;
            // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType capability = 1;
            public static final int CAPABILITY_FIELD_NUMBER = 1;
            private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType capability_;
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType capability = 1;</code>
             */
            public boolean hasCapability() {
              return ((bitField0_ & 0x00000001) == 0x00000001);
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType capability = 1;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType getCapability() {
              return capability_;
            }

            private void initFields() {
              capability_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.CAPABILITY_EXCHANGE;
            }
            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.gwt.dev.protobuf.CodedOutputStream output)
                                throws java.io.IOException {
              getSerializedSize();
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                output.writeEnum(1, capability_.getNumber());
              }
              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.gwt.dev.protobuf.CodedOutputStream
                  .computeEnumSize(1, capability_.getNumber());
              }
              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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability parseFrom(
                com.google.gwt.dev.protobuf.ByteString data)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability parseFrom(
                com.google.gwt.dev.protobuf.ByteString data,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability parseFrom(byte[] data)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability parseFrom(
                byte[] data,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability parseFrom(java.io.InputStream input)
                throws java.io.IOException {
              return PARSER.parseFrom(input);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability parseFrom(
                java.io.InputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              return PARSER.parseFrom(input, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability parseDelimitedFrom(java.io.InputStream input)
                throws java.io.IOException {
              return PARSER.parseDelimitedFrom(input);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability parseDelimitedFrom(
                java.io.InputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              return PARSER.parseDelimitedFrom(input, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability parseFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input)
                throws java.io.IOException {
              return PARSER.parseFrom(input);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability parseFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability prototype) {
              return newBuilder().mergeFrom(prototype);
            }
            public Builder toBuilder() { return newBuilder(this); }

            @java.lang.Override
            protected Builder newBuilderForType(
                com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
              Builder builder = new Builder(parent);
              return builder;
            }
            /**
             * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability}
             */
            public static final class Builder extends
                com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
               implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.CapabilityOrBuilder {
              public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                  getDescriptor() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_Capability_descriptor;
              }

              protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                  internalGetFieldAccessorTable() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_Capability_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(
                        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder.class);
              }

              // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.newBuilder()
              private Builder() {
                maybeForceBuilderInitialization();
              }

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

              public Builder clear() {
                super.clear();
                capability_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.CAPABILITY_EXCHANGE;
                bitField0_ = (bitField0_ & ~0x00000001);
                return this;
              }

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

              public com.google.gwt.dev.protobuf.Descriptors.Descriptor
                  getDescriptorForType() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_Capability_descriptor;
              }

              public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability getDefaultInstanceForType() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.getDefaultInstance();
              }

              public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability build() {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability result = buildPartial();
                if (!result.isInitialized()) {
                  throw newUninitializedMessageException(result);
                }
                return result;
              }

              public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability buildPartial() {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability(this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                  to_bitField0_ |= 0x00000001;
                }
                result.capability_ = capability_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
              }

              public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
                if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability) {
                  return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability)other);
                } else {
                  super.mergeFrom(other);
                  return this;
                }
              }

              public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability other) {
                if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.getDefaultInstance()) return this;
                if (other.hasCapability()) {
                  setCapability(other.getCapability());
                }
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
              }

              public final boolean isInitialized() {
                return true;
              }

              public Builder mergeFrom(
                  com.google.gwt.dev.protobuf.CodedInputStream input,
                  com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                  throws java.io.IOException {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability parsedMessage = null;
                try {
                  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                  parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability) e.getUnfinishedMessage();
                  throw e;
                } finally {
                  if (parsedMessage != null) {
                    mergeFrom(parsedMessage);
                  }
                }
                return this;
              }
              private int bitField0_;

              // optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType capability = 1;
              private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType capability_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.CAPABILITY_EXCHANGE;
              /**
               * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType capability = 1;</code>
               */
              public boolean hasCapability() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
              }
              /**
               * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType capability = 1;</code>
               */
              public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType getCapability() {
                return capability_;
              }
              /**
               * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType capability = 1;</code>
               */
              public Builder setCapability(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType value) {
                if (value == null) {
                  throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                capability_ = value;
                onChanged();
                return this;
              }
              /**
               * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.ViewerRequest.RequestType capability = 1;</code>
               */
              public Builder clearCapability() {
                bitField0_ = (bitField0_ & ~0x00000001);
                capability_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.ViewerRequest.RequestType.CAPABILITY_EXCHANGE;
                onChanged();
                return this;
              }

              // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability)
            }

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

            // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability)
          }

          // repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;
          public static final int CAPABILITIES_FIELD_NUMBER = 2;
          private java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability> capabilities_;
          /**
           * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
           */
          public java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability> getCapabilitiesList() {
            return capabilities_;
          }
          /**
           * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
           */
          public java.util.List<? extends com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.CapabilityOrBuilder>
              getCapabilitiesOrBuilderList() {
            return capabilities_;
          }
          /**
           * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
           */
          public int getCapabilitiesCount() {
            return capabilities_.size();
          }
          /**
           * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability getCapabilities(int index) {
            return capabilities_.get(index);
          }
          /**
           * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.CapabilityOrBuilder getCapabilitiesOrBuilder(
              int index) {
            return capabilities_.get(index);
          }

          private void initFields() {
            capabilities_ = java.util.Collections.emptyList();
          }
          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.gwt.dev.protobuf.CodedOutputStream output)
                              throws java.io.IOException {
            getSerializedSize();
            for (int i = 0; i < capabilities_.size(); i++) {
              output.writeMessage(2, capabilities_.get(i));
            }
            getUnknownFields().writeTo(output);
          }

          private int memoizedSerializedSize = -1;
          public int getSerializedSize() {
            int size = memoizedSerializedSize;
            if (size != -1) return size;

            size = 0;
            for (int i = 0; i < capabilities_.size(); i++) {
              size += com.google.gwt.dev.protobuf.CodedOutputStream
                .computeMessageSize(2, capabilities_.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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange parseFrom(
              com.google.gwt.dev.protobuf.ByteString data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange parseFrom(
              com.google.gwt.dev.protobuf.ByteString data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange parseFrom(byte[] data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange parseFrom(
              byte[] data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange parseFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange parseFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange parseDelimitedFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange parseDelimitedFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange prototype) {
            return newBuilder().mergeFrom(prototype);
          }
          public Builder toBuilder() { return newBuilder(this); }

          @java.lang.Override
          protected Builder newBuilderForType(
              com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
          }
          /**
           * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange}
           *
           * <pre>
           * Response for the capabilities of the ViewerService
           * </pre>
           */
          public static final class Builder extends
              com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
             implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchangeOrBuilder {
            public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_descriptor;
            }

            protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Builder.class);
            }

            // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.newBuilder()
            private Builder() {
              maybeForceBuilderInitialization();
            }

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

            public Builder clear() {
              super.clear();
              if (capabilitiesBuilder_ == null) {
                capabilities_ = java.util.Collections.emptyList();
                bitField0_ = (bitField0_ & ~0x00000001);
              } else {
                capabilitiesBuilder_.clear();
              }
              return this;
            }

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

            public com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptorForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_descriptor;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange getDefaultInstanceForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.getDefaultInstance();
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange build() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange result = buildPartial();
              if (!result.isInitialized()) {
                throw newUninitializedMessageException(result);
              }
              return result;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange buildPartial() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange(this);
              int from_bitField0_ = bitField0_;
              if (capabilitiesBuilder_ == null) {
                if (((bitField0_ & 0x00000001) == 0x00000001)) {
                  capabilities_ = java.util.Collections.unmodifiableList(capabilities_);
                  bitField0_ = (bitField0_ & ~0x00000001);
                }
                result.capabilities_ = capabilities_;
              } else {
                result.capabilities_ = capabilitiesBuilder_.build();
              }
              onBuilt();
              return result;
            }

            public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
              if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange) {
                return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange)other);
              } else {
                super.mergeFrom(other);
                return this;
              }
            }

            public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange other) {
              if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.getDefaultInstance()) return this;
              if (capabilitiesBuilder_ == null) {
                if (!other.capabilities_.isEmpty()) {
                  if (capabilities_.isEmpty()) {
                    capabilities_ = other.capabilities_;
                    bitField0_ = (bitField0_ & ~0x00000001);
                  } else {
                    ensureCapabilitiesIsMutable();
                    capabilities_.addAll(other.capabilities_);
                  }
                  onChanged();
                }
              } else {
                if (!other.capabilities_.isEmpty()) {
                  if (capabilitiesBuilder_.isEmpty()) {
                    capabilitiesBuilder_.dispose();
                    capabilitiesBuilder_ = null;
                    capabilities_ = other.capabilities_;
                    bitField0_ = (bitField0_ & ~0x00000001);
                    capabilitiesBuilder_ =
                      com.google.gwt.dev.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                         getCapabilitiesFieldBuilder() : null;
                  } else {
                    capabilitiesBuilder_.addAllMessages(other.capabilities_);
                  }
                }
              }
              this.mergeUnknownFields(other.getUnknownFields());
              return this;
            }

            public final boolean isInitialized() {
              return true;
            }

            public Builder mergeFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange parsedMessage = null;
              try {
                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
              } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange) e.getUnfinishedMessage();
                throw e;
              } finally {
                if (parsedMessage != null) {
                  mergeFrom(parsedMessage);
                }
              }
              return this;
            }
            private int bitField0_;

            // repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;
            private java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability> capabilities_ =
              java.util.Collections.emptyList();
            private void ensureCapabilitiesIsMutable() {
              if (!((bitField0_ & 0x00000001) == 0x00000001)) {
                capabilities_ = new java.util.ArrayList<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability>(capabilities_);
                bitField0_ |= 0x00000001;
               }
            }

            private com.google.gwt.dev.protobuf.RepeatedFieldBuilder<
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.CapabilityOrBuilder> capabilitiesBuilder_;

            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability> getCapabilitiesList() {
              if (capabilitiesBuilder_ == null) {
                return java.util.Collections.unmodifiableList(capabilities_);
              } else {
                return capabilitiesBuilder_.getMessageList();
              }
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public int getCapabilitiesCount() {
              if (capabilitiesBuilder_ == null) {
                return capabilities_.size();
              } else {
                return capabilitiesBuilder_.getCount();
              }
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability getCapabilities(int index) {
              if (capabilitiesBuilder_ == null) {
                return capabilities_.get(index);
              } else {
                return capabilitiesBuilder_.getMessage(index);
              }
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public Builder setCapabilities(
                int index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability value) {
              if (capabilitiesBuilder_ == null) {
                if (value == null) {
                  throw new NullPointerException();
                }
                ensureCapabilitiesIsMutable();
                capabilities_.set(index, value);
                onChanged();
              } else {
                capabilitiesBuilder_.setMessage(index, value);
              }
              return this;
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public Builder setCapabilities(
                int index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder builderForValue) {
              if (capabilitiesBuilder_ == null) {
                ensureCapabilitiesIsMutable();
                capabilities_.set(index, builderForValue.build());
                onChanged();
              } else {
                capabilitiesBuilder_.setMessage(index, builderForValue.build());
              }
              return this;
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public Builder addCapabilities(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability value) {
              if (capabilitiesBuilder_ == null) {
                if (value == null) {
                  throw new NullPointerException();
                }
                ensureCapabilitiesIsMutable();
                capabilities_.add(value);
                onChanged();
              } else {
                capabilitiesBuilder_.addMessage(value);
              }
              return this;
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public Builder addCapabilities(
                int index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability value) {
              if (capabilitiesBuilder_ == null) {
                if (value == null) {
                  throw new NullPointerException();
                }
                ensureCapabilitiesIsMutable();
                capabilities_.add(index, value);
                onChanged();
              } else {
                capabilitiesBuilder_.addMessage(index, value);
              }
              return this;
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public Builder addCapabilities(
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder builderForValue) {
              if (capabilitiesBuilder_ == null) {
                ensureCapabilitiesIsMutable();
                capabilities_.add(builderForValue.build());
                onChanged();
              } else {
                capabilitiesBuilder_.addMessage(builderForValue.build());
              }
              return this;
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public Builder addCapabilities(
                int index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder builderForValue) {
              if (capabilitiesBuilder_ == null) {
                ensureCapabilitiesIsMutable();
                capabilities_.add(index, builderForValue.build());
                onChanged();
              } else {
                capabilitiesBuilder_.addMessage(index, builderForValue.build());
              }
              return this;
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public Builder addAllCapabilities(
                java.lang.Iterable<? extends com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability> values) {
              if (capabilitiesBuilder_ == null) {
                ensureCapabilitiesIsMutable();
                super.addAll(values, capabilities_);
                onChanged();
              } else {
                capabilitiesBuilder_.addAllMessages(values);
              }
              return this;
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public Builder clearCapabilities() {
              if (capabilitiesBuilder_ == null) {
                capabilities_ = java.util.Collections.emptyList();
                bitField0_ = (bitField0_ & ~0x00000001);
                onChanged();
              } else {
                capabilitiesBuilder_.clear();
              }
              return this;
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public Builder removeCapabilities(int index) {
              if (capabilitiesBuilder_ == null) {
                ensureCapabilitiesIsMutable();
                capabilities_.remove(index);
                onChanged();
              } else {
                capabilitiesBuilder_.remove(index);
              }
              return this;
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder getCapabilitiesBuilder(
                int index) {
              return getCapabilitiesFieldBuilder().getBuilder(index);
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.CapabilityOrBuilder getCapabilitiesOrBuilder(
                int index) {
              if (capabilitiesBuilder_ == null) {
                return capabilities_.get(index);  } else {
                return capabilitiesBuilder_.getMessageOrBuilder(index);
              }
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public java.util.List<? extends com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.CapabilityOrBuilder>
                 getCapabilitiesOrBuilderList() {
              if (capabilitiesBuilder_ != null) {
                return capabilitiesBuilder_.getMessageOrBuilderList();
              } else {
                return java.util.Collections.unmodifiableList(capabilities_);
              }
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder addCapabilitiesBuilder() {
              return getCapabilitiesFieldBuilder().addBuilder(
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.getDefaultInstance());
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder addCapabilitiesBuilder(
                int index) {
              return getCapabilitiesFieldBuilder().addBuilder(
                  index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.getDefaultInstance());
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder>
                 getCapabilitiesBuilderList() {
              return getCapabilitiesFieldBuilder().getBuilderList();
            }
            private com.google.gwt.dev.protobuf.RepeatedFieldBuilder<
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.CapabilityOrBuilder>
                getCapabilitiesFieldBuilder() {
              if (capabilitiesBuilder_ == null) {
                capabilitiesBuilder_ = new com.google.gwt.dev.protobuf.RepeatedFieldBuilder<
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Capability.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.CapabilityOrBuilder>(
                        capabilities_,
                        ((bitField0_ & 0x00000001) == 0x00000001),
                        getParentForChildren(),
                        isClean());
                capabilities_ = null;
              }
              return capabilitiesBuilder_;
            }

            // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange)
          }

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

          // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange)
        }

        public interface AddLogOrBuilder
            extends com.google.gwt.dev.protobuf.MessageOrBuilder {

          // required uint32 logHandle = 1;
          /**
           * <code>required uint32 logHandle = 1;</code>
           */
          boolean hasLogHandle();
          /**
           * <code>required uint32 logHandle = 1;</code>
           */
          int getLogHandle();
        }
        /**
         * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog}
         *
         * <pre>
         * Response to an AddLog request
         * </pre>
         */
        public static final class AddLog extends
            com.google.gwt.dev.protobuf.GeneratedMessage
            implements AddLogOrBuilder {
          // Use AddLog.newBuilder() to construct.
          private AddLog(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.unknownFields = builder.getUnknownFields();
          }
          private AddLog(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

          public AddLog getDefaultInstanceForType() {
            return defaultInstance;
          }

          private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
          @java.lang.Override
          public final com.google.gwt.dev.protobuf.UnknownFieldSet
              getUnknownFields() {
            return this.unknownFields;
          }
          private AddLog(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            initFields();
            int mutable_bitField0_ = 0;
            com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
                com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder();
            try {
              boolean done = false;
              while (!done) {
                int tag = input.readTag();
                switch (tag) {
                  case 0:
                    done = true;
                    break;
                  default: {
                    if (!parseUnknownField(input, unknownFields,
                                           extensionRegistry, tag)) {
                      done = true;
                    }
                    break;
                  }
                  case 8: {
                    bitField0_ |= 0x00000001;
                    logHandle_ = input.readUInt32();
                    break;
                  }
                }
              }
            } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
              throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                  e.getMessage()).setUnfinishedMessage(this);
            } finally {
              this.unknownFields = unknownFields.build();
              makeExtensionsImmutable();
            }
          }
          public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLog_descriptor;
          }

          protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLog_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.Builder.class);
          }

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

          @java.lang.Override
          public com.google.gwt.dev.protobuf.Parser<AddLog> getParserForType() {
            return PARSER;
          }

          private int bitField0_;
          // required uint32 logHandle = 1;
          public static final int LOGHANDLE_FIELD_NUMBER = 1;
          private int logHandle_;
          /**
           * <code>required uint32 logHandle = 1;</code>
           */
          public boolean hasLogHandle() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          /**
           * <code>required uint32 logHandle = 1;</code>
           */
          public int getLogHandle() {
            return logHandle_;
          }

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

            if (!hasLogHandle()) {
              memoizedIsInitialized = 0;
              return false;
            }
            memoizedIsInitialized = 1;
            return true;
          }

          public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
                              throws java.io.IOException {
            getSerializedSize();
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              output.writeUInt32(1, logHandle_);
            }
            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.gwt.dev.protobuf.CodedOutputStream
                .computeUInt32Size(1, logHandle_);
            }
            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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog parseFrom(
              com.google.gwt.dev.protobuf.ByteString data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog parseFrom(
              com.google.gwt.dev.protobuf.ByteString data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog parseFrom(byte[] data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog parseFrom(
              byte[] data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog parseFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog parseFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog parseDelimitedFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog parseDelimitedFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog prototype) {
            return newBuilder().mergeFrom(prototype);
          }
          public Builder toBuilder() { return newBuilder(this); }

          @java.lang.Override
          protected Builder newBuilderForType(
              com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
          }
          /**
           * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog}
           *
           * <pre>
           * Response to an AddLog request
           * </pre>
           */
          public static final class Builder extends
              com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
             implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogOrBuilder {
            public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLog_descriptor;
            }

            protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLog_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.Builder.class);
            }

            // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.newBuilder()
            private Builder() {
              maybeForceBuilderInitialization();
            }

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

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

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

            public com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptorForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLog_descriptor;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog getDefaultInstanceForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.getDefaultInstance();
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog build() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog result = buildPartial();
              if (!result.isInitialized()) {
                throw newUninitializedMessageException(result);
              }
              return result;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog buildPartial() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog(this);
              int from_bitField0_ = bitField0_;
              int to_bitField0_ = 0;
              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                to_bitField0_ |= 0x00000001;
              }
              result.logHandle_ = logHandle_;
              result.bitField0_ = to_bitField0_;
              onBuilt();
              return result;
            }

            public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
              if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog) {
                return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog)other);
              } else {
                super.mergeFrom(other);
                return this;
              }
            }

            public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog other) {
              if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.getDefaultInstance()) return this;
              if (other.hasLogHandle()) {
                setLogHandle(other.getLogHandle());
              }
              this.mergeUnknownFields(other.getUnknownFields());
              return this;
            }

            public final boolean isInitialized() {
              if (!hasLogHandle()) {

                return false;
              }
              return true;
            }

            public Builder mergeFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog parsedMessage = null;
              try {
                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
              } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog) e.getUnfinishedMessage();
                throw e;
              } finally {
                if (parsedMessage != null) {
                  mergeFrom(parsedMessage);
                }
              }
              return this;
            }
            private int bitField0_;

            // required uint32 logHandle = 1;
            private int logHandle_ ;
            /**
             * <code>required uint32 logHandle = 1;</code>
             */
            public boolean hasLogHandle() {
              return ((bitField0_ & 0x00000001) == 0x00000001);
            }
            /**
             * <code>required uint32 logHandle = 1;</code>
             */
            public int getLogHandle() {
              return logHandle_;
            }
            /**
             * <code>required uint32 logHandle = 1;</code>
             */
            public Builder setLogHandle(int value) {
              bitField0_ |= 0x00000001;
              logHandle_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>required uint32 logHandle = 1;</code>
             */
            public Builder clearLogHandle() {
              bitField0_ = (bitField0_ & ~0x00000001);
              logHandle_ = 0;
              onChanged();
              return this;
            }

            // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog)
          }

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

          // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog)
        }

        public interface AddLogBranchOrBuilder
            extends com.google.gwt.dev.protobuf.MessageOrBuilder {

          // required uint32 logHandle = 1;
          /**
           * <code>required uint32 logHandle = 1;</code>
           */
          boolean hasLogHandle();
          /**
           * <code>required uint32 logHandle = 1;</code>
           */
          int getLogHandle();
        }
        /**
         * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch}
         *
         * <pre>
         * Response to an AddLogBranch request
         * </pre>
         */
        public static final class AddLogBranch extends
            com.google.gwt.dev.protobuf.GeneratedMessage
            implements AddLogBranchOrBuilder {
          // Use AddLogBranch.newBuilder() to construct.
          private AddLogBranch(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.unknownFields = builder.getUnknownFields();
          }
          private AddLogBranch(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

          public AddLogBranch getDefaultInstanceForType() {
            return defaultInstance;
          }

          private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
          @java.lang.Override
          public final com.google.gwt.dev.protobuf.UnknownFieldSet
              getUnknownFields() {
            return this.unknownFields;
          }
          private AddLogBranch(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            initFields();
            int mutable_bitField0_ = 0;
            com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
                com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder();
            try {
              boolean done = false;
              while (!done) {
                int tag = input.readTag();
                switch (tag) {
                  case 0:
                    done = true;
                    break;
                  default: {
                    if (!parseUnknownField(input, unknownFields,
                                           extensionRegistry, tag)) {
                      done = true;
                    }
                    break;
                  }
                  case 8: {
                    bitField0_ |= 0x00000001;
                    logHandle_ = input.readUInt32();
                    break;
                  }
                }
              }
            } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
              throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                  e.getMessage()).setUnfinishedMessage(this);
            } finally {
              this.unknownFields = unknownFields.build();
              makeExtensionsImmutable();
            }
          }
          public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLogBranch_descriptor;
          }

          protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLogBranch_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.Builder.class);
          }

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

          @java.lang.Override
          public com.google.gwt.dev.protobuf.Parser<AddLogBranch> getParserForType() {
            return PARSER;
          }

          private int bitField0_;
          // required uint32 logHandle = 1;
          public static final int LOGHANDLE_FIELD_NUMBER = 1;
          private int logHandle_;
          /**
           * <code>required uint32 logHandle = 1;</code>
           */
          public boolean hasLogHandle() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          /**
           * <code>required uint32 logHandle = 1;</code>
           */
          public int getLogHandle() {
            return logHandle_;
          }

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

            if (!hasLogHandle()) {
              memoizedIsInitialized = 0;
              return false;
            }
            memoizedIsInitialized = 1;
            return true;
          }

          public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
                              throws java.io.IOException {
            getSerializedSize();
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              output.writeUInt32(1, logHandle_);
            }
            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.gwt.dev.protobuf.CodedOutputStream
                .computeUInt32Size(1, logHandle_);
            }
            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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch parseFrom(
              com.google.gwt.dev.protobuf.ByteString data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch parseFrom(
              com.google.gwt.dev.protobuf.ByteString data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch parseFrom(byte[] data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch parseFrom(
              byte[] data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch parseFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch parseFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch parseDelimitedFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch parseDelimitedFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch prototype) {
            return newBuilder().mergeFrom(prototype);
          }
          public Builder toBuilder() { return newBuilder(this); }

          @java.lang.Override
          protected Builder newBuilderForType(
              com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
          }
          /**
           * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch}
           *
           * <pre>
           * Response to an AddLogBranch request
           * </pre>
           */
          public static final class Builder extends
              com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
             implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranchOrBuilder {
            public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLogBranch_descriptor;
            }

            protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLogBranch_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.Builder.class);
            }

            // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.newBuilder()
            private Builder() {
              maybeForceBuilderInitialization();
            }

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

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

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

            public com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptorForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLogBranch_descriptor;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch getDefaultInstanceForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.getDefaultInstance();
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch build() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch result = buildPartial();
              if (!result.isInitialized()) {
                throw newUninitializedMessageException(result);
              }
              return result;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch buildPartial() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch(this);
              int from_bitField0_ = bitField0_;
              int to_bitField0_ = 0;
              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                to_bitField0_ |= 0x00000001;
              }
              result.logHandle_ = logHandle_;
              result.bitField0_ = to_bitField0_;
              onBuilt();
              return result;
            }

            public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
              if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch) {
                return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch)other);
              } else {
                super.mergeFrom(other);
                return this;
              }
            }

            public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch other) {
              if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.getDefaultInstance()) return this;
              if (other.hasLogHandle()) {
                setLogHandle(other.getLogHandle());
              }
              this.mergeUnknownFields(other.getUnknownFields());
              return this;
            }

            public final boolean isInitialized() {
              if (!hasLogHandle()) {

                return false;
              }
              return true;
            }

            public Builder mergeFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch parsedMessage = null;
              try {
                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
              } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch) e.getUnfinishedMessage();
                throw e;
              } finally {
                if (parsedMessage != null) {
                  mergeFrom(parsedMessage);
                }
              }
              return this;
            }
            private int bitField0_;

            // required uint32 logHandle = 1;
            private int logHandle_ ;
            /**
             * <code>required uint32 logHandle = 1;</code>
             */
            public boolean hasLogHandle() {
              return ((bitField0_ & 0x00000001) == 0x00000001);
            }
            /**
             * <code>required uint32 logHandle = 1;</code>
             */
            public int getLogHandle() {
              return logHandle_;
            }
            /**
             * <code>required uint32 logHandle = 1;</code>
             */
            public Builder setLogHandle(int value) {
              bitField0_ |= 0x00000001;
              logHandle_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>required uint32 logHandle = 1;</code>
             */
            public Builder clearLogHandle() {
              bitField0_ = (bitField0_ & ~0x00000001);
              logHandle_ = 0;
              onChanged();
              return this;
            }

            // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch)
          }

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

          // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch)
        }

        private int bitField0_;
        // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.ResponseType responseType = 1;
        public static final int RESPONSETYPE_FIELD_NUMBER = 1;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType responseType_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.ResponseType responseType = 1;</code>
         */
        public boolean hasResponseType() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.ResponseType responseType = 1;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType getResponseType() {
          return responseType_;
        }

        // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;
        public static final int CAPABILITYEXCHANGE_FIELD_NUMBER = 2;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;</code>
         */
        public boolean hasCapabilityExchange() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange getCapabilityExchange() {
          return capabilityExchange_;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder() {
          return capabilityExchange_;
        }

        // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;
        public static final int ADDLOG_FIELD_NUMBER = 3;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog addLog_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;</code>
         */
        public boolean hasAddLog() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog getAddLog() {
          return addLog_;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogOrBuilder getAddLogOrBuilder() {
          return addLog_;
        }

        // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;
        public static final int ADDLOGBRANCH_FIELD_NUMBER = 4;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch addLogBranch_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;</code>
         */
        public boolean hasAddLogBranch() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch getAddLogBranch() {
          return addLogBranch_;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranchOrBuilder getAddLogBranchOrBuilder() {
          return addLogBranch_;
        }

        private void initFields() {
          responseType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType.CAPABILITY_EXCHANGE;
          capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.getDefaultInstance();
          addLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.getDefaultInstance();
          addLogBranch_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.getDefaultInstance();
        }
        private byte memoizedIsInitialized = -1;
        public final boolean isInitialized() {
          byte isInitialized = memoizedIsInitialized;
          if (isInitialized != -1) return isInitialized == 1;

          if (hasAddLog()) {
            if (!getAddLog().isInitialized()) {
              memoizedIsInitialized = 0;
              return false;
            }
          }
          if (hasAddLogBranch()) {
            if (!getAddLogBranch().isInitialized()) {
              memoizedIsInitialized = 0;
              return false;
            }
          }
          memoizedIsInitialized = 1;
          return true;
        }

        public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
                            throws java.io.IOException {
          getSerializedSize();
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            output.writeEnum(1, responseType_.getNumber());
          }
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            output.writeMessage(2, capabilityExchange_);
          }
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            output.writeMessage(3, addLog_);
          }
          if (((bitField0_ & 0x00000008) == 0x00000008)) {
            output.writeMessage(4, addLogBranch_);
          }
          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.gwt.dev.protobuf.CodedOutputStream
              .computeEnumSize(1, responseType_.getNumber());
          }
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            size += com.google.gwt.dev.protobuf.CodedOutputStream
              .computeMessageSize(2, capabilityExchange_);
          }
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            size += com.google.gwt.dev.protobuf.CodedOutputStream
              .computeMessageSize(3, addLog_);
          }
          if (((bitField0_ & 0x00000008) == 0x00000008)) {
            size += com.google.gwt.dev.protobuf.CodedOutputStream
              .computeMessageSize(4, addLogBranch_);
          }
          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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse parseFrom(
            com.google.gwt.dev.protobuf.ByteString data)
            throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse parseFrom(
            com.google.gwt.dev.protobuf.ByteString data,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse parseFrom(byte[] data)
            throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse parseFrom(
            byte[] data,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return PARSER.parseFrom(input);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse parseFrom(
            java.io.InputStream input,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return PARSER.parseFrom(input, extensionRegistry);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return PARSER.parseDelimitedFrom(input);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse parseDelimitedFrom(
            java.io.InputStream input,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return PARSER.parseDelimitedFrom(input, extensionRegistry);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse parseFrom(
            com.google.gwt.dev.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return PARSER.parseFrom(input);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse parseFrom(
            com.google.gwt.dev.protobuf.CodedInputStream input,
            com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse prototype) {
          return newBuilder().mergeFrom(prototype);
        }
        public Builder toBuilder() { return newBuilder(this); }

        @java.lang.Override
        protected Builder newBuilderForType(
            com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        /**
         * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse}
         *
         * <pre>
         * The root type for all response messages from the ViewerService
         * </pre>
         */
        public static final class Builder extends
            com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
           implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponseOrBuilder {
          public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_descriptor;
          }

          protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.Builder.class);
          }

          // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }

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

          public Builder clear() {
            super.clear();
            responseType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType.CAPABILITY_EXCHANGE;
            bitField0_ = (bitField0_ & ~0x00000001);
            if (capabilityExchangeBuilder_ == null) {
              capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.getDefaultInstance();
            } else {
              capabilityExchangeBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000002);
            if (addLogBuilder_ == null) {
              addLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.getDefaultInstance();
            } else {
              addLogBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000004);
            if (addLogBranchBuilder_ == null) {
              addLogBranch_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.getDefaultInstance();
            } else {
              addLogBranchBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000008);
            return this;
          }

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

          public com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptorForType() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_descriptor;
          }

          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse getDefaultInstanceForType() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.getDefaultInstance();
          }

          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse build() {
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }

          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse buildPartial() {
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse(this);
            int from_bitField0_ = bitField0_;
            int to_bitField0_ = 0;
            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
              to_bitField0_ |= 0x00000001;
            }
            result.responseType_ = responseType_;
            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
              to_bitField0_ |= 0x00000002;
            }
            if (capabilityExchangeBuilder_ == null) {
              result.capabilityExchange_ = capabilityExchange_;
            } else {
              result.capabilityExchange_ = capabilityExchangeBuilder_.build();
            }
            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
              to_bitField0_ |= 0x00000004;
            }
            if (addLogBuilder_ == null) {
              result.addLog_ = addLog_;
            } else {
              result.addLog_ = addLogBuilder_.build();
            }
            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
              to_bitField0_ |= 0x00000008;
            }
            if (addLogBranchBuilder_ == null) {
              result.addLogBranch_ = addLogBranch_;
            } else {
              result.addLogBranch_ = addLogBranchBuilder_.build();
            }
            result.bitField0_ = to_bitField0_;
            onBuilt();
            return result;
          }

          public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
            if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse) {
              return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }

          public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse other) {
            if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.getDefaultInstance()) return this;
            if (other.hasResponseType()) {
              setResponseType(other.getResponseType());
            }
            if (other.hasCapabilityExchange()) {
              mergeCapabilityExchange(other.getCapabilityExchange());
            }
            if (other.hasAddLog()) {
              mergeAddLog(other.getAddLog());
            }
            if (other.hasAddLogBranch()) {
              mergeAddLogBranch(other.getAddLogBranch());
            }
            this.mergeUnknownFields(other.getUnknownFields());
            return this;
          }

          public final boolean isInitialized() {
            if (hasAddLog()) {
              if (!getAddLog().isInitialized()) {

                return false;
              }
            }
            if (hasAddLogBranch()) {
              if (!getAddLogBranch().isInitialized()) {

                return false;
              }
            }
            return true;
          }

          public Builder mergeFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse parsedMessage = null;
            try {
              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
            } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
              parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse) e.getUnfinishedMessage();
              throw e;
            } finally {
              if (parsedMessage != null) {
                mergeFrom(parsedMessage);
              }
            }
            return this;
          }
          private int bitField0_;

          // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.ResponseType responseType = 1;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType responseType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType.CAPABILITY_EXCHANGE;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.ResponseType responseType = 1;</code>
           */
          public boolean hasResponseType() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.ResponseType responseType = 1;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType getResponseType() {
            return responseType_;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.ResponseType responseType = 1;</code>
           */
          public Builder setResponseType(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType value) {
            if (value == null) {
              throw new NullPointerException();
            }
            bitField0_ |= 0x00000001;
            responseType_ = value;
            onChanged();
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.ResponseType responseType = 1;</code>
           */
          public Builder clearResponseType() {
            bitField0_ = (bitField0_ & ~0x00000001);
            responseType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.ResponseType.CAPABILITY_EXCHANGE;
            onChanged();
            return this;
          }

          // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.getDefaultInstance();
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchangeOrBuilder> capabilityExchangeBuilder_;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;</code>
           */
          public boolean hasCapabilityExchange() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange getCapabilityExchange() {
            if (capabilityExchangeBuilder_ == null) {
              return capabilityExchange_;
            } else {
              return capabilityExchangeBuilder_.getMessage();
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;</code>
           */
          public Builder setCapabilityExchange(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange value) {
            if (capabilityExchangeBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              capabilityExchange_ = value;
              onChanged();
            } else {
              capabilityExchangeBuilder_.setMessage(value);
            }
            bitField0_ |= 0x00000002;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;</code>
           */
          public Builder setCapabilityExchange(
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Builder builderForValue) {
            if (capabilityExchangeBuilder_ == null) {
              capabilityExchange_ = builderForValue.build();
              onChanged();
            } else {
              capabilityExchangeBuilder_.setMessage(builderForValue.build());
            }
            bitField0_ |= 0x00000002;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;</code>
           */
          public Builder mergeCapabilityExchange(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange value) {
            if (capabilityExchangeBuilder_ == null) {
              if (((bitField0_ & 0x00000002) == 0x00000002) &&
                  capabilityExchange_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.getDefaultInstance()) {
                capabilityExchange_ =
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.newBuilder(capabilityExchange_).mergeFrom(value).buildPartial();
              } else {
                capabilityExchange_ = value;
              }
              onChanged();
            } else {
              capabilityExchangeBuilder_.mergeFrom(value);
            }
            bitField0_ |= 0x00000002;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;</code>
           */
          public Builder clearCapabilityExchange() {
            if (capabilityExchangeBuilder_ == null) {
              capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.getDefaultInstance();
              onChanged();
            } else {
              capabilityExchangeBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000002);
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Builder getCapabilityExchangeBuilder() {
            bitField0_ |= 0x00000002;
            onChanged();
            return getCapabilityExchangeFieldBuilder().getBuilder();
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder() {
            if (capabilityExchangeBuilder_ != null) {
              return capabilityExchangeBuilder_.getMessageOrBuilder();
            } else {
              return capabilityExchange_;
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.CapabilityExchange capabilityExchange = 2;</code>
           */
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchangeOrBuilder>
              getCapabilityExchangeFieldBuilder() {
            if (capabilityExchangeBuilder_ == null) {
              capabilityExchangeBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.CapabilityExchangeOrBuilder>(
                      capabilityExchange_,
                      getParentForChildren(),
                      isClean());
              capabilityExchange_ = null;
            }
            return capabilityExchangeBuilder_;
          }

          // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog addLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.getDefaultInstance();
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogOrBuilder> addLogBuilder_;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;</code>
           */
          public boolean hasAddLog() {
            return ((bitField0_ & 0x00000004) == 0x00000004);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog getAddLog() {
            if (addLogBuilder_ == null) {
              return addLog_;
            } else {
              return addLogBuilder_.getMessage();
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;</code>
           */
          public Builder setAddLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog value) {
            if (addLogBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              addLog_ = value;
              onChanged();
            } else {
              addLogBuilder_.setMessage(value);
            }
            bitField0_ |= 0x00000004;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;</code>
           */
          public Builder setAddLog(
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.Builder builderForValue) {
            if (addLogBuilder_ == null) {
              addLog_ = builderForValue.build();
              onChanged();
            } else {
              addLogBuilder_.setMessage(builderForValue.build());
            }
            bitField0_ |= 0x00000004;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;</code>
           */
          public Builder mergeAddLog(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog value) {
            if (addLogBuilder_ == null) {
              if (((bitField0_ & 0x00000004) == 0x00000004) &&
                  addLog_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.getDefaultInstance()) {
                addLog_ =
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.newBuilder(addLog_).mergeFrom(value).buildPartial();
              } else {
                addLog_ = value;
              }
              onChanged();
            } else {
              addLogBuilder_.mergeFrom(value);
            }
            bitField0_ |= 0x00000004;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;</code>
           */
          public Builder clearAddLog() {
            if (addLogBuilder_ == null) {
              addLog_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.getDefaultInstance();
              onChanged();
            } else {
              addLogBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000004);
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.Builder getAddLogBuilder() {
            bitField0_ |= 0x00000004;
            onChanged();
            return getAddLogFieldBuilder().getBuilder();
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogOrBuilder getAddLogOrBuilder() {
            if (addLogBuilder_ != null) {
              return addLogBuilder_.getMessageOrBuilder();
            } else {
              return addLog_;
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLog addLog = 3;</code>
           */
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogOrBuilder>
              getAddLogFieldBuilder() {
            if (addLogBuilder_ == null) {
              addLogBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLog.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogOrBuilder>(
                      addLog_,
                      getParentForChildren(),
                      isClean());
              addLog_ = null;
            }
            return addLogBuilder_;
          }

          // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch addLogBranch_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.getDefaultInstance();
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranchOrBuilder> addLogBranchBuilder_;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;</code>
           */
          public boolean hasAddLogBranch() {
            return ((bitField0_ & 0x00000008) == 0x00000008);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch getAddLogBranch() {
            if (addLogBranchBuilder_ == null) {
              return addLogBranch_;
            } else {
              return addLogBranchBuilder_.getMessage();
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;</code>
           */
          public Builder setAddLogBranch(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch value) {
            if (addLogBranchBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              addLogBranch_ = value;
              onChanged();
            } else {
              addLogBranchBuilder_.setMessage(value);
            }
            bitField0_ |= 0x00000008;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;</code>
           */
          public Builder setAddLogBranch(
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.Builder builderForValue) {
            if (addLogBranchBuilder_ == null) {
              addLogBranch_ = builderForValue.build();
              onChanged();
            } else {
              addLogBranchBuilder_.setMessage(builderForValue.build());
            }
            bitField0_ |= 0x00000008;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;</code>
           */
          public Builder mergeAddLogBranch(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch value) {
            if (addLogBranchBuilder_ == null) {
              if (((bitField0_ & 0x00000008) == 0x00000008) &&
                  addLogBranch_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.getDefaultInstance()) {
                addLogBranch_ =
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.newBuilder(addLogBranch_).mergeFrom(value).buildPartial();
              } else {
                addLogBranch_ = value;
              }
              onChanged();
            } else {
              addLogBranchBuilder_.mergeFrom(value);
            }
            bitField0_ |= 0x00000008;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;</code>
           */
          public Builder clearAddLogBranch() {
            if (addLogBranchBuilder_ == null) {
              addLogBranch_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.getDefaultInstance();
              onChanged();
            } else {
              addLogBranchBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000008);
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.Builder getAddLogBranchBuilder() {
            bitField0_ |= 0x00000008;
            onChanged();
            return getAddLogBranchFieldBuilder().getBuilder();
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranchOrBuilder getAddLogBranchOrBuilder() {
            if (addLogBranchBuilder_ != null) {
              return addLogBranchBuilder_.getMessageOrBuilder();
            } else {
              return addLogBranch_;
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse.AddLogBranch addLogBranch = 4;</code>
           */
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranchOrBuilder>
              getAddLogBranchFieldBuilder() {
            if (addLogBranchBuilder_ == null) {
              addLogBranchBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranch.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.AddLogBranchOrBuilder>(
                      addLogBranch_,
                      getParentForChildren(),
                      isClean());
              addLogBranch_ = null;
            }
            return addLogBranchBuilder_;
          }

          // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse)
        }

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

        // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse)
      }

      public interface DevModeResponseOrBuilder
          extends com.google.gwt.dev.protobuf.MessageOrBuilder {

        // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.ResponseType responseType = 1;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.ResponseType responseType = 1;</code>
         */
        boolean hasResponseType();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.ResponseType responseType = 1;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType getResponseType();

        // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;</code>
         */
        boolean hasCapabilityExchange();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange getCapabilityExchange();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder();

        // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;</code>
         */
        boolean hasRestartWebServer();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer getRestartWebServer();
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;</code>
         */
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServerOrBuilder getRestartWebServerOrBuilder();
      }
      /**
       * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse}
       *
       * <pre>
       * The root type for all response messages from the DevModeService
       * </pre>
       */
      public static final class DevModeResponse extends
          com.google.gwt.dev.protobuf.GeneratedMessage
          implements DevModeResponseOrBuilder {
        // Use DevModeResponse.newBuilder() to construct.
        private DevModeResponse(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
          super(builder);
          this.unknownFields = builder.getUnknownFields();
        }
        private DevModeResponse(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

        public DevModeResponse getDefaultInstanceForType() {
          return defaultInstance;
        }

        private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
        @java.lang.Override
        public final com.google.gwt.dev.protobuf.UnknownFieldSet
            getUnknownFields() {
          return this.unknownFields;
        }
        private DevModeResponse(
            com.google.gwt.dev.protobuf.CodedInputStream input,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
          initFields();
          int mutable_bitField0_ = 0;
          com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
              com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder();
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                default: {
                  if (!parseUnknownField(input, unknownFields,
                                         extensionRegistry, tag)) {
                    done = true;
                  }
                  break;
                }
                case 8: {
                  int rawValue = input.readEnum();
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType value = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType.valueOf(rawValue);
                  if (value == null) {
                    unknownFields.mergeVarintField(1, rawValue);
                  } else {
                    bitField0_ |= 0x00000001;
                    responseType_ = value;
                  }
                  break;
                }
                case 18: {
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Builder subBuilder = null;
                  if (((bitField0_ & 0x00000002) == 0x00000002)) {
                    subBuilder = capabilityExchange_.toBuilder();
                  }
                  capabilityExchange_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.PARSER, extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(capabilityExchange_);
                    capabilityExchange_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000002;
                  break;
                }
                case 26: {
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.Builder subBuilder = null;
                  if (((bitField0_ & 0x00000004) == 0x00000004)) {
                    subBuilder = restartWebServer_.toBuilder();
                  }
                  restartWebServer_ = input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.PARSER, extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(restartWebServer_);
                    restartWebServer_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000004;
                  break;
                }
              }
            }
          } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(this);
          } catch (java.io.IOException e) {
            throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                e.getMessage()).setUnfinishedMessage(this);
          } finally {
            this.unknownFields = unknownFields.build();
            makeExtensionsImmutable();
          }
        }
        public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_descriptor;
        }

        protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.Builder.class);
        }

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

        @java.lang.Override
        public com.google.gwt.dev.protobuf.Parser<DevModeResponse> getParserForType() {
          return PARSER;
        }

        /**
         * Protobuf enum {@code com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.ResponseType}
         *
         * <pre>
         * The different types of response messages from the DevModeService
         * </pre>
         */
        public enum ResponseType
            implements com.google.gwt.dev.protobuf.ProtocolMessageEnum {
          /**
           * <code>CAPABILITY_EXCHANGE = 0;</code>
           */
          CAPABILITY_EXCHANGE(0, 0),
          /**
           * <code>RESTART_WEB_SERVER = 1;</code>
           */
          RESTART_WEB_SERVER(1, 1),
          ;

          /**
           * <code>CAPABILITY_EXCHANGE = 0;</code>
           */
          public static final int CAPABILITY_EXCHANGE_VALUE = 0;
          /**
           * <code>RESTART_WEB_SERVER = 1;</code>
           */
          public static final int RESTART_WEB_SERVER_VALUE = 1;


          public final int getNumber() { return value; }

          public static ResponseType valueOf(int value) {
            switch (value) {
              case 0: return CAPABILITY_EXCHANGE;
              case 1: return RESTART_WEB_SERVER;
              default: return null;
            }
          }

          public static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<ResponseType>
              internalGetValueMap() {
            return internalValueMap;
          }
          private static com.google.gwt.dev.protobuf.Internal.EnumLiteMap<ResponseType>
              internalValueMap =
                new com.google.gwt.dev.protobuf.Internal.EnumLiteMap<ResponseType>() {
                  public ResponseType findValueByNumber(int number) {
                    return ResponseType.valueOf(number);
                  }
                };

          public final com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor
              getValueDescriptor() {
            return getDescriptor().getValues().get(index);
          }
          public final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
              getDescriptorForType() {
            return getDescriptor();
          }
          public static final com.google.gwt.dev.protobuf.Descriptors.EnumDescriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.getDescriptor().getEnumTypes().get(0);
          }

          private static final ResponseType[] VALUES = values();

          public static ResponseType valueOf(
              com.google.gwt.dev.protobuf.Descriptors.EnumValueDescriptor desc) {
            if (desc.getType() != getDescriptor()) {
              throw new java.lang.IllegalArgumentException(
                "EnumValueDescriptor is not for this type.");
            }
            return VALUES[desc.getIndex()];
          }

          private final int index;
          private final int value;

          private ResponseType(int index, int value) {
            this.index = index;
            this.value = value;
          }

          // @@protoc_insertion_point(enum_scope:com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.ResponseType)
        }

        public interface CapabilityExchangeOrBuilder
            extends com.google.gwt.dev.protobuf.MessageOrBuilder {

          // repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;
          /**
           * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
           */
          java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability>
              getCapabilitiesList();
          /**
           * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
           */
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability getCapabilities(int index);
          /**
           * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
           */
          int getCapabilitiesCount();
          /**
           * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
           */
          java.util.List<? extends com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.CapabilityOrBuilder>
              getCapabilitiesOrBuilderList();
          /**
           * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
           */
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.CapabilityOrBuilder getCapabilitiesOrBuilder(
              int index);
        }
        /**
         * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange}
         *
         * <pre>
         * Response for the capabilities of the DevModeService
         * </pre>
         */
        public static final class CapabilityExchange extends
            com.google.gwt.dev.protobuf.GeneratedMessage
            implements CapabilityExchangeOrBuilder {
          // Use CapabilityExchange.newBuilder() to construct.
          private CapabilityExchange(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.unknownFields = builder.getUnknownFields();
          }
          private CapabilityExchange(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

          public CapabilityExchange getDefaultInstanceForType() {
            return defaultInstance;
          }

          private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
          @java.lang.Override
          public final com.google.gwt.dev.protobuf.UnknownFieldSet
              getUnknownFields() {
            return this.unknownFields;
          }
          private CapabilityExchange(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            initFields();
            int mutable_bitField0_ = 0;
            com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
                com.google.gwt.dev.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 18: {
                    if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                      capabilities_ = new java.util.ArrayList<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability>();
                      mutable_bitField0_ |= 0x00000001;
                    }
                    capabilities_.add(input.readMessage(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.PARSER, extensionRegistry));
                    break;
                  }
                }
              }
            } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
              throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                  e.getMessage()).setUnfinishedMessage(this);
            } finally {
              if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                capabilities_ = java.util.Collections.unmodifiableList(capabilities_);
              }
              this.unknownFields = unknownFields.build();
              makeExtensionsImmutable();
            }
          }
          public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_descriptor;
          }

          protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Builder.class);
          }

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

          @java.lang.Override
          public com.google.gwt.dev.protobuf.Parser<CapabilityExchange> getParserForType() {
            return PARSER;
          }

          public interface CapabilityOrBuilder
              extends com.google.gwt.dev.protobuf.MessageOrBuilder {

            // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType capability = 1;
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType capability = 1;</code>
             */
            boolean hasCapability();
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType capability = 1;</code>
             */
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType getCapability();
          }
          /**
           * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability}
           */
          public static final class Capability extends
              com.google.gwt.dev.protobuf.GeneratedMessage
              implements CapabilityOrBuilder {
            // Use Capability.newBuilder() to construct.
            private Capability(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
              super(builder);
              this.unknownFields = builder.getUnknownFields();
            }
            private Capability(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

            public Capability getDefaultInstanceForType() {
              return defaultInstance;
            }

            private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
            @java.lang.Override
            public final com.google.gwt.dev.protobuf.UnknownFieldSet
                getUnknownFields() {
              return this.unknownFields;
            }
            private Capability(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              initFields();
              int mutable_bitField0_ = 0;
              com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
                  com.google.gwt.dev.protobuf.UnknownFieldSet.newBuilder();
              try {
                boolean done = false;
                while (!done) {
                  int tag = input.readTag();
                  switch (tag) {
                    case 0:
                      done = true;
                      break;
                    default: {
                      if (!parseUnknownField(input, unknownFields,
                                             extensionRegistry, tag)) {
                        done = true;
                      }
                      break;
                    }
                    case 8: {
                      int rawValue = input.readEnum();
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType value = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.valueOf(rawValue);
                      if (value == null) {
                        unknownFields.mergeVarintField(1, rawValue);
                      } else {
                        bitField0_ |= 0x00000001;
                        capability_ = value;
                      }
                      break;
                    }
                  }
                }
              } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
              } catch (java.io.IOException e) {
                throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                    e.getMessage()).setUnfinishedMessage(this);
              } finally {
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
              }
            }
            public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_Capability_descriptor;
            }

            protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_Capability_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder.class);
            }

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

            @java.lang.Override
            public com.google.gwt.dev.protobuf.Parser<Capability> getParserForType() {
              return PARSER;
            }

            private int bitField0_;
            // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType capability = 1;
            public static final int CAPABILITY_FIELD_NUMBER = 1;
            private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType capability_;
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType capability = 1;</code>
             */
            public boolean hasCapability() {
              return ((bitField0_ & 0x00000001) == 0x00000001);
            }
            /**
             * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType capability = 1;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType getCapability() {
              return capability_;
            }

            private void initFields() {
              capability_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.CAPABILITY_EXCHANGE;
            }
            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.gwt.dev.protobuf.CodedOutputStream output)
                                throws java.io.IOException {
              getSerializedSize();
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                output.writeEnum(1, capability_.getNumber());
              }
              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.gwt.dev.protobuf.CodedOutputStream
                  .computeEnumSize(1, capability_.getNumber());
              }
              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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability parseFrom(
                com.google.gwt.dev.protobuf.ByteString data)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability parseFrom(
                com.google.gwt.dev.protobuf.ByteString data,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability parseFrom(byte[] data)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability parseFrom(
                byte[] data,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
              return PARSER.parseFrom(data, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability parseFrom(java.io.InputStream input)
                throws java.io.IOException {
              return PARSER.parseFrom(input);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability parseFrom(
                java.io.InputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              return PARSER.parseFrom(input, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability parseDelimitedFrom(java.io.InputStream input)
                throws java.io.IOException {
              return PARSER.parseDelimitedFrom(input);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability parseDelimitedFrom(
                java.io.InputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              return PARSER.parseDelimitedFrom(input, extensionRegistry);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability parseFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input)
                throws java.io.IOException {
              return PARSER.parseFrom(input);
            }
            public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability parseFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability prototype) {
              return newBuilder().mergeFrom(prototype);
            }
            public Builder toBuilder() { return newBuilder(this); }

            @java.lang.Override
            protected Builder newBuilderForType(
                com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
              Builder builder = new Builder(parent);
              return builder;
            }
            /**
             * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability}
             */
            public static final class Builder extends
                com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
               implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.CapabilityOrBuilder {
              public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                  getDescriptor() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_Capability_descriptor;
              }

              protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                  internalGetFieldAccessorTable() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_Capability_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(
                        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder.class);
              }

              // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.newBuilder()
              private Builder() {
                maybeForceBuilderInitialization();
              }

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

              public Builder clear() {
                super.clear();
                capability_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.CAPABILITY_EXCHANGE;
                bitField0_ = (bitField0_ & ~0x00000001);
                return this;
              }

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

              public com.google.gwt.dev.protobuf.Descriptors.Descriptor
                  getDescriptorForType() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_Capability_descriptor;
              }

              public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability getDefaultInstanceForType() {
                return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.getDefaultInstance();
              }

              public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability build() {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability result = buildPartial();
                if (!result.isInitialized()) {
                  throw newUninitializedMessageException(result);
                }
                return result;
              }

              public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability buildPartial() {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability(this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                  to_bitField0_ |= 0x00000001;
                }
                result.capability_ = capability_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
              }

              public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
                if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability) {
                  return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability)other);
                } else {
                  super.mergeFrom(other);
                  return this;
                }
              }

              public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability other) {
                if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.getDefaultInstance()) return this;
                if (other.hasCapability()) {
                  setCapability(other.getCapability());
                }
                this.mergeUnknownFields(other.getUnknownFields());
                return this;
              }

              public final boolean isInitialized() {
                return true;
              }

              public Builder mergeFrom(
                  com.google.gwt.dev.protobuf.CodedInputStream input,
                  com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                  throws java.io.IOException {
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability parsedMessage = null;
                try {
                  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                  parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability) e.getUnfinishedMessage();
                  throw e;
                } finally {
                  if (parsedMessage != null) {
                    mergeFrom(parsedMessage);
                  }
                }
                return this;
              }
              private int bitField0_;

              // optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType capability = 1;
              private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType capability_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.CAPABILITY_EXCHANGE;
              /**
               * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType capability = 1;</code>
               */
              public boolean hasCapability() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
              }
              /**
               * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType capability = 1;</code>
               */
              public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType getCapability() {
                return capability_;
              }
              /**
               * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType capability = 1;</code>
               */
              public Builder setCapability(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType value) {
                if (value == null) {
                  throw new NullPointerException();
                }
                bitField0_ |= 0x00000001;
                capability_ = value;
                onChanged();
                return this;
              }
              /**
               * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request.DevModeRequest.RequestType capability = 1;</code>
               */
              public Builder clearCapability() {
                bitField0_ = (bitField0_ & ~0x00000001);
                capability_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.DevModeRequest.RequestType.CAPABILITY_EXCHANGE;
                onChanged();
                return this;
              }

              // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability)
            }

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

            // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability)
          }

          // repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;
          public static final int CAPABILITIES_FIELD_NUMBER = 2;
          private java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability> capabilities_;
          /**
           * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
           */
          public java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability> getCapabilitiesList() {
            return capabilities_;
          }
          /**
           * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
           */
          public java.util.List<? extends com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.CapabilityOrBuilder>
              getCapabilitiesOrBuilderList() {
            return capabilities_;
          }
          /**
           * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
           */
          public int getCapabilitiesCount() {
            return capabilities_.size();
          }
          /**
           * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability getCapabilities(int index) {
            return capabilities_.get(index);
          }
          /**
           * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.CapabilityOrBuilder getCapabilitiesOrBuilder(
              int index) {
            return capabilities_.get(index);
          }

          private void initFields() {
            capabilities_ = java.util.Collections.emptyList();
          }
          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.gwt.dev.protobuf.CodedOutputStream output)
                              throws java.io.IOException {
            getSerializedSize();
            for (int i = 0; i < capabilities_.size(); i++) {
              output.writeMessage(2, capabilities_.get(i));
            }
            getUnknownFields().writeTo(output);
          }

          private int memoizedSerializedSize = -1;
          public int getSerializedSize() {
            int size = memoizedSerializedSize;
            if (size != -1) return size;

            size = 0;
            for (int i = 0; i < capabilities_.size(); i++) {
              size += com.google.gwt.dev.protobuf.CodedOutputStream
                .computeMessageSize(2, capabilities_.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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange parseFrom(
              com.google.gwt.dev.protobuf.ByteString data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange parseFrom(
              com.google.gwt.dev.protobuf.ByteString data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange parseFrom(byte[] data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange parseFrom(
              byte[] data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange parseFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange parseFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange parseDelimitedFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange parseDelimitedFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange prototype) {
            return newBuilder().mergeFrom(prototype);
          }
          public Builder toBuilder() { return newBuilder(this); }

          @java.lang.Override
          protected Builder newBuilderForType(
              com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
          }
          /**
           * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange}
           *
           * <pre>
           * Response for the capabilities of the DevModeService
           * </pre>
           */
          public static final class Builder extends
              com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
             implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchangeOrBuilder {
            public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_descriptor;
            }

            protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Builder.class);
            }

            // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.newBuilder()
            private Builder() {
              maybeForceBuilderInitialization();
            }

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

            public Builder clear() {
              super.clear();
              if (capabilitiesBuilder_ == null) {
                capabilities_ = java.util.Collections.emptyList();
                bitField0_ = (bitField0_ & ~0x00000001);
              } else {
                capabilitiesBuilder_.clear();
              }
              return this;
            }

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

            public com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptorForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_descriptor;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange getDefaultInstanceForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.getDefaultInstance();
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange build() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange result = buildPartial();
              if (!result.isInitialized()) {
                throw newUninitializedMessageException(result);
              }
              return result;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange buildPartial() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange(this);
              int from_bitField0_ = bitField0_;
              if (capabilitiesBuilder_ == null) {
                if (((bitField0_ & 0x00000001) == 0x00000001)) {
                  capabilities_ = java.util.Collections.unmodifiableList(capabilities_);
                  bitField0_ = (bitField0_ & ~0x00000001);
                }
                result.capabilities_ = capabilities_;
              } else {
                result.capabilities_ = capabilitiesBuilder_.build();
              }
              onBuilt();
              return result;
            }

            public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
              if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange) {
                return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange)other);
              } else {
                super.mergeFrom(other);
                return this;
              }
            }

            public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange other) {
              if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.getDefaultInstance()) return this;
              if (capabilitiesBuilder_ == null) {
                if (!other.capabilities_.isEmpty()) {
                  if (capabilities_.isEmpty()) {
                    capabilities_ = other.capabilities_;
                    bitField0_ = (bitField0_ & ~0x00000001);
                  } else {
                    ensureCapabilitiesIsMutable();
                    capabilities_.addAll(other.capabilities_);
                  }
                  onChanged();
                }
              } else {
                if (!other.capabilities_.isEmpty()) {
                  if (capabilitiesBuilder_.isEmpty()) {
                    capabilitiesBuilder_.dispose();
                    capabilitiesBuilder_ = null;
                    capabilities_ = other.capabilities_;
                    bitField0_ = (bitField0_ & ~0x00000001);
                    capabilitiesBuilder_ =
                      com.google.gwt.dev.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                         getCapabilitiesFieldBuilder() : null;
                  } else {
                    capabilitiesBuilder_.addAllMessages(other.capabilities_);
                  }
                }
              }
              this.mergeUnknownFields(other.getUnknownFields());
              return this;
            }

            public final boolean isInitialized() {
              return true;
            }

            public Builder mergeFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange parsedMessage = null;
              try {
                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
              } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange) e.getUnfinishedMessage();
                throw e;
              } finally {
                if (parsedMessage != null) {
                  mergeFrom(parsedMessage);
                }
              }
              return this;
            }
            private int bitField0_;

            // repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;
            private java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability> capabilities_ =
              java.util.Collections.emptyList();
            private void ensureCapabilitiesIsMutable() {
              if (!((bitField0_ & 0x00000001) == 0x00000001)) {
                capabilities_ = new java.util.ArrayList<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability>(capabilities_);
                bitField0_ |= 0x00000001;
               }
            }

            private com.google.gwt.dev.protobuf.RepeatedFieldBuilder<
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.CapabilityOrBuilder> capabilitiesBuilder_;

            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability> getCapabilitiesList() {
              if (capabilitiesBuilder_ == null) {
                return java.util.Collections.unmodifiableList(capabilities_);
              } else {
                return capabilitiesBuilder_.getMessageList();
              }
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public int getCapabilitiesCount() {
              if (capabilitiesBuilder_ == null) {
                return capabilities_.size();
              } else {
                return capabilitiesBuilder_.getCount();
              }
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability getCapabilities(int index) {
              if (capabilitiesBuilder_ == null) {
                return capabilities_.get(index);
              } else {
                return capabilitiesBuilder_.getMessage(index);
              }
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public Builder setCapabilities(
                int index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability value) {
              if (capabilitiesBuilder_ == null) {
                if (value == null) {
                  throw new NullPointerException();
                }
                ensureCapabilitiesIsMutable();
                capabilities_.set(index, value);
                onChanged();
              } else {
                capabilitiesBuilder_.setMessage(index, value);
              }
              return this;
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public Builder setCapabilities(
                int index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder builderForValue) {
              if (capabilitiesBuilder_ == null) {
                ensureCapabilitiesIsMutable();
                capabilities_.set(index, builderForValue.build());
                onChanged();
              } else {
                capabilitiesBuilder_.setMessage(index, builderForValue.build());
              }
              return this;
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public Builder addCapabilities(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability value) {
              if (capabilitiesBuilder_ == null) {
                if (value == null) {
                  throw new NullPointerException();
                }
                ensureCapabilitiesIsMutable();
                capabilities_.add(value);
                onChanged();
              } else {
                capabilitiesBuilder_.addMessage(value);
              }
              return this;
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public Builder addCapabilities(
                int index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability value) {
              if (capabilitiesBuilder_ == null) {
                if (value == null) {
                  throw new NullPointerException();
                }
                ensureCapabilitiesIsMutable();
                capabilities_.add(index, value);
                onChanged();
              } else {
                capabilitiesBuilder_.addMessage(index, value);
              }
              return this;
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public Builder addCapabilities(
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder builderForValue) {
              if (capabilitiesBuilder_ == null) {
                ensureCapabilitiesIsMutable();
                capabilities_.add(builderForValue.build());
                onChanged();
              } else {
                capabilitiesBuilder_.addMessage(builderForValue.build());
              }
              return this;
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public Builder addCapabilities(
                int index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder builderForValue) {
              if (capabilitiesBuilder_ == null) {
                ensureCapabilitiesIsMutable();
                capabilities_.add(index, builderForValue.build());
                onChanged();
              } else {
                capabilitiesBuilder_.addMessage(index, builderForValue.build());
              }
              return this;
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public Builder addAllCapabilities(
                java.lang.Iterable<? extends com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability> values) {
              if (capabilitiesBuilder_ == null) {
                ensureCapabilitiesIsMutable();
                super.addAll(values, capabilities_);
                onChanged();
              } else {
                capabilitiesBuilder_.addAllMessages(values);
              }
              return this;
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public Builder clearCapabilities() {
              if (capabilitiesBuilder_ == null) {
                capabilities_ = java.util.Collections.emptyList();
                bitField0_ = (bitField0_ & ~0x00000001);
                onChanged();
              } else {
                capabilitiesBuilder_.clear();
              }
              return this;
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public Builder removeCapabilities(int index) {
              if (capabilitiesBuilder_ == null) {
                ensureCapabilitiesIsMutable();
                capabilities_.remove(index);
                onChanged();
              } else {
                capabilitiesBuilder_.remove(index);
              }
              return this;
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder getCapabilitiesBuilder(
                int index) {
              return getCapabilitiesFieldBuilder().getBuilder(index);
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.CapabilityOrBuilder getCapabilitiesOrBuilder(
                int index) {
              if (capabilitiesBuilder_ == null) {
                return capabilities_.get(index);  } else {
                return capabilitiesBuilder_.getMessageOrBuilder(index);
              }
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public java.util.List<? extends com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.CapabilityOrBuilder>
                 getCapabilitiesOrBuilderList() {
              if (capabilitiesBuilder_ != null) {
                return capabilitiesBuilder_.getMessageOrBuilderList();
              } else {
                return java.util.Collections.unmodifiableList(capabilities_);
              }
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder addCapabilitiesBuilder() {
              return getCapabilitiesFieldBuilder().addBuilder(
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.getDefaultInstance());
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder addCapabilitiesBuilder(
                int index) {
              return getCapabilitiesFieldBuilder().addBuilder(
                  index, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.getDefaultInstance());
            }
            /**
             * <code>repeated .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange.Capability capabilities = 2;</code>
             */
            public java.util.List<com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder>
                 getCapabilitiesBuilderList() {
              return getCapabilitiesFieldBuilder().getBuilderList();
            }
            private com.google.gwt.dev.protobuf.RepeatedFieldBuilder<
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.CapabilityOrBuilder>
                getCapabilitiesFieldBuilder() {
              if (capabilitiesBuilder_ == null) {
                capabilitiesBuilder_ = new com.google.gwt.dev.protobuf.RepeatedFieldBuilder<
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Capability.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.CapabilityOrBuilder>(
                        capabilities_,
                        ((bitField0_ & 0x00000001) == 0x00000001),
                        getParentForChildren(),
                        isClean());
                capabilities_ = null;
              }
              return capabilitiesBuilder_;
            }

            // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange)
          }

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

          // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange)
        }

        public interface RestartWebServerOrBuilder
            extends com.google.gwt.dev.protobuf.MessageOrBuilder {
        }
        /**
         * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer}
         *
         * <pre>
         * Response to a RestartWebServer request. Right now, there is no information
         * that needs to be passed back
         * </pre>
         */
        public static final class RestartWebServer extends
            com.google.gwt.dev.protobuf.GeneratedMessage
            implements RestartWebServerOrBuilder {
          // Use RestartWebServer.newBuilder() to construct.
          private RestartWebServer(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.unknownFields = builder.getUnknownFields();
          }
          private RestartWebServer(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

          public RestartWebServer getDefaultInstanceForType() {
            return defaultInstance;
          }

          private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
          @java.lang.Override
          public final com.google.gwt.dev.protobuf.UnknownFieldSet
              getUnknownFields() {
            return this.unknownFields;
          }
          private RestartWebServer(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            initFields();
            com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
                com.google.gwt.dev.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.gwt.dev.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
              throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
                  e.getMessage()).setUnfinishedMessage(this);
            } finally {
              this.unknownFields = unknownFields.build();
              makeExtensionsImmutable();
            }
          }
          public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_RestartWebServer_descriptor;
          }

          protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_RestartWebServer_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.Builder.class);
          }

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

          @java.lang.Override
          public com.google.gwt.dev.protobuf.Parser<RestartWebServer> 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.gwt.dev.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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer parseFrom(
              com.google.gwt.dev.protobuf.ByteString data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer parseFrom(
              com.google.gwt.dev.protobuf.ByteString data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer parseFrom(byte[] data)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer parseFrom(
              byte[] data,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer parseFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer parseFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer parseDelimitedFrom(java.io.InputStream input)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer parseDelimitedFrom(
              java.io.InputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return PARSER.parseDelimitedFrom(input, extensionRegistry);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input)
              throws java.io.IOException {
            return PARSER.parseFrom(input);
          }
          public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer parseFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer prototype) {
            return newBuilder().mergeFrom(prototype);
          }
          public Builder toBuilder() { return newBuilder(this); }

          @java.lang.Override
          protected Builder newBuilderForType(
              com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
          }
          /**
           * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer}
           *
           * <pre>
           * Response to a RestartWebServer request. Right now, there is no information
           * that needs to be passed back
           * </pre>
           */
          public static final class Builder extends
              com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
             implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServerOrBuilder {
            public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_RestartWebServer_descriptor;
            }

            protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_RestartWebServer_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.Builder.class);
            }

            // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.newBuilder()
            private Builder() {
              maybeForceBuilderInitialization();
            }

            private Builder(
                com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
              super(parent);
              maybeForceBuilderInitialization();
            }
            private void maybeForceBuilderInitialization() {
              if (com.google.gwt.dev.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.gwt.dev.protobuf.Descriptors.Descriptor
                getDescriptorForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_RestartWebServer_descriptor;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer getDefaultInstanceForType() {
              return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.getDefaultInstance();
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer build() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer result = buildPartial();
              if (!result.isInitialized()) {
                throw newUninitializedMessageException(result);
              }
              return result;
            }

            public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer buildPartial() {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer(this);
              onBuilt();
              return result;
            }

            public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
              if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer) {
                return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer)other);
              } else {
                super.mergeFrom(other);
                return this;
              }
            }

            public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer other) {
              if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.getDefaultInstance()) return this;
              this.mergeUnknownFields(other.getUnknownFields());
              return this;
            }

            public final boolean isInitialized() {
              return true;
            }

            public Builder mergeFrom(
                com.google.gwt.dev.protobuf.CodedInputStream input,
                com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer parsedMessage = null;
              try {
                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
              } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
                parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer) e.getUnfinishedMessage();
                throw e;
              } finally {
                if (parsedMessage != null) {
                  mergeFrom(parsedMessage);
                }
              }
              return this;
            }

            // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer)
          }

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

          // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer)
        }

        private int bitField0_;
        // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.ResponseType responseType = 1;
        public static final int RESPONSETYPE_FIELD_NUMBER = 1;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType responseType_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.ResponseType responseType = 1;</code>
         */
        public boolean hasResponseType() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.ResponseType responseType = 1;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType getResponseType() {
          return responseType_;
        }

        // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;
        public static final int CAPABILITYEXCHANGE_FIELD_NUMBER = 2;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;</code>
         */
        public boolean hasCapabilityExchange() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange getCapabilityExchange() {
          return capabilityExchange_;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder() {
          return capabilityExchange_;
        }

        // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;
        public static final int RESTARTWEBSERVER_FIELD_NUMBER = 3;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer restartWebServer_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;</code>
         */
        public boolean hasRestartWebServer() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer getRestartWebServer() {
          return restartWebServer_;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServerOrBuilder getRestartWebServerOrBuilder() {
          return restartWebServer_;
        }

        private void initFields() {
          responseType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType.CAPABILITY_EXCHANGE;
          capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.getDefaultInstance();
          restartWebServer_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.getDefaultInstance();
        }
        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.gwt.dev.protobuf.CodedOutputStream output)
                            throws java.io.IOException {
          getSerializedSize();
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            output.writeEnum(1, responseType_.getNumber());
          }
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            output.writeMessage(2, capabilityExchange_);
          }
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            output.writeMessage(3, restartWebServer_);
          }
          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.gwt.dev.protobuf.CodedOutputStream
              .computeEnumSize(1, responseType_.getNumber());
          }
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            size += com.google.gwt.dev.protobuf.CodedOutputStream
              .computeMessageSize(2, capabilityExchange_);
          }
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            size += com.google.gwt.dev.protobuf.CodedOutputStream
              .computeMessageSize(3, restartWebServer_);
          }
          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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse parseFrom(
            com.google.gwt.dev.protobuf.ByteString data)
            throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse parseFrom(
            com.google.gwt.dev.protobuf.ByteString data,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse parseFrom(byte[] data)
            throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse parseFrom(
            byte[] data,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return PARSER.parseFrom(input);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse parseFrom(
            java.io.InputStream input,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return PARSER.parseFrom(input, extensionRegistry);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return PARSER.parseDelimitedFrom(input);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse parseDelimitedFrom(
            java.io.InputStream input,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return PARSER.parseDelimitedFrom(input, extensionRegistry);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse parseFrom(
            com.google.gwt.dev.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return PARSER.parseFrom(input);
        }
        public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse parseFrom(
            com.google.gwt.dev.protobuf.CodedInputStream input,
            com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse prototype) {
          return newBuilder().mergeFrom(prototype);
        }
        public Builder toBuilder() { return newBuilder(this); }

        @java.lang.Override
        protected Builder newBuilderForType(
            com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        /**
         * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse}
         *
         * <pre>
         * The root type for all response messages from the DevModeService
         * </pre>
         */
        public static final class Builder extends
            com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
           implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponseOrBuilder {
          public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_descriptor;
          }

          protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.Builder.class);
          }

          // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }

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

          public Builder clear() {
            super.clear();
            responseType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType.CAPABILITY_EXCHANGE;
            bitField0_ = (bitField0_ & ~0x00000001);
            if (capabilityExchangeBuilder_ == null) {
              capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.getDefaultInstance();
            } else {
              capabilityExchangeBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000002);
            if (restartWebServerBuilder_ == null) {
              restartWebServer_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.getDefaultInstance();
            } else {
              restartWebServerBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000004);
            return this;
          }

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

          public com.google.gwt.dev.protobuf.Descriptors.Descriptor
              getDescriptorForType() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_descriptor;
          }

          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse getDefaultInstanceForType() {
            return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.getDefaultInstance();
          }

          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse build() {
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }

          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse buildPartial() {
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse(this);
            int from_bitField0_ = bitField0_;
            int to_bitField0_ = 0;
            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
              to_bitField0_ |= 0x00000001;
            }
            result.responseType_ = responseType_;
            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
              to_bitField0_ |= 0x00000002;
            }
            if (capabilityExchangeBuilder_ == null) {
              result.capabilityExchange_ = capabilityExchange_;
            } else {
              result.capabilityExchange_ = capabilityExchangeBuilder_.build();
            }
            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
              to_bitField0_ |= 0x00000004;
            }
            if (restartWebServerBuilder_ == null) {
              result.restartWebServer_ = restartWebServer_;
            } else {
              result.restartWebServer_ = restartWebServerBuilder_.build();
            }
            result.bitField0_ = to_bitField0_;
            onBuilt();
            return result;
          }

          public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
            if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse) {
              return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }

          public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse other) {
            if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.getDefaultInstance()) return this;
            if (other.hasResponseType()) {
              setResponseType(other.getResponseType());
            }
            if (other.hasCapabilityExchange()) {
              mergeCapabilityExchange(other.getCapabilityExchange());
            }
            if (other.hasRestartWebServer()) {
              mergeRestartWebServer(other.getRestartWebServer());
            }
            this.mergeUnknownFields(other.getUnknownFields());
            return this;
          }

          public final boolean isInitialized() {
            return true;
          }

          public Builder mergeFrom(
              com.google.gwt.dev.protobuf.CodedInputStream input,
              com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse parsedMessage = null;
            try {
              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
            } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
              parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse) e.getUnfinishedMessage();
              throw e;
            } finally {
              if (parsedMessage != null) {
                mergeFrom(parsedMessage);
              }
            }
            return this;
          }
          private int bitField0_;

          // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.ResponseType responseType = 1;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType responseType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType.CAPABILITY_EXCHANGE;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.ResponseType responseType = 1;</code>
           */
          public boolean hasResponseType() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.ResponseType responseType = 1;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType getResponseType() {
            return responseType_;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.ResponseType responseType = 1;</code>
           */
          public Builder setResponseType(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType value) {
            if (value == null) {
              throw new NullPointerException();
            }
            bitField0_ |= 0x00000001;
            responseType_ = value;
            onChanged();
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.ResponseType responseType = 1;</code>
           */
          public Builder clearResponseType() {
            bitField0_ = (bitField0_ & ~0x00000001);
            responseType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.ResponseType.CAPABILITY_EXCHANGE;
            onChanged();
            return this;
          }

          // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.getDefaultInstance();
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchangeOrBuilder> capabilityExchangeBuilder_;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;</code>
           */
          public boolean hasCapabilityExchange() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange getCapabilityExchange() {
            if (capabilityExchangeBuilder_ == null) {
              return capabilityExchange_;
            } else {
              return capabilityExchangeBuilder_.getMessage();
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;</code>
           */
          public Builder setCapabilityExchange(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange value) {
            if (capabilityExchangeBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              capabilityExchange_ = value;
              onChanged();
            } else {
              capabilityExchangeBuilder_.setMessage(value);
            }
            bitField0_ |= 0x00000002;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;</code>
           */
          public Builder setCapabilityExchange(
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Builder builderForValue) {
            if (capabilityExchangeBuilder_ == null) {
              capabilityExchange_ = builderForValue.build();
              onChanged();
            } else {
              capabilityExchangeBuilder_.setMessage(builderForValue.build());
            }
            bitField0_ |= 0x00000002;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;</code>
           */
          public Builder mergeCapabilityExchange(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange value) {
            if (capabilityExchangeBuilder_ == null) {
              if (((bitField0_ & 0x00000002) == 0x00000002) &&
                  capabilityExchange_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.getDefaultInstance()) {
                capabilityExchange_ =
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.newBuilder(capabilityExchange_).mergeFrom(value).buildPartial();
              } else {
                capabilityExchange_ = value;
              }
              onChanged();
            } else {
              capabilityExchangeBuilder_.mergeFrom(value);
            }
            bitField0_ |= 0x00000002;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;</code>
           */
          public Builder clearCapabilityExchange() {
            if (capabilityExchangeBuilder_ == null) {
              capabilityExchange_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.getDefaultInstance();
              onChanged();
            } else {
              capabilityExchangeBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000002);
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Builder getCapabilityExchangeBuilder() {
            bitField0_ |= 0x00000002;
            onChanged();
            return getCapabilityExchangeFieldBuilder().getBuilder();
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchangeOrBuilder getCapabilityExchangeOrBuilder() {
            if (capabilityExchangeBuilder_ != null) {
              return capabilityExchangeBuilder_.getMessageOrBuilder();
            } else {
              return capabilityExchange_;
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.CapabilityExchange capabilityExchange = 2;</code>
           */
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchangeOrBuilder>
              getCapabilityExchangeFieldBuilder() {
            if (capabilityExchangeBuilder_ == null) {
              capabilityExchangeBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchange.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.CapabilityExchangeOrBuilder>(
                      capabilityExchange_,
                      getParentForChildren(),
                      isClean());
              capabilityExchange_ = null;
            }
            return capabilityExchangeBuilder_;
          }

          // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;
          private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer restartWebServer_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.getDefaultInstance();
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServerOrBuilder> restartWebServerBuilder_;
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;</code>
           */
          public boolean hasRestartWebServer() {
            return ((bitField0_ & 0x00000004) == 0x00000004);
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer getRestartWebServer() {
            if (restartWebServerBuilder_ == null) {
              return restartWebServer_;
            } else {
              return restartWebServerBuilder_.getMessage();
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;</code>
           */
          public Builder setRestartWebServer(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer value) {
            if (restartWebServerBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              restartWebServer_ = value;
              onChanged();
            } else {
              restartWebServerBuilder_.setMessage(value);
            }
            bitField0_ |= 0x00000004;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;</code>
           */
          public Builder setRestartWebServer(
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.Builder builderForValue) {
            if (restartWebServerBuilder_ == null) {
              restartWebServer_ = builderForValue.build();
              onChanged();
            } else {
              restartWebServerBuilder_.setMessage(builderForValue.build());
            }
            bitField0_ |= 0x00000004;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;</code>
           */
          public Builder mergeRestartWebServer(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer value) {
            if (restartWebServerBuilder_ == null) {
              if (((bitField0_ & 0x00000004) == 0x00000004) &&
                  restartWebServer_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.getDefaultInstance()) {
                restartWebServer_ =
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.newBuilder(restartWebServer_).mergeFrom(value).buildPartial();
              } else {
                restartWebServer_ = value;
              }
              onChanged();
            } else {
              restartWebServerBuilder_.mergeFrom(value);
            }
            bitField0_ |= 0x00000004;
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;</code>
           */
          public Builder clearRestartWebServer() {
            if (restartWebServerBuilder_ == null) {
              restartWebServer_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.getDefaultInstance();
              onChanged();
            } else {
              restartWebServerBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000004);
            return this;
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.Builder getRestartWebServerBuilder() {
            bitField0_ |= 0x00000004;
            onChanged();
            return getRestartWebServerFieldBuilder().getBuilder();
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;</code>
           */
          public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServerOrBuilder getRestartWebServerOrBuilder() {
            if (restartWebServerBuilder_ != null) {
              return restartWebServerBuilder_.getMessageOrBuilder();
            } else {
              return restartWebServer_;
            }
          }
          /**
           * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse.RestartWebServer restartWebServer = 3;</code>
           */
          private com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServerOrBuilder>
              getRestartWebServerFieldBuilder() {
            if (restartWebServerBuilder_ == null) {
              restartWebServerBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServer.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.RestartWebServerOrBuilder>(
                      restartWebServer_,
                      getParentForChildren(),
                      isClean());
              restartWebServer_ = null;
            }
            return restartWebServerBuilder_;
          }

          // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse)
        }

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

        // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse)
      }

      private int bitField0_;
      // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;
      public static final int VIEWERRESPONSE_FIELD_NUMBER = 1;
      private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse viewerResponse_;
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;</code>
       */
      public boolean hasViewerResponse() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;</code>
       */
      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse getViewerResponse() {
        return viewerResponse_;
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;</code>
       */
      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponseOrBuilder getViewerResponseOrBuilder() {
        return viewerResponse_;
      }

      // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;
      public static final int DEVMODERESPONSE_FIELD_NUMBER = 2;
      private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse devModeResponse_;
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;</code>
       */
      public boolean hasDevModeResponse() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;</code>
       */
      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse getDevModeResponse() {
        return devModeResponse_;
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;</code>
       */
      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponseOrBuilder getDevModeResponseOrBuilder() {
        return devModeResponse_;
      }

      private void initFields() {
        viewerResponse_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.getDefaultInstance();
        devModeResponse_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        if (hasViewerResponse()) {
          if (!getViewerResponse().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeMessage(1, viewerResponse_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(2, devModeResponse_);
        }
        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.gwt.dev.protobuf.CodedOutputStream
            .computeMessageSize(1, viewerResponse_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.gwt.dev.protobuf.CodedOutputStream
            .computeMessageSize(2, devModeResponse_);
        }
        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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response parseFrom(
          com.google.gwt.dev.protobuf.ByteString data)
          throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response parseFrom(
          com.google.gwt.dev.protobuf.ByteString data,
          com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response parseFrom(byte[] data)
          throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response parseFrom(
          byte[] data,
          com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response parseFrom(
          java.io.InputStream input,
          com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response parseDelimitedFrom(
          java.io.InputStream input,
          com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response parseFrom(
          com.google.gwt.dev.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response parseFrom(
          com.google.gwt.dev.protobuf.CodedInputStream input,
          com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Response}
       *
       * <pre>
       * A response message for a request. This is the root type for all response
       * messages.
       * </pre>
       */
      public static final class Builder extends
          com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
         implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.ResponseOrBuilder {
        public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_descriptor;
        }

        protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.Builder.class);
        }

        // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

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

        public Builder clear() {
          super.clear();
          if (viewerResponseBuilder_ == null) {
            viewerResponse_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.getDefaultInstance();
          } else {
            viewerResponseBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          if (devModeResponseBuilder_ == null) {
            devModeResponse_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.getDefaultInstance();
          } else {
            devModeResponseBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

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

        public com.google.gwt.dev.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_descriptor;
        }

        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response getDefaultInstanceForType() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.getDefaultInstance();
        }

        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response build() {
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response buildPartial() {
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (viewerResponseBuilder_ == null) {
            result.viewerResponse_ = viewerResponse_;
          } else {
            result.viewerResponse_ = viewerResponseBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (devModeResponseBuilder_ == null) {
            result.devModeResponse_ = devModeResponse_;
          } else {
            result.devModeResponse_ = devModeResponseBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
          if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response) {
            return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response other) {
          if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.getDefaultInstance()) return this;
          if (other.hasViewerResponse()) {
            mergeViewerResponse(other.getViewerResponse());
          }
          if (other.hasDevModeResponse()) {
            mergeDevModeResponse(other.getDevModeResponse());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          if (hasViewerResponse()) {
            if (!getViewerResponse().isInitialized()) {

              return false;
            }
          }
          return true;
        }

        public Builder mergeFrom(
            com.google.gwt.dev.protobuf.CodedInputStream input,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        // optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse viewerResponse_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.getDefaultInstance();
        private com.google.gwt.dev.protobuf.SingleFieldBuilder<
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponseOrBuilder> viewerResponseBuilder_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;</code>
         */
        public boolean hasViewerResponse() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse getViewerResponse() {
          if (viewerResponseBuilder_ == null) {
            return viewerResponse_;
          } else {
            return viewerResponseBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;</code>
         */
        public Builder setViewerResponse(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse value) {
          if (viewerResponseBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            viewerResponse_ = value;
            onChanged();
          } else {
            viewerResponseBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;</code>
         */
        public Builder setViewerResponse(
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.Builder builderForValue) {
          if (viewerResponseBuilder_ == null) {
            viewerResponse_ = builderForValue.build();
            onChanged();
          } else {
            viewerResponseBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;</code>
         */
        public Builder mergeViewerResponse(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse value) {
          if (viewerResponseBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                viewerResponse_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.getDefaultInstance()) {
              viewerResponse_ =
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.newBuilder(viewerResponse_).mergeFrom(value).buildPartial();
            } else {
              viewerResponse_ = value;
            }
            onChanged();
          } else {
            viewerResponseBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;</code>
         */
        public Builder clearViewerResponse() {
          if (viewerResponseBuilder_ == null) {
            viewerResponse_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.getDefaultInstance();
            onChanged();
          } else {
            viewerResponseBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.Builder getViewerResponseBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getViewerResponseFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponseOrBuilder getViewerResponseOrBuilder() {
          if (viewerResponseBuilder_ != null) {
            return viewerResponseBuilder_.getMessageOrBuilder();
          } else {
            return viewerResponse_;
          }
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.ViewerResponse viewerResponse = 1;</code>
         */
        private com.google.gwt.dev.protobuf.SingleFieldBuilder<
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponseOrBuilder>
            getViewerResponseFieldBuilder() {
          if (viewerResponseBuilder_ == null) {
            viewerResponseBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponse.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.ViewerResponseOrBuilder>(
                    viewerResponse_,
                    getParentForChildren(),
                    isClean());
            viewerResponse_ = null;
          }
          return viewerResponseBuilder_;
        }

        // optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;
        private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse devModeResponse_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.getDefaultInstance();
        private com.google.gwt.dev.protobuf.SingleFieldBuilder<
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponseOrBuilder> devModeResponseBuilder_;
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;</code>
         */
        public boolean hasDevModeResponse() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse getDevModeResponse() {
          if (devModeResponseBuilder_ == null) {
            return devModeResponse_;
          } else {
            return devModeResponseBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;</code>
         */
        public Builder setDevModeResponse(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse value) {
          if (devModeResponseBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            devModeResponse_ = value;
            onChanged();
          } else {
            devModeResponseBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;</code>
         */
        public Builder setDevModeResponse(
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.Builder builderForValue) {
          if (devModeResponseBuilder_ == null) {
            devModeResponse_ = builderForValue.build();
            onChanged();
          } else {
            devModeResponseBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;</code>
         */
        public Builder mergeDevModeResponse(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse value) {
          if (devModeResponseBuilder_ == null) {
            if (((bitField0_ & 0x00000002) == 0x00000002) &&
                devModeResponse_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.getDefaultInstance()) {
              devModeResponse_ =
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.newBuilder(devModeResponse_).mergeFrom(value).buildPartial();
            } else {
              devModeResponse_ = value;
            }
            onChanged();
          } else {
            devModeResponseBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;</code>
         */
        public Builder clearDevModeResponse() {
          if (devModeResponseBuilder_ == null) {
            devModeResponse_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.getDefaultInstance();
            onChanged();
          } else {
            devModeResponseBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.Builder getDevModeResponseBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getDevModeResponseFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;</code>
         */
        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponseOrBuilder getDevModeResponseOrBuilder() {
          if (devModeResponseBuilder_ != null) {
            return devModeResponseBuilder_.getMessageOrBuilder();
          } else {
            return devModeResponse_;
          }
        }
        /**
         * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response.DevModeResponse devModeResponse = 2;</code>
         */
        private com.google.gwt.dev.protobuf.SingleFieldBuilder<
            com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponseOrBuilder>
            getDevModeResponseFieldBuilder() {
          if (devModeResponseBuilder_ == null) {
            devModeResponseBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponse.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.DevModeResponseOrBuilder>(
                    devModeResponse_,
                    getParentForChildren(),
                    isClean());
            devModeResponse_ = null;
          }
          return devModeResponseBuilder_;
        }

        // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Response)
      }

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

      // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Response)
    }

    public interface FailureOrBuilder
        extends com.google.gwt.dev.protobuf.MessageOrBuilder {

      // optional string message = 1;
      /**
       * <code>optional string message = 1;</code>
       */
      boolean hasMessage();
      /**
       * <code>optional string message = 1;</code>
       */
      java.lang.String getMessage();
      /**
       * <code>optional string message = 1;</code>
       */
      com.google.gwt.dev.protobuf.ByteString
          getMessageBytes();

      // optional string stackTrace = 2;
      /**
       * <code>optional string stackTrace = 2;</code>
       */
      boolean hasStackTrace();
      /**
       * <code>optional string stackTrace = 2;</code>
       */
      java.lang.String getStackTrace();
      /**
       * <code>optional string stackTrace = 2;</code>
       */
      com.google.gwt.dev.protobuf.ByteString
          getStackTraceBytes();
    }
    /**
     * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Failure}
     */
    public static final class Failure extends
        com.google.gwt.dev.protobuf.GeneratedMessage
        implements FailureOrBuilder {
      // Use Failure.newBuilder() to construct.
      private Failure(com.google.gwt.dev.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private Failure(boolean noInit) { this.unknownFields = com.google.gwt.dev.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

      public Failure getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.gwt.dev.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.gwt.dev.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private Failure(
          com.google.gwt.dev.protobuf.CodedInputStream input,
          com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        com.google.gwt.dev.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.gwt.dev.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;
                message_ = input.readBytes();
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                stackTrace_ = input.readBytes();
                break;
              }
            }
          }
        } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.gwt.dev.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Failure_descriptor;
      }

      protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Failure_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.Builder.class);
      }

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

      @java.lang.Override
      public com.google.gwt.dev.protobuf.Parser<Failure> getParserForType() {
        return PARSER;
      }

      private int bitField0_;
      // optional string message = 1;
      public static final int MESSAGE_FIELD_NUMBER = 1;
      private java.lang.Object message_;
      /**
       * <code>optional string message = 1;</code>
       */
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string message = 1;</code>
       */
      public java.lang.String getMessage() {
        java.lang.Object ref = message_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.gwt.dev.protobuf.ByteString bs =
              (com.google.gwt.dev.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            message_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string message = 1;</code>
       */
      public com.google.gwt.dev.protobuf.ByteString
          getMessageBytes() {
        java.lang.Object ref = message_;
        if (ref instanceof java.lang.String) {
          com.google.gwt.dev.protobuf.ByteString b =
              com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          message_ = b;
          return b;
        } else {
          return (com.google.gwt.dev.protobuf.ByteString) ref;
        }
      }

      // optional string stackTrace = 2;
      public static final int STACKTRACE_FIELD_NUMBER = 2;
      private java.lang.Object stackTrace_;
      /**
       * <code>optional string stackTrace = 2;</code>
       */
      public boolean hasStackTrace() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional string stackTrace = 2;</code>
       */
      public java.lang.String getStackTrace() {
        java.lang.Object ref = stackTrace_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.gwt.dev.protobuf.ByteString bs =
              (com.google.gwt.dev.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            stackTrace_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string stackTrace = 2;</code>
       */
      public com.google.gwt.dev.protobuf.ByteString
          getStackTraceBytes() {
        java.lang.Object ref = stackTrace_;
        if (ref instanceof java.lang.String) {
          com.google.gwt.dev.protobuf.ByteString b =
              com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          stackTrace_ = b;
          return b;
        } else {
          return (com.google.gwt.dev.protobuf.ByteString) ref;
        }
      }

      private void initFields() {
        message_ = "";
        stackTrace_ = "";
      }
      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.gwt.dev.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getMessageBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(2, getStackTraceBytes());
        }
        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.gwt.dev.protobuf.CodedOutputStream
            .computeBytesSize(1, getMessageBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.gwt.dev.protobuf.CodedOutputStream
            .computeBytesSize(2, getStackTraceBytes());
        }
        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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure parseFrom(
          com.google.gwt.dev.protobuf.ByteString data)
          throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure parseFrom(
          com.google.gwt.dev.protobuf.ByteString data,
          com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure parseFrom(byte[] data)
          throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure parseFrom(
          byte[] data,
          com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure parseFrom(
          java.io.InputStream input,
          com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure parseDelimitedFrom(
          java.io.InputStream input,
          com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure parseFrom(
          com.google.gwt.dev.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure parseFrom(
          com.google.gwt.dev.protobuf.CodedInputStream input,
          com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message.Failure}
       */
      public static final class Builder extends
          com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
         implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.FailureOrBuilder {
        public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Failure_descriptor;
        }

        protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Failure_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.Builder.class);
        }

        // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

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

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

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

        public com.google.gwt.dev.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_Failure_descriptor;
        }

        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure getDefaultInstanceForType() {
          return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.getDefaultInstance();
        }

        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure build() {
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure buildPartial() {
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.message_ = message_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.stackTrace_ = stackTrace_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
          if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure) {
            return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure other) {
          if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.getDefaultInstance()) return this;
          if (other.hasMessage()) {
            bitField0_ |= 0x00000001;
            message_ = other.message_;
            onChanged();
          }
          if (other.hasStackTrace()) {
            bitField0_ |= 0x00000002;
            stackTrace_ = other.stackTrace_;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.gwt.dev.protobuf.CodedInputStream input,
            com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        // optional string message = 1;
        private java.lang.Object message_ = "";
        /**
         * <code>optional string message = 1;</code>
         */
        public boolean hasMessage() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional string message = 1;</code>
         */
        public java.lang.String getMessage() {
          java.lang.Object ref = message_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.gwt.dev.protobuf.ByteString) ref)
                .toStringUtf8();
            message_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string message = 1;</code>
         */
        public com.google.gwt.dev.protobuf.ByteString
            getMessageBytes() {
          java.lang.Object ref = message_;
          if (ref instanceof String) {
            com.google.gwt.dev.protobuf.ByteString b =
                com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            message_ = b;
            return b;
          } else {
            return (com.google.gwt.dev.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>optional string message = 1;</code>
         */
        public Builder setMessage(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          message_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional string message = 1;</code>
         */
        public Builder clearMessage() {
          bitField0_ = (bitField0_ & ~0x00000001);
          message_ = getDefaultInstance().getMessage();
          onChanged();
          return this;
        }
        /**
         * <code>optional string message = 1;</code>
         */
        public Builder setMessageBytes(
            com.google.gwt.dev.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          message_ = value;
          onChanged();
          return this;
        }

        // optional string stackTrace = 2;
        private java.lang.Object stackTrace_ = "";
        /**
         * <code>optional string stackTrace = 2;</code>
         */
        public boolean hasStackTrace() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional string stackTrace = 2;</code>
         */
        public java.lang.String getStackTrace() {
          java.lang.Object ref = stackTrace_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.gwt.dev.protobuf.ByteString) ref)
                .toStringUtf8();
            stackTrace_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string stackTrace = 2;</code>
         */
        public com.google.gwt.dev.protobuf.ByteString
            getStackTraceBytes() {
          java.lang.Object ref = stackTrace_;
          if (ref instanceof String) {
            com.google.gwt.dev.protobuf.ByteString b =
                com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            stackTrace_ = b;
            return b;
          } else {
            return (com.google.gwt.dev.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>optional string stackTrace = 2;</code>
         */
        public Builder setStackTrace(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
          stackTrace_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional string stackTrace = 2;</code>
         */
        public Builder clearStackTrace() {
          bitField0_ = (bitField0_ & ~0x00000002);
          stackTrace_ = getDefaultInstance().getStackTrace();
          onChanged();
          return this;
        }
        /**
         * <code>optional string stackTrace = 2;</code>
         */
        public Builder setStackTraceBytes(
            com.google.gwt.dev.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
          stackTrace_ = value;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message.Failure)
      }

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

      // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message.Failure)
    }

    private int bitField0_;
    // optional string protocolVersion = 1;
    public static final int PROTOCOLVERSION_FIELD_NUMBER = 1;
    private java.lang.Object protocolVersion_;
    /**
     * <code>optional string protocolVersion = 1;</code>
     *
     * <pre>
     * In the first release, we'll ignore this field. In the future,
     * we can make use of it to detect protocol incompatibilities
     * </pre>
     */
    public boolean hasProtocolVersion() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string protocolVersion = 1;</code>
     *
     * <pre>
     * In the first release, we'll ignore this field. In the future,
     * we can make use of it to detect protocol incompatibilities
     * </pre>
     */
    public java.lang.String getProtocolVersion() {
      java.lang.Object ref = protocolVersion_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.gwt.dev.protobuf.ByteString bs =
            (com.google.gwt.dev.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          protocolVersion_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string protocolVersion = 1;</code>
     *
     * <pre>
     * In the first release, we'll ignore this field. In the future,
     * we can make use of it to detect protocol incompatibilities
     * </pre>
     */
    public com.google.gwt.dev.protobuf.ByteString
        getProtocolVersionBytes() {
      java.lang.Object ref = protocolVersion_;
      if (ref instanceof java.lang.String) {
        com.google.gwt.dev.protobuf.ByteString b =
            com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        protocolVersion_ = b;
        return b;
      } else {
        return (com.google.gwt.dev.protobuf.ByteString) ref;
      }
    }

    // optional .com.google.gwt.dev.shell.remoteui.Message.MessageType messageType = 2;
    public static final int MESSAGETYPE_FIELD_NUMBER = 2;
    private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType messageType_;
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.MessageType messageType = 2;</code>
     */
    public boolean hasMessageType() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.MessageType messageType = 2;</code>
     */
    public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType getMessageType() {
      return messageType_;
    }

    // required uint32 messageId = 3;
    public static final int MESSAGEID_FIELD_NUMBER = 3;
    private int messageId_;
    /**
     * <code>required uint32 messageId = 3;</code>
     */
    public boolean hasMessageId() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>required uint32 messageId = 3;</code>
     */
    public int getMessageId() {
      return messageId_;
    }

    // optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;
    public static final int REQUEST_FIELD_NUMBER = 4;
    private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request request_;
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;</code>
     */
    public boolean hasRequest() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;</code>
     */
    public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request getRequest() {
      return request_;
    }
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;</code>
     */
    public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.RequestOrBuilder getRequestOrBuilder() {
      return request_;
    }

    // optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;
    public static final int RESPONSE_FIELD_NUMBER = 5;
    private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response response_;
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;</code>
     */
    public boolean hasResponse() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;</code>
     */
    public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response getResponse() {
      return response_;
    }
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;</code>
     */
    public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.ResponseOrBuilder getResponseOrBuilder() {
      return response_;
    }

    // optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;
    public static final int FAILURE_FIELD_NUMBER = 6;
    private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure failure_;
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;</code>
     */
    public boolean hasFailure() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;</code>
     */
    public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure getFailure() {
      return failure_;
    }
    /**
     * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;</code>
     */
    public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.FailureOrBuilder getFailureOrBuilder() {
      return failure_;
    }

    private void initFields() {
      protocolVersion_ = "";
      messageType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType.REQUEST;
      messageId_ = 0;
      request_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.getDefaultInstance();
      response_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.getDefaultInstance();
      failure_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasMessageId()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (hasRequest()) {
        if (!getRequest().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasResponse()) {
        if (!getResponse().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.gwt.dev.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getProtocolVersionBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeEnum(2, messageType_.getNumber());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(3, messageId_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeMessage(4, request_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeMessage(5, response_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeMessage(6, failure_);
      }
      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.gwt.dev.protobuf.CodedOutputStream
          .computeBytesSize(1, getProtocolVersionBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.gwt.dev.protobuf.CodedOutputStream
          .computeEnumSize(2, messageType_.getNumber());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.gwt.dev.protobuf.CodedOutputStream
          .computeUInt32Size(3, messageId_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.gwt.dev.protobuf.CodedOutputStream
          .computeMessageSize(4, request_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.gwt.dev.protobuf.CodedOutputStream
          .computeMessageSize(5, response_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.gwt.dev.protobuf.CodedOutputStream
          .computeMessageSize(6, failure_);
      }
      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 com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message parseFrom(
        com.google.gwt.dev.protobuf.ByteString data)
        throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message parseFrom(
        com.google.gwt.dev.protobuf.ByteString data,
        com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message parseFrom(byte[] data)
        throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message parseFrom(
        byte[] data,
        com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.gwt.dev.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message parseFrom(
        java.io.InputStream input,
        com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message parseDelimitedFrom(
        java.io.InputStream input,
        com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message parseFrom(
        com.google.gwt.dev.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message parseFrom(
        com.google.gwt.dev.protobuf.CodedInputStream input,
        com.google.gwt.dev.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(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.gwt.dev.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code com.google.gwt.dev.shell.remoteui.Message}
     *
     * <pre>
     * Outer envelope for all messages
     * </pre>
     */
    public static final class Builder extends
        com.google.gwt.dev.protobuf.GeneratedMessage.Builder<Builder>
       implements com.google.gwt.dev.shell.remoteui.RemoteMessageProto.MessageOrBuilder {
      public static final com.google.gwt.dev.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_descriptor;
      }

      protected com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.class, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Builder.class);
      }

      // Construct using com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      public Builder clear() {
        super.clear();
        protocolVersion_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        messageType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType.REQUEST;
        bitField0_ = (bitField0_ & ~0x00000002);
        messageId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        if (requestBuilder_ == null) {
          request_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.getDefaultInstance();
        } else {
          requestBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        if (responseBuilder_ == null) {
          response_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.getDefaultInstance();
        } else {
          responseBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        if (failureBuilder_ == null) {
          failure_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.getDefaultInstance();
        } else {
          failureBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }

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

      public com.google.gwt.dev.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.internal_static_com_google_gwt_dev_shell_remoteui_Message_descriptor;
      }

      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message getDefaultInstanceForType() {
        return com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.getDefaultInstance();
      }

      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message build() {
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message buildPartial() {
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message result = new com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.protocolVersion_ = protocolVersion_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.messageType_ = messageType_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.messageId_ = messageId_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        if (requestBuilder_ == null) {
          result.request_ = request_;
        } else {
          result.request_ = requestBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        if (responseBuilder_ == null) {
          result.response_ = response_;
        } else {
          result.response_ = responseBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        if (failureBuilder_ == null) {
          result.failure_ = failure_;
        } else {
          result.failure_ = failureBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.gwt.dev.protobuf.Message other) {
        if (other instanceof com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message) {
          return mergeFrom((com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message other) {
        if (other == com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.getDefaultInstance()) return this;
        if (other.hasProtocolVersion()) {
          bitField0_ |= 0x00000001;
          protocolVersion_ = other.protocolVersion_;
          onChanged();
        }
        if (other.hasMessageType()) {
          setMessageType(other.getMessageType());
        }
        if (other.hasMessageId()) {
          setMessageId(other.getMessageId());
        }
        if (other.hasRequest()) {
          mergeRequest(other.getRequest());
        }
        if (other.hasResponse()) {
          mergeResponse(other.getResponse());
        }
        if (other.hasFailure()) {
          mergeFailure(other.getFailure());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasMessageId()) {

          return false;
        }
        if (hasRequest()) {
          if (!getRequest().isInitialized()) {

            return false;
          }
        }
        if (hasResponse()) {
          if (!getResponse().isInitialized()) {

            return false;
          }
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.gwt.dev.protobuf.CodedInputStream input,
          com.google.gwt.dev.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.gwt.dev.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string protocolVersion = 1;
      private java.lang.Object protocolVersion_ = "";
      /**
       * <code>optional string protocolVersion = 1;</code>
       *
       * <pre>
       * In the first release, we'll ignore this field. In the future,
       * we can make use of it to detect protocol incompatibilities
       * </pre>
       */
      public boolean hasProtocolVersion() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string protocolVersion = 1;</code>
       *
       * <pre>
       * In the first release, we'll ignore this field. In the future,
       * we can make use of it to detect protocol incompatibilities
       * </pre>
       */
      public java.lang.String getProtocolVersion() {
        java.lang.Object ref = protocolVersion_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.gwt.dev.protobuf.ByteString) ref)
              .toStringUtf8();
          protocolVersion_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string protocolVersion = 1;</code>
       *
       * <pre>
       * In the first release, we'll ignore this field. In the future,
       * we can make use of it to detect protocol incompatibilities
       * </pre>
       */
      public com.google.gwt.dev.protobuf.ByteString
          getProtocolVersionBytes() {
        java.lang.Object ref = protocolVersion_;
        if (ref instanceof String) {
          com.google.gwt.dev.protobuf.ByteString b =
              com.google.gwt.dev.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          protocolVersion_ = b;
          return b;
        } else {
          return (com.google.gwt.dev.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string protocolVersion = 1;</code>
       *
       * <pre>
       * In the first release, we'll ignore this field. In the future,
       * we can make use of it to detect protocol incompatibilities
       * </pre>
       */
      public Builder setProtocolVersion(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        protocolVersion_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string protocolVersion = 1;</code>
       *
       * <pre>
       * In the first release, we'll ignore this field. In the future,
       * we can make use of it to detect protocol incompatibilities
       * </pre>
       */
      public Builder clearProtocolVersion() {
        bitField0_ = (bitField0_ & ~0x00000001);
        protocolVersion_ = getDefaultInstance().getProtocolVersion();
        onChanged();
        return this;
      }
      /**
       * <code>optional string protocolVersion = 1;</code>
       *
       * <pre>
       * In the first release, we'll ignore this field. In the future,
       * we can make use of it to detect protocol incompatibilities
       * </pre>
       */
      public Builder setProtocolVersionBytes(
          com.google.gwt.dev.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        protocolVersion_ = value;
        onChanged();
        return this;
      }

      // optional .com.google.gwt.dev.shell.remoteui.Message.MessageType messageType = 2;
      private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType messageType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType.REQUEST;
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.MessageType messageType = 2;</code>
       */
      public boolean hasMessageType() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.MessageType messageType = 2;</code>
       */
      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType getMessageType() {
        return messageType_;
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.MessageType messageType = 2;</code>
       */
      public Builder setMessageType(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000002;
        messageType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.MessageType messageType = 2;</code>
       */
      public Builder clearMessageType() {
        bitField0_ = (bitField0_ & ~0x00000002);
        messageType_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.MessageType.REQUEST;
        onChanged();
        return this;
      }

      // required uint32 messageId = 3;
      private int messageId_ ;
      /**
       * <code>required uint32 messageId = 3;</code>
       */
      public boolean hasMessageId() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>required uint32 messageId = 3;</code>
       */
      public int getMessageId() {
        return messageId_;
      }
      /**
       * <code>required uint32 messageId = 3;</code>
       */
      public Builder setMessageId(int value) {
        bitField0_ |= 0x00000004;
        messageId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required uint32 messageId = 3;</code>
       */
      public Builder clearMessageId() {
        bitField0_ = (bitField0_ & ~0x00000004);
        messageId_ = 0;
        onChanged();
        return this;
      }

      // optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;
      private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request request_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.getDefaultInstance();
      private com.google.gwt.dev.protobuf.SingleFieldBuilder<
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.RequestOrBuilder> requestBuilder_;
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;</code>
       */
      public boolean hasRequest() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;</code>
       */
      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request getRequest() {
        if (requestBuilder_ == null) {
          return request_;
        } else {
          return requestBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;</code>
       */
      public Builder setRequest(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request value) {
        if (requestBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          request_ = value;
          onChanged();
        } else {
          requestBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;</code>
       */
      public Builder setRequest(
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.Builder builderForValue) {
        if (requestBuilder_ == null) {
          request_ = builderForValue.build();
          onChanged();
        } else {
          requestBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;</code>
       */
      public Builder mergeRequest(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request value) {
        if (requestBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008) &&
              request_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.getDefaultInstance()) {
            request_ =
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.newBuilder(request_).mergeFrom(value).buildPartial();
          } else {
            request_ = value;
          }
          onChanged();
        } else {
          requestBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;</code>
       */
      public Builder clearRequest() {
        if (requestBuilder_ == null) {
          request_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.getDefaultInstance();
          onChanged();
        } else {
          requestBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;</code>
       */
      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.Builder getRequestBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getRequestFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;</code>
       */
      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.RequestOrBuilder getRequestOrBuilder() {
        if (requestBuilder_ != null) {
          return requestBuilder_.getMessageOrBuilder();
        } else {
          return request_;
        }
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Request request = 4;</code>
       */
      private com.google.gwt.dev.protobuf.SingleFieldBuilder<
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.RequestOrBuilder>
          getRequestFieldBuilder() {
        if (requestBuilder_ == null) {
          requestBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Request.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.RequestOrBuilder>(
                  request_,
                  getParentForChildren(),
                  isClean());
          request_ = null;
        }
        return requestBuilder_;
      }

      // optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;
      private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response response_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.getDefaultInstance();
      private com.google.gwt.dev.protobuf.SingleFieldBuilder<
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.ResponseOrBuilder> responseBuilder_;
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;</code>
       */
      public boolean hasResponse() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;</code>
       */
      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response getResponse() {
        if (responseBuilder_ == null) {
          return response_;
        } else {
          return responseBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;</code>
       */
      public Builder setResponse(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response value) {
        if (responseBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          response_ = value;
          onChanged();
        } else {
          responseBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;</code>
       */
      public Builder setResponse(
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.Builder builderForValue) {
        if (responseBuilder_ == null) {
          response_ = builderForValue.build();
          onChanged();
        } else {
          responseBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;</code>
       */
      public Builder mergeResponse(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response value) {
        if (responseBuilder_ == null) {
          if (((bitField0_ & 0x00000010) == 0x00000010) &&
              response_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.getDefaultInstance()) {
            response_ =
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.newBuilder(response_).mergeFrom(value).buildPartial();
          } else {
            response_ = value;
          }
          onChanged();
        } else {
          responseBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;</code>
       */
      public Builder clearResponse() {
        if (responseBuilder_ == null) {
          response_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.getDefaultInstance();
          onChanged();
        } else {
          responseBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;</code>
       */
      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.Builder getResponseBuilder() {
        bitField0_ |= 0x00000010;
        onChanged();
        return getResponseFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;</code>
       */
      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.ResponseOrBuilder getResponseOrBuilder() {
        if (responseBuilder_ != null) {
          return responseBuilder_.getMessageOrBuilder();
        } else {
          return response_;
        }
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Response response = 5;</code>
       */
      private com.google.gwt.dev.protobuf.SingleFieldBuilder<
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.ResponseOrBuilder>
          getResponseFieldBuilder() {
        if (responseBuilder_ == null) {
          responseBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Response.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.ResponseOrBuilder>(
                  response_,
                  getParentForChildren(),
                  isClean());
          response_ = null;
        }
        return responseBuilder_;
      }

      // optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;
      private com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure failure_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.getDefaultInstance();
      private com.google.gwt.dev.protobuf.SingleFieldBuilder<
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.FailureOrBuilder> failureBuilder_;
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;</code>
       */
      public boolean hasFailure() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;</code>
       */
      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure getFailure() {
        if (failureBuilder_ == null) {
          return failure_;
        } else {
          return failureBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;</code>
       */
      public Builder setFailure(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure value) {
        if (failureBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          failure_ = value;
          onChanged();
        } else {
          failureBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000020;
        return this;
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;</code>
       */
      public Builder setFailure(
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.Builder builderForValue) {
        if (failureBuilder_ == null) {
          failure_ = builderForValue.build();
          onChanged();
        } else {
          failureBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000020;
        return this;
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;</code>
       */
      public Builder mergeFailure(com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure value) {
        if (failureBuilder_ == null) {
          if (((bitField0_ & 0x00000020) == 0x00000020) &&
              failure_ != com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.getDefaultInstance()) {
            failure_ =
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.newBuilder(failure_).mergeFrom(value).buildPartial();
          } else {
            failure_ = value;
          }
          onChanged();
        } else {
          failureBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000020;
        return this;
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;</code>
       */
      public Builder clearFailure() {
        if (failureBuilder_ == null) {
          failure_ = com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.getDefaultInstance();
          onChanged();
        } else {
          failureBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;</code>
       */
      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.Builder getFailureBuilder() {
        bitField0_ |= 0x00000020;
        onChanged();
        return getFailureFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;</code>
       */
      public com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.FailureOrBuilder getFailureOrBuilder() {
        if (failureBuilder_ != null) {
          return failureBuilder_.getMessageOrBuilder();
        } else {
          return failure_;
        }
      }
      /**
       * <code>optional .com.google.gwt.dev.shell.remoteui.Message.Failure failure = 6;</code>
       */
      private com.google.gwt.dev.protobuf.SingleFieldBuilder<
          com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.FailureOrBuilder>
          getFailureFieldBuilder() {
        if (failureBuilder_ == null) {
          failureBuilder_ = new com.google.gwt.dev.protobuf.SingleFieldBuilder<
              com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.Failure.Builder, com.google.gwt.dev.shell.remoteui.RemoteMessageProto.Message.FailureOrBuilder>(
                  failure_,
                  getParentForChildren(),
                  isClean());
          failure_ = null;
        }
        return failureBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:com.google.gwt.dev.shell.remoteui.Message)
    }

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

    // @@protoc_insertion_point(class_scope:com.google.gwt.dev.shell.remoteui.Message)
  }

  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_CapabilityExchange_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_CapabilityExchange_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ModuleLog_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ModuleLog_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ServerLog_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ServerLog_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_MainLog_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_MainLog_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_HelpInfo_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_HelpInfo_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogBranch_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogBranch_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogEntry_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogEntry_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_DisconnectLog_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_DisconnectLog_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_Initialize_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_Initialize_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_CapabilityExchange_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_CapabilityExchange_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_RestartWebServer_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_RestartWebServer_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_Capability_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_Capability_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLog_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLog_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLogBranch_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLogBranch_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_Capability_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_Capability_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_RestartWebServer_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_RestartWebServer_fieldAccessorTable;
  private static com.google.gwt.dev.protobuf.Descriptors.Descriptor
    internal_static_com_google_gwt_dev_shell_remoteui_Message_Failure_descriptor;
  private static
    com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_google_gwt_dev_shell_remoteui_Message_Failure_fieldAccessorTable;

  public static com.google.gwt.dev.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static com.google.gwt.dev.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\023remotemessage.proto\022!com.google.gwt.de" +
      "v.shell.remoteui\"\271\'\n\007Message\022\027\n\017protocol" +
      "Version\030\001 \001(\t\022K\n\013messageType\030\002 \001(\01626.com" +
      ".google.gwt.dev.shell.remoteui.Message.M" +
      "essageType\022\021\n\tmessageId\030\003 \002(\r\022C\n\007request" +
      "\030\004 \001(\01322.com.google.gwt.dev.shell.remote" +
      "ui.Message.Request\022E\n\010response\030\005 \001(\01323.c" +
      "om.google.gwt.dev.shell.remoteui.Message" +
      ".Response\022C\n\007failure\030\006 \001(\01322.com.google." +
      "gwt.dev.shell.remoteui.Message.Failure\032\307",
      "\026\n\007Request\022S\n\013serviceType\030\001 \001(\0162>.com.go" +
      "ogle.gwt.dev.shell.remoteui.Message.Requ" +
      "est.ServiceType\022W\n\rviewerRequest\030\002 \001(\0132@" +
      ".com.google.gwt.dev.shell.remoteui.Messa" +
      "ge.Request.ViewerRequest\022Y\n\016devModeReque" +
      "st\030\003 \001(\0132A.com.google.gwt.dev.shell.remo" +
      "teui.Message.Request.DevModeRequest\032\310\020\n\r" +
      "ViewerRequest\022a\n\013requestType\030\001 \001(\0162L.com" +
      ".google.gwt.dev.shell.remoteui.Message.R" +
      "equest.ViewerRequest.RequestType\022o\n\022capa",
      "bilityExchange\030\002 \001(\0132S.com.google.gwt.de" +
      "v.shell.remoteui.Message.Request.ViewerR" +
      "equest.CapabilityExchange\022W\n\006addLog\030\003 \001(" +
      "\0132G.com.google.gwt.dev.shell.remoteui.Me" +
      "ssage.Request.ViewerRequest.AddLog\022c\n\014ad" +
      "dLogBranch\030\004 \001(\0132M.com.google.gwt.dev.sh" +
      "ell.remoteui.Message.Request.ViewerReque" +
      "st.AddLogBranch\022a\n\013addLogEntry\030\005 \001(\0132L.c" +
      "om.google.gwt.dev.shell.remoteui.Message" +
      ".Request.ViewerRequest.AddLogEntry\022e\n\rdi",
      "sconnectLog\030\006 \001(\0132N.com.google.gwt.dev.s" +
      "hell.remoteui.Message.Request.ViewerRequ" +
      "est.DisconnectLog\022_\n\ninitialize\030\007 \001(\0132K." +
      "com.google.gwt.dev.shell.remoteui.Messag" +
      "e.Request.ViewerRequest.Initialize\032\024\n\022Ca" +
      "pabilityExchange\032\373\004\n\006AddLog\022]\n\004type\030\001 \001(" +
      "\0162O.com.google.gwt.dev.shell.remoteui.Me" +
      "ssage.Request.ViewerRequest.AddLog.LogTy" +
      "pe\022d\n\tmoduleLog\030\002 \001(\0132Q.com.google.gwt.d" +
      "ev.shell.remoteui.Message.Request.Viewer",
      "Request.AddLog.ModuleLog\022d\n\tserverLog\030\003 " +
      "\001(\0132Q.com.google.gwt.dev.shell.remoteui." +
      "Message.Request.ViewerRequest.AddLog.Ser" +
      "verLog\022`\n\007mainLog\030\004 \001(\0132O.com.google.gwt" +
      ".dev.shell.remoteui.Message.Request.View" +
      "erRequest.AddLog.MainLog\032\177\n\tModuleLog\022\014\n" +
      "\004name\030\001 \002(\t\022\014\n\004icon\030\002 \001(\014\022\022\n\nsessionKey\030" +
      "\003 \001(\t\022\021\n\tuserAgent\030\004 \001(\t\022\013\n\003url\030\005 \001(\t\022\016\n" +
      "\006tabKey\030\006 \001(\t\022\022\n\nremoteHost\030\007 \001(\t\032\'\n\tSer" +
      "verLog\022\014\n\004name\030\001 \002(\t\022\014\n\004icon\030\002 \001(\014\032\t\n\007Ma",
      "inLog\"/\n\007LogType\022\010\n\004MAIN\020\000\022\n\n\006MODULE\020\001\022\016" +
      "\n\nWEB_SERVER\020\002\032\336\001\n\007LogData\022\017\n\007summary\030\001 " +
      "\002(\t\022\r\n\005level\030\002 \001(\t\022\026\n\016needsAttention\030\003 \001" +
      "(\010\022\017\n\007details\030\004 \001(\t\022c\n\010helpInfo\030\005 \001(\0132Q." +
      "com.google.gwt.dev.shell.remoteui.Messag" +
      "e.Request.ViewerRequest.LogData.HelpInfo" +
      "\032%\n\010HelpInfo\022\013\n\003url\030\001 \001(\t\022\014\n\004text\030\002 \001(\t\032" +
      "\231\001\n\014AddLogBranch\022\027\n\017parentLogHandle\030\001 \002(" +
      "\r\022\025\n\rindexInParent\030\002 \002(\r\022Y\n\007logData\030\003 \002(" +
      "\0132H.com.google.gwt.dev.shell.remoteui.Me",
      "ssage.Request.ViewerRequest.LogData\032\217\001\n\013" +
      "AddLogEntry\022\021\n\tlogHandle\030\001 \002(\r\022\022\n\nindexI" +
      "nLog\030\002 \002(\r\022Y\n\007logData\030\003 \002(\0132H.com.google" +
      ".gwt.dev.shell.remoteui.Message.Request." +
      "ViewerRequest.LogData\032\"\n\rDisconnectLog\022\021" +
      "\n\tlogHandle\030\001 \002(\r\0323\n\nInitialize\022\020\n\010clien" +
      "tId\030\001 \001(\t\022\023\n\013startupURLs\030\002 \003(\t\"~\n\013Reques" +
      "tType\022\027\n\023CAPABILITY_EXCHANGE\020\000\022\013\n\007ADD_LO" +
      "G\020\001\022\022\n\016ADD_LOG_BRANCH\020\002\022\021\n\rADD_LOG_ENTRY" +
      "\020\003\022\022\n\016DISCONNECT_LOG\020\004\022\016\n\nINITIALIZE\020\005\032\276",
      "\003\n\016DevModeRequest\022b\n\013requestType\030\001 \001(\0162M" +
      ".com.google.gwt.dev.shell.remoteui.Messa" +
      "ge.Request.DevModeRequest.RequestType\022p\n" +
      "\022capabilityExchange\030\002 \001(\0132T.com.google.g" +
      "wt.dev.shell.remoteui.Message.Request.De" +
      "vModeRequest.CapabilityExchange\022l\n\020resta" +
      "rtWebServer\030\003 \001(\0132R.com.google.gwt.dev.s" +
      "hell.remoteui.Message.Request.DevModeReq" +
      "uest.RestartWebServer\032\024\n\022CapabilityExcha" +
      "nge\032\022\n\020RestartWebServer\">\n\013RequestType\022\027",
      "\n\023CAPABILITY_EXCHANGE\020\000\022\026\n\022RESTART_WEB_S" +
      "ERVER\020\001\"\'\n\013ServiceType\022\n\n\006VIEWER\020\000\022\014\n\010DE" +
      "V_MODE\020\001\032\262\r\n\010Response\022Z\n\016viewerResponse\030" +
      "\001 \001(\0132B.com.google.gwt.dev.shell.remoteu" +
      "i.Message.Response.ViewerResponse\022\\\n\017dev" +
      "ModeResponse\030\002 \001(\0132C.com.google.gwt.dev." +
      "shell.remoteui.Message.Response.DevModeR" +
      "esponse\032\265\006\n\016ViewerResponse\022e\n\014responseTy" +
      "pe\030\001 \001(\0162O.com.google.gwt.dev.shell.remo" +
      "teui.Message.Response.ViewerResponse.Res",
      "ponseType\022q\n\022capabilityExchange\030\002 \001(\0132U." +
      "com.google.gwt.dev.shell.remoteui.Messag" +
      "e.Response.ViewerResponse.CapabilityExch" +
      "ange\022Y\n\006addLog\030\003 \001(\0132I.com.google.gwt.de" +
      "v.shell.remoteui.Message.Response.Viewer" +
      "Response.AddLog\022e\n\014addLogBranch\030\004 \001(\0132O." +
      "com.google.gwt.dev.shell.remoteui.Messag" +
      "e.Response.ViewerResponse.AddLogBranch\032\374" +
      "\001\n\022CapabilityExchange\022v\n\014capabilities\030\002 " +
      "\003(\0132`.com.google.gwt.dev.shell.remoteui.",
      "Message.Response.ViewerResponse.Capabili" +
      "tyExchange.Capability\032n\n\nCapability\022`\n\nc" +
      "apability\030\001 \001(\0162L.com.google.gwt.dev.she" +
      "ll.remoteui.Message.Request.ViewerReques" +
      "t.RequestType\032\033\n\006AddLog\022\021\n\tlogHandle\030\001 \002" +
      "(\r\032!\n\014AddLogBranch\022\021\n\tlogHandle\030\001 \002(\r\"H\n" +
      "\014ResponseType\022\027\n\023CAPABILITY_EXCHANGE\020\000\022\013" +
      "\n\007ADD_LOG\020\001\022\022\n\016ADD_LOG_BRANCH\020\002\032\263\005\n\017DevM" +
      "odeResponse\022f\n\014responseType\030\001 \001(\0162P.com." +
      "google.gwt.dev.shell.remoteui.Message.Re",
      "sponse.DevModeResponse.ResponseType\022r\n\022c" +
      "apabilityExchange\030\002 \001(\0132V.com.google.gwt" +
      ".dev.shell.remoteui.Message.Response.Dev" +
      "ModeResponse.CapabilityExchange\022n\n\020resta" +
      "rtWebServer\030\003 \001(\0132T.com.google.gwt.dev.s" +
      "hell.remoteui.Message.Response.DevModeRe" +
      "sponse.RestartWebServer\032\376\001\n\022CapabilityEx" +
      "change\022w\n\014capabilities\030\002 \003(\0132a.com.googl" +
      "e.gwt.dev.shell.remoteui.Message.Respons" +
      "e.DevModeResponse.CapabilityExchange.Cap",
      "ability\032o\n\nCapability\022a\n\ncapability\030\001 \001(" +
      "\0162M.com.google.gwt.dev.shell.remoteui.Me" +
      "ssage.Request.DevModeRequest.RequestType" +
      "\032\022\n\020RestartWebServer\"?\n\014ResponseType\022\027\n\023" +
      "CAPABILITY_EXCHANGE\020\000\022\026\n\022RESTART_WEB_SER" +
      "VER\020\001\032.\n\007Failure\022\017\n\007message\030\001 \001(\t\022\022\n\nsta" +
      "ckTrace\030\002 \001(\t\"5\n\013MessageType\022\013\n\007REQUEST\020" +
      "\000\022\014\n\010RESPONSE\020\001\022\013\n\007FAILURE\020\002B\024B\022RemoteMe" +
      "ssageProto"
    };
    com.google.gwt.dev.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
      new com.google.gwt.dev.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
        public com.google.gwt.dev.protobuf.ExtensionRegistry assignDescriptors(
            com.google.gwt.dev.protobuf.Descriptors.FileDescriptor root) {
          descriptor = root;
          internal_static_com_google_gwt_dev_shell_remoteui_Message_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_descriptor,
              new java.lang.String[] { "ProtocolVersion", "MessageType", "MessageId", "Request", "Response", "Failure", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_descriptor.getNestedTypes().get(0);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_descriptor,
              new java.lang.String[] { "ServiceType", "ViewerRequest", "DevModeRequest", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_descriptor.getNestedTypes().get(0);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor,
              new java.lang.String[] { "RequestType", "CapabilityExchange", "AddLog", "AddLogBranch", "AddLogEntry", "DisconnectLog", "Initialize", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_CapabilityExchange_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor.getNestedTypes().get(0);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_CapabilityExchange_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_CapabilityExchange_descriptor,
              new java.lang.String[] { });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor.getNestedTypes().get(1);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_descriptor,
              new java.lang.String[] { "Type", "ModuleLog", "ServerLog", "MainLog", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ModuleLog_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_descriptor.getNestedTypes().get(0);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ModuleLog_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ModuleLog_descriptor,
              new java.lang.String[] { "Name", "Icon", "SessionKey", "UserAgent", "Url", "TabKey", "RemoteHost", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ServerLog_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_descriptor.getNestedTypes().get(1);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ServerLog_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_ServerLog_descriptor,
              new java.lang.String[] { "Name", "Icon", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_MainLog_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_descriptor.getNestedTypes().get(2);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_MainLog_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLog_MainLog_descriptor,
              new java.lang.String[] { });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor.getNestedTypes().get(2);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_descriptor,
              new java.lang.String[] { "Summary", "Level", "NeedsAttention", "Details", "HelpInfo", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_HelpInfo_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_descriptor.getNestedTypes().get(0);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_HelpInfo_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_LogData_HelpInfo_descriptor,
              new java.lang.String[] { "Url", "Text", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogBranch_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor.getNestedTypes().get(3);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogBranch_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogBranch_descriptor,
              new java.lang.String[] { "ParentLogHandle", "IndexInParent", "LogData", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogEntry_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor.getNestedTypes().get(4);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogEntry_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_AddLogEntry_descriptor,
              new java.lang.String[] { "LogHandle", "IndexInLog", "LogData", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_DisconnectLog_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor.getNestedTypes().get(5);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_DisconnectLog_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_DisconnectLog_descriptor,
              new java.lang.String[] { "LogHandle", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_Initialize_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_descriptor.getNestedTypes().get(6);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_Initialize_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_ViewerRequest_Initialize_descriptor,
              new java.lang.String[] { "ClientId", "StartupURLs", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_descriptor.getNestedTypes().get(1);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_descriptor,
              new java.lang.String[] { "RequestType", "CapabilityExchange", "RestartWebServer", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_CapabilityExchange_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_descriptor.getNestedTypes().get(0);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_CapabilityExchange_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_CapabilityExchange_descriptor,
              new java.lang.String[] { });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_RestartWebServer_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_descriptor.getNestedTypes().get(1);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_RestartWebServer_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Request_DevModeRequest_RestartWebServer_descriptor,
              new java.lang.String[] { });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_descriptor.getNestedTypes().get(1);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_descriptor,
              new java.lang.String[] { "ViewerResponse", "DevModeResponse", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_descriptor.getNestedTypes().get(0);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_descriptor,
              new java.lang.String[] { "ResponseType", "CapabilityExchange", "AddLog", "AddLogBranch", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_descriptor.getNestedTypes().get(0);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_descriptor,
              new java.lang.String[] { "Capabilities", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_Capability_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_descriptor.getNestedTypes().get(0);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_Capability_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_CapabilityExchange_Capability_descriptor,
              new java.lang.String[] { "Capability", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLog_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_descriptor.getNestedTypes().get(1);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLog_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLog_descriptor,
              new java.lang.String[] { "LogHandle", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLogBranch_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_descriptor.getNestedTypes().get(2);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLogBranch_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_ViewerResponse_AddLogBranch_descriptor,
              new java.lang.String[] { "LogHandle", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_descriptor.getNestedTypes().get(1);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_descriptor,
              new java.lang.String[] { "ResponseType", "CapabilityExchange", "RestartWebServer", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_descriptor.getNestedTypes().get(0);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_descriptor,
              new java.lang.String[] { "Capabilities", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_Capability_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_descriptor.getNestedTypes().get(0);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_Capability_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_CapabilityExchange_Capability_descriptor,
              new java.lang.String[] { "Capability", });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_RestartWebServer_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_descriptor.getNestedTypes().get(1);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_RestartWebServer_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Response_DevModeResponse_RestartWebServer_descriptor,
              new java.lang.String[] { });
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Failure_descriptor =
            internal_static_com_google_gwt_dev_shell_remoteui_Message_descriptor.getNestedTypes().get(2);
          internal_static_com_google_gwt_dev_shell_remoteui_Message_Failure_fieldAccessorTable = new
            com.google.gwt.dev.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_google_gwt_dev_shell_remoteui_Message_Failure_descriptor,
              new java.lang.String[] { "Message", "StackTrace", });
          return null;
        }
      };
    com.google.gwt.dev.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.gwt.dev.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
  }

  // @@protoc_insertion_point(outer_class_scope)
}
