bookkeeper-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From zhai...@apache.org
Subject [bookkeeper] branch master updated: ISSUE #473: Bump protobuf version from 2.x to 3.x
Date Sun, 27 Aug 2017 01:00:02 GMT
This is an automated email from the ASF dual-hosted git repository.

zhaijia pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/master by this push:
     new 814edb6  ISSUE #473: Bump protobuf version from 2.x to 3.x
814edb6 is described below

commit 814edb69dda698e6f719bf4b0c970c206064f606
Author: Sijie Guo <sijie@apache.org>
AuthorDate: Sun Aug 27 08:59:50 2017 +0800

    ISSUE #473: Bump protobuf version from 2.x to 3.x
    
    Descriptions of the changes in this PR:
    
    - Bump protobuf version from 2.x to 3.x
    - Removed the generated protobuf files from source repo.
    - Use maven protobuf plugin to generate the protobuf files.
    
    Author: Sijie Guo <sijie@apache.org>
    
    Reviewers: Jia Zhai <None>, Enrico Olivelli <eolivelli@gmail.com>, Matteo Merli <mmerli@apache.org>
    
    This closes #474 from sijie/protobuf3, closes #473
---
 bookkeeper-server/pom.xml                          |    55 +-
 .../bookkeeper/proto/BookkeeperProtocol.java       | 13253 -------------------
 .../org/apache/bookkeeper/proto/DataFormats.java   |  6303 ---------
 pom.xml                                            |     3 +-
 4 files changed, 25 insertions(+), 19589 deletions(-)

diff --git a/bookkeeper-server/pom.xml b/bookkeeper-server/pom.xml
index 0a5429f..bafa29a 100644
--- a/bookkeeper-server/pom.xml
+++ b/bookkeeper-server/pom.xml
@@ -190,6 +190,13 @@
     </dependency>
   </dependencies>
   <build>
+    <extensions>
+      <extension>
+        <groupId>kr.motd.maven</groupId>
+        <artifactId>os-maven-plugin</artifactId>
+        <version>1.4.1.Final</version>
+      </extension>
+    </extensions>
     <plugins>
       <plugin>
         <!-- for mini-kdc -->
@@ -202,7 +209,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-shade-plugin</artifactId>
-        <version>2.4.3</version>
+        <version>${maven-shade-plugin.version}</version>
         <configuration>
           <!-- put your configurations here -->
         </configuration>
@@ -375,41 +382,25 @@
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <groupId>org.xolstice.maven.plugins</groupId>
+        <artifactId>protobuf-maven-plugin</artifactId>
+        <version>0.5.0</version>
+        <configuration>
+          <protocArtifact>com.google.protobuf:protoc:3.4.0:exe:${os.detected.classifier}</protocArtifact>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>compile</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
   <profiles>
     <profile>
-      <id>protobuf</id>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-antrun-plugin</artifactId>
-            <executions>
-              <execution>
-                <phase>generate-sources</phase>
-                <id>default-cli</id>
-                <configuration>
-                  <target>
-                    <exec executable="protoc" failonerror="true">
-                      <arg value="--java_out=src/main/java" />
-                      <arg value="src/main/proto/DataFormats.proto" />
-                    </exec>
-                    <exec executable="protoc" failonerror="true">
-                      <arg value="--java_out=src/main/java" />
-                      <arg value="src/main/proto/BookkeeperProtocol.proto" />
-                    </exec>
-                  </target>
-                </configuration>
-                <goals>
-                  <goal>run</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-    <profile>
       <id>twitter-science-provider</id>
       <dependencies>
         <dependency>
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookkeeperProtocol.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookkeeperProtocol.java
deleted file mode 100644
index 4f054c0..0000000
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookkeeperProtocol.java
+++ /dev/null
@@ -1,13253 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: src/main/proto/BookkeeperProtocol.proto
-
-package org.apache.bookkeeper.proto;
-
-public final class BookkeeperProtocol {
-  private BookkeeperProtocol() {}
-  public static void registerAllExtensions(
-      com.google.protobuf.ExtensionRegistry registry) {
-  }
-  /**
-   * Protobuf enum {@code ProtocolVersion}
-   *
-   * <pre>
-   **
-   * Protocol Versions.
-   * </pre>
-   */
-  public enum ProtocolVersion
-      implements com.google.protobuf.ProtocolMessageEnum {
-    /**
-     * <code>VERSION_ONE = 1;</code>
-     */
-    VERSION_ONE(0, 1),
-    /**
-     * <code>VERSION_TWO = 2;</code>
-     */
-    VERSION_TWO(1, 2),
-    /**
-     * <code>VERSION_THREE = 3;</code>
-     */
-    VERSION_THREE(2, 3),
-    ;
-
-    /**
-     * <code>VERSION_ONE = 1;</code>
-     */
-    public static final int VERSION_ONE_VALUE = 1;
-    /**
-     * <code>VERSION_TWO = 2;</code>
-     */
-    public static final int VERSION_TWO_VALUE = 2;
-    /**
-     * <code>VERSION_THREE = 3;</code>
-     */
-    public static final int VERSION_THREE_VALUE = 3;
-
-
-    public final int getNumber() { return value; }
-
-    public static ProtocolVersion valueOf(int value) {
-      switch (value) {
-        case 1: return VERSION_ONE;
-        case 2: return VERSION_TWO;
-        case 3: return VERSION_THREE;
-        default: return null;
-      }
-    }
-
-    public static com.google.protobuf.Internal.EnumLiteMap<ProtocolVersion>
-        internalGetValueMap() {
-      return internalValueMap;
-    }
-    private static com.google.protobuf.Internal.EnumLiteMap<ProtocolVersion>
-        internalValueMap =
-          new com.google.protobuf.Internal.EnumLiteMap<ProtocolVersion>() {
-            public ProtocolVersion findValueByNumber(int number) {
-              return ProtocolVersion.valueOf(number);
-            }
-          };
-
-    public final com.google.protobuf.Descriptors.EnumValueDescriptor
-        getValueDescriptor() {
-      return getDescriptor().getValues().get(index);
-    }
-    public final com.google.protobuf.Descriptors.EnumDescriptor
-        getDescriptorForType() {
-      return getDescriptor();
-    }
-    public static final com.google.protobuf.Descriptors.EnumDescriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.getDescriptor().getEnumTypes().get(0);
-    }
-
-    private static final ProtocolVersion[] VALUES = values();
-
-    public static ProtocolVersion valueOf(
-        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
-      if (desc.getType() != getDescriptor()) {
-        throw new java.lang.IllegalArgumentException(
-          "EnumValueDescriptor is not for this type.");
-      }
-      return VALUES[desc.getIndex()];
-    }
-
-    private final int index;
-    private final int value;
-
-    private ProtocolVersion(int index, int value) {
-      this.index = index;
-      this.value = value;
-    }
-
-    // @@protoc_insertion_point(enum_scope:ProtocolVersion)
-  }
-
-  /**
-   * Protobuf enum {@code StatusCode}
-   *
-   * <pre>
-   **
-   * Status codes.
-   * </pre>
-   */
-  public enum StatusCode
-      implements com.google.protobuf.ProtocolMessageEnum {
-    /**
-     * <code>EOK = 0;</code>
-     */
-    EOK(0, 0),
-    /**
-     * <code>ENOLEDGER = 402;</code>
-     *
-     * <pre>
-     * Server side Errors 4xx
-     * </pre>
-     */
-    ENOLEDGER(1, 402),
-    /**
-     * <code>ENOENTRY = 403;</code>
-     */
-    ENOENTRY(2, 403),
-    /**
-     * <code>EBADREQ = 404;</code>
-     */
-    EBADREQ(3, 404),
-    /**
-     * <code>EIO = 501;</code>
-     *
-     * <pre>
-     * IO/access errors 5xx
-     * </pre>
-     */
-    EIO(4, 501),
-    /**
-     * <code>EUA = 502;</code>
-     */
-    EUA(5, 502),
-    /**
-     * <code>EBADVERSION = 503;</code>
-     */
-    EBADVERSION(6, 503),
-    /**
-     * <code>EFENCED = 504;</code>
-     */
-    EFENCED(7, 504),
-    /**
-     * <code>EREADONLY = 505;</code>
-     */
-    EREADONLY(8, 505),
-    ;
-
-    /**
-     * <code>EOK = 0;</code>
-     */
-    public static final int EOK_VALUE = 0;
-    /**
-     * <code>ENOLEDGER = 402;</code>
-     *
-     * <pre>
-     * Server side Errors 4xx
-     * </pre>
-     */
-    public static final int ENOLEDGER_VALUE = 402;
-    /**
-     * <code>ENOENTRY = 403;</code>
-     */
-    public static final int ENOENTRY_VALUE = 403;
-    /**
-     * <code>EBADREQ = 404;</code>
-     */
-    public static final int EBADREQ_VALUE = 404;
-    /**
-     * <code>EIO = 501;</code>
-     *
-     * <pre>
-     * IO/access errors 5xx
-     * </pre>
-     */
-    public static final int EIO_VALUE = 501;
-    /**
-     * <code>EUA = 502;</code>
-     */
-    public static final int EUA_VALUE = 502;
-    /**
-     * <code>EBADVERSION = 503;</code>
-     */
-    public static final int EBADVERSION_VALUE = 503;
-    /**
-     * <code>EFENCED = 504;</code>
-     */
-    public static final int EFENCED_VALUE = 504;
-    /**
-     * <code>EREADONLY = 505;</code>
-     */
-    public static final int EREADONLY_VALUE = 505;
-
-
-    public final int getNumber() { return value; }
-
-    public static StatusCode valueOf(int value) {
-      switch (value) {
-        case 0: return EOK;
-        case 402: return ENOLEDGER;
-        case 403: return ENOENTRY;
-        case 404: return EBADREQ;
-        case 501: return EIO;
-        case 502: return EUA;
-        case 503: return EBADVERSION;
-        case 504: return EFENCED;
-        case 505: return EREADONLY;
-        default: return null;
-      }
-    }
-
-    public static com.google.protobuf.Internal.EnumLiteMap<StatusCode>
-        internalGetValueMap() {
-      return internalValueMap;
-    }
-    private static com.google.protobuf.Internal.EnumLiteMap<StatusCode>
-        internalValueMap =
-          new com.google.protobuf.Internal.EnumLiteMap<StatusCode>() {
-            public StatusCode findValueByNumber(int number) {
-              return StatusCode.valueOf(number);
-            }
-          };
-
-    public final com.google.protobuf.Descriptors.EnumValueDescriptor
-        getValueDescriptor() {
-      return getDescriptor().getValues().get(index);
-    }
-    public final com.google.protobuf.Descriptors.EnumDescriptor
-        getDescriptorForType() {
-      return getDescriptor();
-    }
-    public static final com.google.protobuf.Descriptors.EnumDescriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.getDescriptor().getEnumTypes().get(1);
-    }
-
-    private static final StatusCode[] VALUES = values();
-
-    public static StatusCode valueOf(
-        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
-      if (desc.getType() != getDescriptor()) {
-        throw new java.lang.IllegalArgumentException(
-          "EnumValueDescriptor is not for this type.");
-      }
-      return VALUES[desc.getIndex()];
-    }
-
-    private final int index;
-    private final int value;
-
-    private StatusCode(int index, int value) {
-      this.index = index;
-      this.value = value;
-    }
-
-    // @@protoc_insertion_point(enum_scope:StatusCode)
-  }
-
-  /**
-   * Protobuf enum {@code OperationType}
-   *
-   * <pre>
-   **
-   * Supported operations by this protocol.
-   * </pre>
-   */
-  public enum OperationType
-      implements com.google.protobuf.ProtocolMessageEnum {
-    /**
-     * <code>READ_ENTRY = 1;</code>
-     */
-    READ_ENTRY(0, 1),
-    /**
-     * <code>ADD_ENTRY = 2;</code>
-     */
-    ADD_ENTRY(1, 2),
-    /**
-     * <code>RANGE_READ_ENTRY = 3;</code>
-     *
-     * <pre>
-     * Not supported yet.
-     * </pre>
-     */
-    RANGE_READ_ENTRY(2, 3),
-    /**
-     * <code>RANGE_ADD_ENTRY = 4;</code>
-     */
-    RANGE_ADD_ENTRY(3, 4),
-    /**
-     * <code>AUTH = 5;</code>
-     */
-    AUTH(4, 5),
-    /**
-     * <code>WRITE_LAC = 6;</code>
-     */
-    WRITE_LAC(5, 6),
-    /**
-     * <code>READ_LAC = 7;</code>
-     */
-    READ_LAC(6, 7),
-    /**
-     * <code>GET_BOOKIE_INFO = 8;</code>
-     */
-    GET_BOOKIE_INFO(7, 8),
-    /**
-     * <code>START_TLS = 9;</code>
-     */
-    START_TLS(8, 9),
-    ;
-
-    /**
-     * <code>READ_ENTRY = 1;</code>
-     */
-    public static final int READ_ENTRY_VALUE = 1;
-    /**
-     * <code>ADD_ENTRY = 2;</code>
-     */
-    public static final int ADD_ENTRY_VALUE = 2;
-    /**
-     * <code>RANGE_READ_ENTRY = 3;</code>
-     *
-     * <pre>
-     * Not supported yet.
-     * </pre>
-     */
-    public static final int RANGE_READ_ENTRY_VALUE = 3;
-    /**
-     * <code>RANGE_ADD_ENTRY = 4;</code>
-     */
-    public static final int RANGE_ADD_ENTRY_VALUE = 4;
-    /**
-     * <code>AUTH = 5;</code>
-     */
-    public static final int AUTH_VALUE = 5;
-    /**
-     * <code>WRITE_LAC = 6;</code>
-     */
-    public static final int WRITE_LAC_VALUE = 6;
-    /**
-     * <code>READ_LAC = 7;</code>
-     */
-    public static final int READ_LAC_VALUE = 7;
-    /**
-     * <code>GET_BOOKIE_INFO = 8;</code>
-     */
-    public static final int GET_BOOKIE_INFO_VALUE = 8;
-    /**
-     * <code>START_TLS = 9;</code>
-     */
-    public static final int START_TLS_VALUE = 9;
-
-
-    public final int getNumber() { return value; }
-
-    public static OperationType valueOf(int value) {
-      switch (value) {
-        case 1: return READ_ENTRY;
-        case 2: return ADD_ENTRY;
-        case 3: return RANGE_READ_ENTRY;
-        case 4: return RANGE_ADD_ENTRY;
-        case 5: return AUTH;
-        case 6: return WRITE_LAC;
-        case 7: return READ_LAC;
-        case 8: return GET_BOOKIE_INFO;
-        case 9: return START_TLS;
-        default: return null;
-      }
-    }
-
-    public static com.google.protobuf.Internal.EnumLiteMap<OperationType>
-        internalGetValueMap() {
-      return internalValueMap;
-    }
-    private static com.google.protobuf.Internal.EnumLiteMap<OperationType>
-        internalValueMap =
-          new com.google.protobuf.Internal.EnumLiteMap<OperationType>() {
-            public OperationType findValueByNumber(int number) {
-              return OperationType.valueOf(number);
-            }
-          };
-
-    public final com.google.protobuf.Descriptors.EnumValueDescriptor
-        getValueDescriptor() {
-      return getDescriptor().getValues().get(index);
-    }
-    public final com.google.protobuf.Descriptors.EnumDescriptor
-        getDescriptorForType() {
-      return getDescriptor();
-    }
-    public static final com.google.protobuf.Descriptors.EnumDescriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.getDescriptor().getEnumTypes().get(2);
-    }
-
-    private static final OperationType[] VALUES = values();
-
-    public static OperationType valueOf(
-        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
-      if (desc.getType() != getDescriptor()) {
-        throw new java.lang.IllegalArgumentException(
-          "EnumValueDescriptor is not for this type.");
-      }
-      return VALUES[desc.getIndex()];
-    }
-
-    private final int index;
-    private final int value;
-
-    private OperationType(int index, int value) {
-      this.index = index;
-      this.value = value;
-    }
-
-    // @@protoc_insertion_point(enum_scope:OperationType)
-  }
-
-  public interface BKPacketHeaderOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:BKPacketHeader)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>required .ProtocolVersion version = 1;</code>
-     */
-    boolean hasVersion();
-    /**
-     * <code>required .ProtocolVersion version = 1;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.ProtocolVersion getVersion();
-
-    /**
-     * <code>required .OperationType operation = 2;</code>
-     */
-    boolean hasOperation();
-    /**
-     * <code>required .OperationType operation = 2;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.OperationType getOperation();
-
-    /**
-     * <code>required uint64 txnId = 3;</code>
-     */
-    boolean hasTxnId();
-    /**
-     * <code>required uint64 txnId = 3;</code>
-     */
-    long getTxnId();
-  }
-  /**
-   * Protobuf type {@code BKPacketHeader}
-   *
-   * <pre>
-   **
-   * Packet header for all requests.
-   * </pre>
-   */
-  public static final class BKPacketHeader extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:BKPacketHeader)
-      BKPacketHeaderOrBuilder {
-    // Use BKPacketHeader.newBuilder() to construct.
-    private BKPacketHeader(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private BKPacketHeader(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final BKPacketHeader defaultInstance;
-    public static BKPacketHeader getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public BKPacketHeader getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private BKPacketHeader(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 8: {
-              int rawValue = input.readEnum();
-              org.apache.bookkeeper.proto.BookkeeperProtocol.ProtocolVersion value = org.apache.bookkeeper.proto.BookkeeperProtocol.ProtocolVersion.valueOf(rawValue);
-              if (value == null) {
-                unknownFields.mergeVarintField(1, rawValue);
-              } else {
-                bitField0_ |= 0x00000001;
-                version_ = value;
-              }
-              break;
-            }
-            case 16: {
-              int rawValue = input.readEnum();
-              org.apache.bookkeeper.proto.BookkeeperProtocol.OperationType value = org.apache.bookkeeper.proto.BookkeeperProtocol.OperationType.valueOf(rawValue);
-              if (value == null) {
-                unknownFields.mergeVarintField(2, rawValue);
-              } else {
-                bitField0_ |= 0x00000002;
-                operation_ = value;
-              }
-              break;
-            }
-            case 24: {
-              bitField0_ |= 0x00000004;
-              txnId_ = input.readUInt64();
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_BKPacketHeader_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_BKPacketHeader_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.class, org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<BKPacketHeader> PARSER =
-        new com.google.protobuf.AbstractParser<BKPacketHeader>() {
-      public BKPacketHeader parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new BKPacketHeader(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<BKPacketHeader> getParserForType() {
-      return PARSER;
-    }
-
-    private int bitField0_;
-    public static final int VERSION_FIELD_NUMBER = 1;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.ProtocolVersion version_;
-    /**
-     * <code>required .ProtocolVersion version = 1;</code>
-     */
-    public boolean hasVersion() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>required .ProtocolVersion version = 1;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.ProtocolVersion getVersion() {
-      return version_;
-    }
-
-    public static final int OPERATION_FIELD_NUMBER = 2;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.OperationType operation_;
-    /**
-     * <code>required .OperationType operation = 2;</code>
-     */
-    public boolean hasOperation() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * <code>required .OperationType operation = 2;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.OperationType getOperation() {
-      return operation_;
-    }
-
-    public static final int TXNID_FIELD_NUMBER = 3;
-    private long txnId_;
-    /**
-     * <code>required uint64 txnId = 3;</code>
-     */
-    public boolean hasTxnId() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    /**
-     * <code>required uint64 txnId = 3;</code>
-     */
-    public long getTxnId() {
-      return txnId_;
-    }
-
-    private void initFields() {
-      version_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ProtocolVersion.VERSION_ONE;
-      operation_ = org.apache.bookkeeper.proto.BookkeeperProtocol.OperationType.READ_ENTRY;
-      txnId_ = 0L;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      if (!hasVersion()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasOperation()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasTxnId()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeEnum(1, version_.getNumber());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeEnum(2, operation_.getNumber());
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeUInt64(3, txnId_);
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeEnumSize(1, version_.getNumber());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeEnumSize(2, operation_.getNumber());
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeUInt64Size(3, txnId_);
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code BKPacketHeader}
-     *
-     * <pre>
-     **
-     * Packet header for all requests.
-     * </pre>
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:BKPacketHeader)
-        org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeaderOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_BKPacketHeader_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_BKPacketHeader_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.class, org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        version_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ProtocolVersion.VERSION_ONE;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        operation_ = org.apache.bookkeeper.proto.BookkeeperProtocol.OperationType.READ_ENTRY;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        txnId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000004);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_BKPacketHeader_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader build() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader buildPartial() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader result = new org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.version_ = version_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.operation_ = operation_;
-        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-          to_bitField0_ |= 0x00000004;
-        }
-        result.txnId_ = txnId_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader) {
-          return mergeFrom((org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader other) {
-        if (other == org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.getDefaultInstance()) return this;
-        if (other.hasVersion()) {
-          setVersion(other.getVersion());
-        }
-        if (other.hasOperation()) {
-          setOperation(other.getOperation());
-        }
-        if (other.hasTxnId()) {
-          setTxnId(other.getTxnId());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasVersion()) {
-          
-          return false;
-        }
-        if (!hasOperation()) {
-          
-          return false;
-        }
-        if (!hasTxnId()) {
-          
-          return false;
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.ProtocolVersion version_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ProtocolVersion.VERSION_ONE;
-      /**
-       * <code>required .ProtocolVersion version = 1;</code>
-       */
-      public boolean hasVersion() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required .ProtocolVersion version = 1;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ProtocolVersion getVersion() {
-        return version_;
-      }
-      /**
-       * <code>required .ProtocolVersion version = 1;</code>
-       */
-      public Builder setVersion(org.apache.bookkeeper.proto.BookkeeperProtocol.ProtocolVersion value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        bitField0_ |= 0x00000001;
-        version_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required .ProtocolVersion version = 1;</code>
-       */
-      public Builder clearVersion() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        version_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ProtocolVersion.VERSION_ONE;
-        onChanged();
-        return this;
-      }
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.OperationType operation_ = org.apache.bookkeeper.proto.BookkeeperProtocol.OperationType.READ_ENTRY;
-      /**
-       * <code>required .OperationType operation = 2;</code>
-       */
-      public boolean hasOperation() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>required .OperationType operation = 2;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.OperationType getOperation() {
-        return operation_;
-      }
-      /**
-       * <code>required .OperationType operation = 2;</code>
-       */
-      public Builder setOperation(org.apache.bookkeeper.proto.BookkeeperProtocol.OperationType value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        bitField0_ |= 0x00000002;
-        operation_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required .OperationType operation = 2;</code>
-       */
-      public Builder clearOperation() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        operation_ = org.apache.bookkeeper.proto.BookkeeperProtocol.OperationType.READ_ENTRY;
-        onChanged();
-        return this;
-      }
-
-      private long txnId_ ;
-      /**
-       * <code>required uint64 txnId = 3;</code>
-       */
-      public boolean hasTxnId() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
-      }
-      /**
-       * <code>required uint64 txnId = 3;</code>
-       */
-      public long getTxnId() {
-        return txnId_;
-      }
-      /**
-       * <code>required uint64 txnId = 3;</code>
-       */
-      public Builder setTxnId(long value) {
-        bitField0_ |= 0x00000004;
-        txnId_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required uint64 txnId = 3;</code>
-       */
-      public Builder clearTxnId() {
-        bitField0_ = (bitField0_ & ~0x00000004);
-        txnId_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:BKPacketHeader)
-    }
-
-    static {
-      defaultInstance = new BKPacketHeader(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:BKPacketHeader)
-  }
-
-  public interface RequestOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:Request)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>required .BKPacketHeader header = 1;</code>
-     */
-    boolean hasHeader();
-    /**
-     * <code>required .BKPacketHeader header = 1;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader getHeader();
-    /**
-     * <code>required .BKPacketHeader header = 1;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeaderOrBuilder getHeaderOrBuilder();
-
-    /**
-     * <code>optional .ReadRequest readRequest = 100;</code>
-     *
-     * <pre>
-     * Requests
-     * </pre>
-     */
-    boolean hasReadRequest();
-    /**
-     * <code>optional .ReadRequest readRequest = 100;</code>
-     *
-     * <pre>
-     * Requests
-     * </pre>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest getReadRequest();
-    /**
-     * <code>optional .ReadRequest readRequest = 100;</code>
-     *
-     * <pre>
-     * Requests
-     * </pre>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequestOrBuilder getReadRequestOrBuilder();
-
-    /**
-     * <code>optional .AddRequest addRequest = 101;</code>
-     */
-    boolean hasAddRequest();
-    /**
-     * <code>optional .AddRequest addRequest = 101;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest getAddRequest();
-    /**
-     * <code>optional .AddRequest addRequest = 101;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequestOrBuilder getAddRequestOrBuilder();
-
-    /**
-     * <code>optional .AuthMessage authRequest = 102;</code>
-     */
-    boolean hasAuthRequest();
-    /**
-     * <code>optional .AuthMessage authRequest = 102;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage getAuthRequest();
-    /**
-     * <code>optional .AuthMessage authRequest = 102;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessageOrBuilder getAuthRequestOrBuilder();
-
-    /**
-     * <code>optional .WriteLacRequest writeLacRequest = 103;</code>
-     */
-    boolean hasWriteLacRequest();
-    /**
-     * <code>optional .WriteLacRequest writeLacRequest = 103;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest getWriteLacRequest();
-    /**
-     * <code>optional .WriteLacRequest writeLacRequest = 103;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequestOrBuilder getWriteLacRequestOrBuilder();
-
-    /**
-     * <code>optional .ReadLacRequest readLacRequest = 104;</code>
-     */
-    boolean hasReadLacRequest();
-    /**
-     * <code>optional .ReadLacRequest readLacRequest = 104;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest getReadLacRequest();
-    /**
-     * <code>optional .ReadLacRequest readLacRequest = 104;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequestOrBuilder getReadLacRequestOrBuilder();
-
-    /**
-     * <code>optional .GetBookieInfoRequest getBookieInfoRequest = 105;</code>
-     */
-    boolean hasGetBookieInfoRequest();
-    /**
-     * <code>optional .GetBookieInfoRequest getBookieInfoRequest = 105;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest getGetBookieInfoRequest();
-    /**
-     * <code>optional .GetBookieInfoRequest getBookieInfoRequest = 105;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequestOrBuilder getGetBookieInfoRequestOrBuilder();
-
-    /**
-     * <code>optional .StartTLSRequest startTLSRequest = 106;</code>
-     */
-    boolean hasStartTLSRequest();
-    /**
-     * <code>optional .StartTLSRequest startTLSRequest = 106;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest getStartTLSRequest();
-    /**
-     * <code>optional .StartTLSRequest startTLSRequest = 106;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequestOrBuilder getStartTLSRequestOrBuilder();
-  }
-  /**
-   * Protobuf type {@code Request}
-   */
-  public static final class Request extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:Request)
-      RequestOrBuilder {
-    // Use Request.newBuilder() to construct.
-    private Request(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private Request(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final Request defaultInstance;
-    public static Request getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public Request getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private Request(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 10: {
-              org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.Builder subBuilder = null;
-              if (((bitField0_ & 0x00000001) == 0x00000001)) {
-                subBuilder = header_.toBuilder();
-              }
-              header_ = input.readMessage(org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.PARSER, extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(header_);
-                header_ = subBuilder.buildPartial();
-              }
-              bitField0_ |= 0x00000001;
-              break;
-            }
-            case 802: {
-              org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.Builder subBuilder = null;
-              if (((bitField0_ & 0x00000002) == 0x00000002)) {
-                subBuilder = readRequest_.toBuilder();
-              }
-              readRequest_ = input.readMessage(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.PARSER, extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(readRequest_);
-                readRequest_ = subBuilder.buildPartial();
-              }
-              bitField0_ |= 0x00000002;
-              break;
-            }
-            case 810: {
-              org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.Builder subBuilder = null;
-              if (((bitField0_ & 0x00000004) == 0x00000004)) {
-                subBuilder = addRequest_.toBuilder();
-              }
-              addRequest_ = input.readMessage(org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.PARSER, extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(addRequest_);
-                addRequest_ = subBuilder.buildPartial();
-              }
-              bitField0_ |= 0x00000004;
-              break;
-            }
-            case 818: {
-              org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.Builder subBuilder = null;
-              if (((bitField0_ & 0x00000008) == 0x00000008)) {
-                subBuilder = authRequest_.toBuilder();
-              }
-              authRequest_ = input.readMessage(org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.PARSER, extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(authRequest_);
-                authRequest_ = subBuilder.buildPartial();
-              }
-              bitField0_ |= 0x00000008;
-              break;
-            }
-            case 826: {
-              org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest.Builder subBuilder = null;
-              if (((bitField0_ & 0x00000010) == 0x00000010)) {
-                subBuilder = writeLacRequest_.toBuilder();
-              }
-              writeLacRequest_ = input.readMessage(org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest.PARSER, extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(writeLacRequest_);
-                writeLacRequest_ = subBuilder.buildPartial();
-              }
-              bitField0_ |= 0x00000010;
-              break;
-            }
-            case 834: {
-              org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest.Builder subBuilder = null;
-              if (((bitField0_ & 0x00000020) == 0x00000020)) {
-                subBuilder = readLacRequest_.toBuilder();
-              }
-              readLacRequest_ = input.readMessage(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest.PARSER, extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(readLacRequest_);
-                readLacRequest_ = subBuilder.buildPartial();
-              }
-              bitField0_ |= 0x00000020;
-              break;
-            }
-            case 842: {
-              org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.Builder subBuilder = null;
-              if (((bitField0_ & 0x00000040) == 0x00000040)) {
-                subBuilder = getBookieInfoRequest_.toBuilder();
-              }
-              getBookieInfoRequest_ = input.readMessage(org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.PARSER, extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(getBookieInfoRequest_);
-                getBookieInfoRequest_ = subBuilder.buildPartial();
-              }
-              bitField0_ |= 0x00000040;
-              break;
-            }
-            case 850: {
-              org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest.Builder subBuilder = null;
-              if (((bitField0_ & 0x00000080) == 0x00000080)) {
-                subBuilder = startTLSRequest_.toBuilder();
-              }
-              startTLSRequest_ = input.readMessage(org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest.PARSER, extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(startTLSRequest_);
-                startTLSRequest_ = subBuilder.buildPartial();
-              }
-              bitField0_ |= 0x00000080;
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_Request_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_Request_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.BookkeeperProtocol.Request.class, org.apache.bookkeeper.proto.BookkeeperProtocol.Request.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<Request> PARSER =
-        new com.google.protobuf.AbstractParser<Request>() {
-      public Request parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new Request(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<Request> getParserForType() {
-      return PARSER;
-    }
-
-    private int bitField0_;
-    public static final int HEADER_FIELD_NUMBER = 1;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader header_;
-    /**
-     * <code>required .BKPacketHeader header = 1;</code>
-     */
-    public boolean hasHeader() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>required .BKPacketHeader header = 1;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader getHeader() {
-      return header_;
-    }
-    /**
-     * <code>required .BKPacketHeader header = 1;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeaderOrBuilder getHeaderOrBuilder() {
-      return header_;
-    }
-
-    public static final int READREQUEST_FIELD_NUMBER = 100;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest readRequest_;
-    /**
-     * <code>optional .ReadRequest readRequest = 100;</code>
-     *
-     * <pre>
-     * Requests
-     * </pre>
-     */
-    public boolean hasReadRequest() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * <code>optional .ReadRequest readRequest = 100;</code>
-     *
-     * <pre>
-     * Requests
-     * </pre>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest getReadRequest() {
-      return readRequest_;
-    }
-    /**
-     * <code>optional .ReadRequest readRequest = 100;</code>
-     *
-     * <pre>
-     * Requests
-     * </pre>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequestOrBuilder getReadRequestOrBuilder() {
-      return readRequest_;
-    }
-
-    public static final int ADDREQUEST_FIELD_NUMBER = 101;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest addRequest_;
-    /**
-     * <code>optional .AddRequest addRequest = 101;</code>
-     */
-    public boolean hasAddRequest() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    /**
-     * <code>optional .AddRequest addRequest = 101;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest getAddRequest() {
-      return addRequest_;
-    }
-    /**
-     * <code>optional .AddRequest addRequest = 101;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequestOrBuilder getAddRequestOrBuilder() {
-      return addRequest_;
-    }
-
-    public static final int AUTHREQUEST_FIELD_NUMBER = 102;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage authRequest_;
-    /**
-     * <code>optional .AuthMessage authRequest = 102;</code>
-     */
-    public boolean hasAuthRequest() {
-      return ((bitField0_ & 0x00000008) == 0x00000008);
-    }
-    /**
-     * <code>optional .AuthMessage authRequest = 102;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage getAuthRequest() {
-      return authRequest_;
-    }
-    /**
-     * <code>optional .AuthMessage authRequest = 102;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessageOrBuilder getAuthRequestOrBuilder() {
-      return authRequest_;
-    }
-
-    public static final int WRITELACREQUEST_FIELD_NUMBER = 103;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest writeLacRequest_;
-    /**
-     * <code>optional .WriteLacRequest writeLacRequest = 103;</code>
-     */
-    public boolean hasWriteLacRequest() {
-      return ((bitField0_ & 0x00000010) == 0x00000010);
-    }
-    /**
-     * <code>optional .WriteLacRequest writeLacRequest = 103;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest getWriteLacRequest() {
-      return writeLacRequest_;
-    }
-    /**
-     * <code>optional .WriteLacRequest writeLacRequest = 103;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequestOrBuilder getWriteLacRequestOrBuilder() {
-      return writeLacRequest_;
-    }
-
-    public static final int READLACREQUEST_FIELD_NUMBER = 104;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest readLacRequest_;
-    /**
-     * <code>optional .ReadLacRequest readLacRequest = 104;</code>
-     */
-    public boolean hasReadLacRequest() {
-      return ((bitField0_ & 0x00000020) == 0x00000020);
-    }
-    /**
-     * <code>optional .ReadLacRequest readLacRequest = 104;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest getReadLacRequest() {
-      return readLacRequest_;
-    }
-    /**
-     * <code>optional .ReadLacRequest readLacRequest = 104;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequestOrBuilder getReadLacRequestOrBuilder() {
-      return readLacRequest_;
-    }
-
-    public static final int GETBOOKIEINFOREQUEST_FIELD_NUMBER = 105;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest getBookieInfoRequest_;
-    /**
-     * <code>optional .GetBookieInfoRequest getBookieInfoRequest = 105;</code>
-     */
-    public boolean hasGetBookieInfoRequest() {
-      return ((bitField0_ & 0x00000040) == 0x00000040);
-    }
-    /**
-     * <code>optional .GetBookieInfoRequest getBookieInfoRequest = 105;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest getGetBookieInfoRequest() {
-      return getBookieInfoRequest_;
-    }
-    /**
-     * <code>optional .GetBookieInfoRequest getBookieInfoRequest = 105;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequestOrBuilder getGetBookieInfoRequestOrBuilder() {
-      return getBookieInfoRequest_;
-    }
-
-    public static final int STARTTLSREQUEST_FIELD_NUMBER = 106;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest startTLSRequest_;
-    /**
-     * <code>optional .StartTLSRequest startTLSRequest = 106;</code>
-     */
-    public boolean hasStartTLSRequest() {
-      return ((bitField0_ & 0x00000080) == 0x00000080);
-    }
-    /**
-     * <code>optional .StartTLSRequest startTLSRequest = 106;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest getStartTLSRequest() {
-      return startTLSRequest_;
-    }
-    /**
-     * <code>optional .StartTLSRequest startTLSRequest = 106;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequestOrBuilder getStartTLSRequestOrBuilder() {
-      return startTLSRequest_;
-    }
-
-    private void initFields() {
-      header_ = org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.getDefaultInstance();
-      readRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.getDefaultInstance();
-      addRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.getDefaultInstance();
-      authRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.getDefaultInstance();
-      writeLacRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest.getDefaultInstance();
-      readLacRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest.getDefaultInstance();
-      getBookieInfoRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.getDefaultInstance();
-      startTLSRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest.getDefaultInstance();
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      if (!hasHeader()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!getHeader().isInitialized()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (hasReadRequest()) {
-        if (!getReadRequest().isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      if (hasAddRequest()) {
-        if (!getAddRequest().isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      if (hasAuthRequest()) {
-        if (!getAuthRequest().isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      if (hasWriteLacRequest()) {
-        if (!getWriteLacRequest().isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      if (hasReadLacRequest()) {
-        if (!getReadLacRequest().isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeMessage(1, header_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeMessage(100, readRequest_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeMessage(101, addRequest_);
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        output.writeMessage(102, authRequest_);
-      }
-      if (((bitField0_ & 0x00000010) == 0x00000010)) {
-        output.writeMessage(103, writeLacRequest_);
-      }
-      if (((bitField0_ & 0x00000020) == 0x00000020)) {
-        output.writeMessage(104, readLacRequest_);
-      }
-      if (((bitField0_ & 0x00000040) == 0x00000040)) {
-        output.writeMessage(105, getBookieInfoRequest_);
-      }
-      if (((bitField0_ & 0x00000080) == 0x00000080)) {
-        output.writeMessage(106, startTLSRequest_);
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(1, header_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(100, readRequest_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(101, addRequest_);
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(102, authRequest_);
-      }
-      if (((bitField0_ & 0x00000010) == 0x00000010)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(103, writeLacRequest_);
-      }
-      if (((bitField0_ & 0x00000020) == 0x00000020)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(104, readLacRequest_);
-      }
-      if (((bitField0_ & 0x00000040) == 0x00000040)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(105, getBookieInfoRequest_);
-      }
-      if (((bitField0_ & 0x00000080) == 0x00000080)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(106, startTLSRequest_);
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.Request parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.Request parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.Request parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.Request parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.Request parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.Request parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.Request parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.Request parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.Request parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.Request parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.BookkeeperProtocol.Request prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code Request}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:Request)
-        org.apache.bookkeeper.proto.BookkeeperProtocol.RequestOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_Request_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_Request_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.BookkeeperProtocol.Request.class, org.apache.bookkeeper.proto.BookkeeperProtocol.Request.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.BookkeeperProtocol.Request.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-          getHeaderFieldBuilder();
-          getReadRequestFieldBuilder();
-          getAddRequestFieldBuilder();
-          getAuthRequestFieldBuilder();
-          getWriteLacRequestFieldBuilder();
-          getReadLacRequestFieldBuilder();
-          getGetBookieInfoRequestFieldBuilder();
-          getStartTLSRequestFieldBuilder();
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        if (headerBuilder_ == null) {
-          header_ = org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.getDefaultInstance();
-        } else {
-          headerBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000001);
-        if (readRequestBuilder_ == null) {
-          readRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.getDefaultInstance();
-        } else {
-          readRequestBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000002);
-        if (addRequestBuilder_ == null) {
-          addRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.getDefaultInstance();
-        } else {
-          addRequestBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000004);
-        if (authRequestBuilder_ == null) {
-          authRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.getDefaultInstance();
-        } else {
-          authRequestBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000008);
-        if (writeLacRequestBuilder_ == null) {
-          writeLacRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest.getDefaultInstance();
-        } else {
-          writeLacRequestBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000010);
-        if (readLacRequestBuilder_ == null) {
-          readLacRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest.getDefaultInstance();
-        } else {
-          readLacRequestBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000020);
-        if (getBookieInfoRequestBuilder_ == null) {
-          getBookieInfoRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.getDefaultInstance();
-        } else {
-          getBookieInfoRequestBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000040);
-        if (startTLSRequestBuilder_ == null) {
-          startTLSRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest.getDefaultInstance();
-        } else {
-          startTLSRequestBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000080);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_Request_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.Request getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.Request.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.Request build() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.Request result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.Request buildPartial() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.Request result = new org.apache.bookkeeper.proto.BookkeeperProtocol.Request(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        if (headerBuilder_ == null) {
-          result.header_ = header_;
-        } else {
-          result.header_ = headerBuilder_.build();
-        }
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        if (readRequestBuilder_ == null) {
-          result.readRequest_ = readRequest_;
-        } else {
-          result.readRequest_ = readRequestBuilder_.build();
-        }
-        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-          to_bitField0_ |= 0x00000004;
-        }
-        if (addRequestBuilder_ == null) {
-          result.addRequest_ = addRequest_;
-        } else {
-          result.addRequest_ = addRequestBuilder_.build();
-        }
-        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
-          to_bitField0_ |= 0x00000008;
-        }
-        if (authRequestBuilder_ == null) {
-          result.authRequest_ = authRequest_;
-        } else {
-          result.authRequest_ = authRequestBuilder_.build();
-        }
-        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
-          to_bitField0_ |= 0x00000010;
-        }
-        if (writeLacRequestBuilder_ == null) {
-          result.writeLacRequest_ = writeLacRequest_;
-        } else {
-          result.writeLacRequest_ = writeLacRequestBuilder_.build();
-        }
-        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
-          to_bitField0_ |= 0x00000020;
-        }
-        if (readLacRequestBuilder_ == null) {
-          result.readLacRequest_ = readLacRequest_;
-        } else {
-          result.readLacRequest_ = readLacRequestBuilder_.build();
-        }
-        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
-          to_bitField0_ |= 0x00000040;
-        }
-        if (getBookieInfoRequestBuilder_ == null) {
-          result.getBookieInfoRequest_ = getBookieInfoRequest_;
-        } else {
-          result.getBookieInfoRequest_ = getBookieInfoRequestBuilder_.build();
-        }
-        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
-          to_bitField0_ |= 0x00000080;
-        }
-        if (startTLSRequestBuilder_ == null) {
-          result.startTLSRequest_ = startTLSRequest_;
-        } else {
-          result.startTLSRequest_ = startTLSRequestBuilder_.build();
-        }
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.BookkeeperProtocol.Request) {
-          return mergeFrom((org.apache.bookkeeper.proto.BookkeeperProtocol.Request)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.BookkeeperProtocol.Request other) {
-        if (other == org.apache.bookkeeper.proto.BookkeeperProtocol.Request.getDefaultInstance()) return this;
-        if (other.hasHeader()) {
-          mergeHeader(other.getHeader());
-        }
-        if (other.hasReadRequest()) {
-          mergeReadRequest(other.getReadRequest());
-        }
-        if (other.hasAddRequest()) {
-          mergeAddRequest(other.getAddRequest());
-        }
-        if (other.hasAuthRequest()) {
-          mergeAuthRequest(other.getAuthRequest());
-        }
-        if (other.hasWriteLacRequest()) {
-          mergeWriteLacRequest(other.getWriteLacRequest());
-        }
-        if (other.hasReadLacRequest()) {
-          mergeReadLacRequest(other.getReadLacRequest());
-        }
-        if (other.hasGetBookieInfoRequest()) {
-          mergeGetBookieInfoRequest(other.getGetBookieInfoRequest());
-        }
-        if (other.hasStartTLSRequest()) {
-          mergeStartTLSRequest(other.getStartTLSRequest());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasHeader()) {
-          
-          return false;
-        }
-        if (!getHeader().isInitialized()) {
-          
-          return false;
-        }
-        if (hasReadRequest()) {
-          if (!getReadRequest().isInitialized()) {
-            
-            return false;
-          }
-        }
-        if (hasAddRequest()) {
-          if (!getAddRequest().isInitialized()) {
-            
-            return false;
-          }
-        }
-        if (hasAuthRequest()) {
-          if (!getAuthRequest().isInitialized()) {
-            
-            return false;
-          }
-        }
-        if (hasWriteLacRequest()) {
-          if (!getWriteLacRequest().isInitialized()) {
-            
-            return false;
-          }
-        }
-        if (hasReadLacRequest()) {
-          if (!getReadLacRequest().isInitialized()) {
-            
-            return false;
-          }
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.Request parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.BookkeeperProtocol.Request) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader header_ = org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.getDefaultInstance();
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader, org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeaderOrBuilder> headerBuilder_;
-      /**
-       * <code>required .BKPacketHeader header = 1;</code>
-       */
-      public boolean hasHeader() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required .BKPacketHeader header = 1;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader getHeader() {
-        if (headerBuilder_ == null) {
-          return header_;
-        } else {
-          return headerBuilder_.getMessage();
-        }
-      }
-      /**
-       * <code>required .BKPacketHeader header = 1;</code>
-       */
-      public Builder setHeader(org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader value) {
-        if (headerBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          header_ = value;
-          onChanged();
-        } else {
-          headerBuilder_.setMessage(value);
-        }
-        bitField0_ |= 0x00000001;
-        return this;
-      }
-      /**
-       * <code>required .BKPacketHeader header = 1;</code>
-       */
-      public Builder setHeader(
-          org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.Builder builderForValue) {
-        if (headerBuilder_ == null) {
-          header_ = builderForValue.build();
-          onChanged();
-        } else {
-          headerBuilder_.setMessage(builderForValue.build());
-        }
-        bitField0_ |= 0x00000001;
-        return this;
-      }
-      /**
-       * <code>required .BKPacketHeader header = 1;</code>
-       */
-      public Builder mergeHeader(org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader value) {
-        if (headerBuilder_ == null) {
-          if (((bitField0_ & 0x00000001) == 0x00000001) &&
-              header_ != org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.getDefaultInstance()) {
-            header_ =
-              org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.newBuilder(header_).mergeFrom(value).buildPartial();
-          } else {
-            header_ = value;
-          }
-          onChanged();
-        } else {
-          headerBuilder_.mergeFrom(value);
-        }
-        bitField0_ |= 0x00000001;
-        return this;
-      }
-      /**
-       * <code>required .BKPacketHeader header = 1;</code>
-       */
-      public Builder clearHeader() {
-        if (headerBuilder_ == null) {
-          header_ = org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.getDefaultInstance();
-          onChanged();
-        } else {
-          headerBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000001);
-        return this;
-      }
-      /**
-       * <code>required .BKPacketHeader header = 1;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.Builder getHeaderBuilder() {
-        bitField0_ |= 0x00000001;
-        onChanged();
-        return getHeaderFieldBuilder().getBuilder();
-      }
-      /**
-       * <code>required .BKPacketHeader header = 1;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeaderOrBuilder getHeaderOrBuilder() {
-        if (headerBuilder_ != null) {
-          return headerBuilder_.getMessageOrBuilder();
-        } else {
-          return header_;
-        }
-      }
-      /**
-       * <code>required .BKPacketHeader header = 1;</code>
-       */
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader, org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeaderOrBuilder> 
-          getHeaderFieldBuilder() {
-        if (headerBuilder_ == null) {
-          headerBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader, org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeaderOrBuilder>(
-                  getHeader(),
-                  getParentForChildren(),
-                  isClean());
-          header_ = null;
-        }
-        return headerBuilder_;
-      }
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest readRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.getDefaultInstance();
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequestOrBuilder> readRequestBuilder_;
-      /**
-       * <code>optional .ReadRequest readRequest = 100;</code>
-       *
-       * <pre>
-       * Requests
-       * </pre>
-       */
-      public boolean hasReadRequest() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>optional .ReadRequest readRequest = 100;</code>
-       *
-       * <pre>
-       * Requests
-       * </pre>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest getReadRequest() {
-        if (readRequestBuilder_ == null) {
-          return readRequest_;
-        } else {
-          return readRequestBuilder_.getMessage();
-        }
-      }
-      /**
-       * <code>optional .ReadRequest readRequest = 100;</code>
-       *
-       * <pre>
-       * Requests
-       * </pre>
-       */
-      public Builder setReadRequest(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest value) {
-        if (readRequestBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          readRequest_ = value;
-          onChanged();
-        } else {
-          readRequestBuilder_.setMessage(value);
-        }
-        bitField0_ |= 0x00000002;
-        return this;
-      }
-      /**
-       * <code>optional .ReadRequest readRequest = 100;</code>
-       *
-       * <pre>
-       * Requests
-       * </pre>
-       */
-      public Builder setReadRequest(
-          org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.Builder builderForValue) {
-        if (readRequestBuilder_ == null) {
-          readRequest_ = builderForValue.build();
-          onChanged();
-        } else {
-          readRequestBuilder_.setMessage(builderForValue.build());
-        }
-        bitField0_ |= 0x00000002;
-        return this;
-      }
-      /**
-       * <code>optional .ReadRequest readRequest = 100;</code>
-       *
-       * <pre>
-       * Requests
-       * </pre>
-       */
-      public Builder mergeReadRequest(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest value) {
-        if (readRequestBuilder_ == null) {
-          if (((bitField0_ & 0x00000002) == 0x00000002) &&
-              readRequest_ != org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.getDefaultInstance()) {
-            readRequest_ =
-              org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.newBuilder(readRequest_).mergeFrom(value).buildPartial();
-          } else {
-            readRequest_ = value;
-          }
-          onChanged();
-        } else {
-          readRequestBuilder_.mergeFrom(value);
-        }
-        bitField0_ |= 0x00000002;
-        return this;
-      }
-      /**
-       * <code>optional .ReadRequest readRequest = 100;</code>
-       *
-       * <pre>
-       * Requests
-       * </pre>
-       */
-      public Builder clearReadRequest() {
-        if (readRequestBuilder_ == null) {
-          readRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.getDefaultInstance();
-          onChanged();
-        } else {
-          readRequestBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000002);
-        return this;
-      }
-      /**
-       * <code>optional .ReadRequest readRequest = 100;</code>
-       *
-       * <pre>
-       * Requests
-       * </pre>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.Builder getReadRequestBuilder() {
-        bitField0_ |= 0x00000002;
-        onChanged();
-        return getReadRequestFieldBuilder().getBuilder();
-      }
-      /**
-       * <code>optional .ReadRequest readRequest = 100;</code>
-       *
-       * <pre>
-       * Requests
-       * </pre>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequestOrBuilder getReadRequestOrBuilder() {
-        if (readRequestBuilder_ != null) {
-          return readRequestBuilder_.getMessageOrBuilder();
-        } else {
-          return readRequest_;
-        }
-      }
-      /**
-       * <code>optional .ReadRequest readRequest = 100;</code>
-       *
-       * <pre>
-       * Requests
-       * </pre>
-       */
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequestOrBuilder> 
-          getReadRequestFieldBuilder() {
-        if (readRequestBuilder_ == null) {
-          readRequestBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequestOrBuilder>(
-                  getReadRequest(),
-                  getParentForChildren(),
-                  isClean());
-          readRequest_ = null;
-        }
-        return readRequestBuilder_;
-      }
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest addRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.getDefaultInstance();
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest, org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequestOrBuilder> addRequestBuilder_;
-      /**
-       * <code>optional .AddRequest addRequest = 101;</code>
-       */
-      public boolean hasAddRequest() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
-      }
-      /**
-       * <code>optional .AddRequest addRequest = 101;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest getAddRequest() {
-        if (addRequestBuilder_ == null) {
-          return addRequest_;
-        } else {
-          return addRequestBuilder_.getMessage();
-        }
-      }
-      /**
-       * <code>optional .AddRequest addRequest = 101;</code>
-       */
-      public Builder setAddRequest(org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest value) {
-        if (addRequestBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          addRequest_ = value;
-          onChanged();
-        } else {
-          addRequestBuilder_.setMessage(value);
-        }
-        bitField0_ |= 0x00000004;
-        return this;
-      }
-      /**
-       * <code>optional .AddRequest addRequest = 101;</code>
-       */
-      public Builder setAddRequest(
-          org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.Builder builderForValue) {
-        if (addRequestBuilder_ == null) {
-          addRequest_ = builderForValue.build();
-          onChanged();
-        } else {
-          addRequestBuilder_.setMessage(builderForValue.build());
-        }
-        bitField0_ |= 0x00000004;
-        return this;
-      }
-      /**
-       * <code>optional .AddRequest addRequest = 101;</code>
-       */
-      public Builder mergeAddRequest(org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest value) {
-        if (addRequestBuilder_ == null) {
-          if (((bitField0_ & 0x00000004) == 0x00000004) &&
-              addRequest_ != org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.getDefaultInstance()) {
-            addRequest_ =
-              org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.newBuilder(addRequest_).mergeFrom(value).buildPartial();
-          } else {
-            addRequest_ = value;
-          }
-          onChanged();
-        } else {
-          addRequestBuilder_.mergeFrom(value);
-        }
-        bitField0_ |= 0x00000004;
-        return this;
-      }
-      /**
-       * <code>optional .AddRequest addRequest = 101;</code>
-       */
-      public Builder clearAddRequest() {
-        if (addRequestBuilder_ == null) {
-          addRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.getDefaultInstance();
-          onChanged();
-        } else {
-          addRequestBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000004);
-        return this;
-      }
-      /**
-       * <code>optional .AddRequest addRequest = 101;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.Builder getAddRequestBuilder() {
-        bitField0_ |= 0x00000004;
-        onChanged();
-        return getAddRequestFieldBuilder().getBuilder();
-      }
-      /**
-       * <code>optional .AddRequest addRequest = 101;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequestOrBuilder getAddRequestOrBuilder() {
-        if (addRequestBuilder_ != null) {
-          return addRequestBuilder_.getMessageOrBuilder();
-        } else {
-          return addRequest_;
-        }
-      }
-      /**
-       * <code>optional .AddRequest addRequest = 101;</code>
-       */
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest, org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequestOrBuilder> 
-          getAddRequestFieldBuilder() {
-        if (addRequestBuilder_ == null) {
-          addRequestBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest, org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequestOrBuilder>(
-                  getAddRequest(),
-                  getParentForChildren(),
-                  isClean());
-          addRequest_ = null;
-        }
-        return addRequestBuilder_;
-      }
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage authRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.getDefaultInstance();
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage, org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessageOrBuilder> authRequestBuilder_;
-      /**
-       * <code>optional .AuthMessage authRequest = 102;</code>
-       */
-      public boolean hasAuthRequest() {
-        return ((bitField0_ & 0x00000008) == 0x00000008);
-      }
-      /**
-       * <code>optional .AuthMessage authRequest = 102;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage getAuthRequest() {
-        if (authRequestBuilder_ == null) {
-          return authRequest_;
-        } else {
-          return authRequestBuilder_.getMessage();
-        }
-      }
-      /**
-       * <code>optional .AuthMessage authRequest = 102;</code>
-       */
-      public Builder setAuthRequest(org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage value) {
-        if (authRequestBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          authRequest_ = value;
-          onChanged();
-        } else {
-          authRequestBuilder_.setMessage(value);
-        }
-        bitField0_ |= 0x00000008;
-        return this;
-      }
-      /**
-       * <code>optional .AuthMessage authRequest = 102;</code>
-       */
-      public Builder setAuthRequest(
-          org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.Builder builderForValue) {
-        if (authRequestBuilder_ == null) {
-          authRequest_ = builderForValue.build();
-          onChanged();
-        } else {
-          authRequestBuilder_.setMessage(builderForValue.build());
-        }
-        bitField0_ |= 0x00000008;
-        return this;
-      }
-      /**
-       * <code>optional .AuthMessage authRequest = 102;</code>
-       */
-      public Builder mergeAuthRequest(org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage value) {
-        if (authRequestBuilder_ == null) {
-          if (((bitField0_ & 0x00000008) == 0x00000008) &&
-              authRequest_ != org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.getDefaultInstance()) {
-            authRequest_ =
-              org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.newBuilder(authRequest_).mergeFrom(value).buildPartial();
-          } else {
-            authRequest_ = value;
-          }
-          onChanged();
-        } else {
-          authRequestBuilder_.mergeFrom(value);
-        }
-        bitField0_ |= 0x00000008;
-        return this;
-      }
-      /**
-       * <code>optional .AuthMessage authRequest = 102;</code>
-       */
-      public Builder clearAuthRequest() {
-        if (authRequestBuilder_ == null) {
-          authRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.getDefaultInstance();
-          onChanged();
-        } else {
-          authRequestBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000008);
-        return this;
-      }
-      /**
-       * <code>optional .AuthMessage authRequest = 102;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.Builder getAuthRequestBuilder() {
-        bitField0_ |= 0x00000008;
-        onChanged();
-        return getAuthRequestFieldBuilder().getBuilder();
-      }
-      /**
-       * <code>optional .AuthMessage authRequest = 102;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessageOrBuilder getAuthRequestOrBuilder() {
-        if (authRequestBuilder_ != null) {
-          return authRequestBuilder_.getMessageOrBuilder();
-        } else {
-          return authRequest_;
-        }
-      }
-      /**
-       * <code>optional .AuthMessage authRequest = 102;</code>
-       */
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage, org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessageOrBuilder> 
-          getAuthRequestFieldBuilder() {
-        if (authRequestBuilder_ == null) {
-          authRequestBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage, org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessageOrBuilder>(
-                  getAuthRequest(),
-                  getParentForChildren(),
-                  isClean());
-          authRequest_ = null;
-        }
-        return authRequestBuilder_;
-      }
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest writeLacRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest.getDefaultInstance();
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest, org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequestOrBuilder> writeLacRequestBuilder_;
-      /**
-       * <code>optional .WriteLacRequest writeLacRequest = 103;</code>
-       */
-      public boolean hasWriteLacRequest() {
-        return ((bitField0_ & 0x00000010) == 0x00000010);
-      }
-      /**
-       * <code>optional .WriteLacRequest writeLacRequest = 103;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest getWriteLacRequest() {
-        if (writeLacRequestBuilder_ == null) {
-          return writeLacRequest_;
-        } else {
-          return writeLacRequestBuilder_.getMessage();
-        }
-      }
-      /**
-       * <code>optional .WriteLacRequest writeLacRequest = 103;</code>
-       */
-      public Builder setWriteLacRequest(org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest value) {
-        if (writeLacRequestBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          writeLacRequest_ = value;
-          onChanged();
-        } else {
-          writeLacRequestBuilder_.setMessage(value);
-        }
-        bitField0_ |= 0x00000010;
-        return this;
-      }
-      /**
-       * <code>optional .WriteLacRequest writeLacRequest = 103;</code>
-       */
-      public Builder setWriteLacRequest(
-          org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest.Builder builderForValue) {
-        if (writeLacRequestBuilder_ == null) {
-          writeLacRequest_ = builderForValue.build();
-          onChanged();
-        } else {
-          writeLacRequestBuilder_.setMessage(builderForValue.build());
-        }
-        bitField0_ |= 0x00000010;
-        return this;
-      }
-      /**
-       * <code>optional .WriteLacRequest writeLacRequest = 103;</code>
-       */
-      public Builder mergeWriteLacRequest(org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest value) {
-        if (writeLacRequestBuilder_ == null) {
-          if (((bitField0_ & 0x00000010) == 0x00000010) &&
-              writeLacRequest_ != org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest.getDefaultInstance()) {
-            writeLacRequest_ =
-              org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest.newBuilder(writeLacRequest_).mergeFrom(value).buildPartial();
-          } else {
-            writeLacRequest_ = value;
-          }
-          onChanged();
-        } else {
-          writeLacRequestBuilder_.mergeFrom(value);
-        }
-        bitField0_ |= 0x00000010;
-        return this;
-      }
-      /**
-       * <code>optional .WriteLacRequest writeLacRequest = 103;</code>
-       */
-      public Builder clearWriteLacRequest() {
-        if (writeLacRequestBuilder_ == null) {
-          writeLacRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest.getDefaultInstance();
-          onChanged();
-        } else {
-          writeLacRequestBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000010);
-        return this;
-      }
-      /**
-       * <code>optional .WriteLacRequest writeLacRequest = 103;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest.Builder getWriteLacRequestBuilder() {
-        bitField0_ |= 0x00000010;
-        onChanged();
-        return getWriteLacRequestFieldBuilder().getBuilder();
-      }
-      /**
-       * <code>optional .WriteLacRequest writeLacRequest = 103;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequestOrBuilder getWriteLacRequestOrBuilder() {
-        if (writeLacRequestBuilder_ != null) {
-          return writeLacRequestBuilder_.getMessageOrBuilder();
-        } else {
-          return writeLacRequest_;
-        }
-      }
-      /**
-       * <code>optional .WriteLacRequest writeLacRequest = 103;</code>
-       */
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest, org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequestOrBuilder> 
-          getWriteLacRequestFieldBuilder() {
-        if (writeLacRequestBuilder_ == null) {
-          writeLacRequestBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest, org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequestOrBuilder>(
-                  getWriteLacRequest(),
-                  getParentForChildren(),
-                  isClean());
-          writeLacRequest_ = null;
-        }
-        return writeLacRequestBuilder_;
-      }
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest readLacRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest.getDefaultInstance();
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequestOrBuilder> readLacRequestBuilder_;
-      /**
-       * <code>optional .ReadLacRequest readLacRequest = 104;</code>
-       */
-      public boolean hasReadLacRequest() {
-        return ((bitField0_ & 0x00000020) == 0x00000020);
-      }
-      /**
-       * <code>optional .ReadLacRequest readLacRequest = 104;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest getReadLacRequest() {
-        if (readLacRequestBuilder_ == null) {
-          return readLacRequest_;
-        } else {
-          return readLacRequestBuilder_.getMessage();
-        }
-      }
-      /**
-       * <code>optional .ReadLacRequest readLacRequest = 104;</code>
-       */
-      public Builder setReadLacRequest(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest value) {
-        if (readLacRequestBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          readLacRequest_ = value;
-          onChanged();
-        } else {
-          readLacRequestBuilder_.setMessage(value);
-        }
-        bitField0_ |= 0x00000020;
-        return this;
-      }
-      /**
-       * <code>optional .ReadLacRequest readLacRequest = 104;</code>
-       */
-      public Builder setReadLacRequest(
-          org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest.Builder builderForValue) {
-        if (readLacRequestBuilder_ == null) {
-          readLacRequest_ = builderForValue.build();
-          onChanged();
-        } else {
-          readLacRequestBuilder_.setMessage(builderForValue.build());
-        }
-        bitField0_ |= 0x00000020;
-        return this;
-      }
-      /**
-       * <code>optional .ReadLacRequest readLacRequest = 104;</code>
-       */
-      public Builder mergeReadLacRequest(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest value) {
-        if (readLacRequestBuilder_ == null) {
-          if (((bitField0_ & 0x00000020) == 0x00000020) &&
-              readLacRequest_ != org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest.getDefaultInstance()) {
-            readLacRequest_ =
-              org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest.newBuilder(readLacRequest_).mergeFrom(value).buildPartial();
-          } else {
-            readLacRequest_ = value;
-          }
-          onChanged();
-        } else {
-          readLacRequestBuilder_.mergeFrom(value);
-        }
-        bitField0_ |= 0x00000020;
-        return this;
-      }
-      /**
-       * <code>optional .ReadLacRequest readLacRequest = 104;</code>
-       */
-      public Builder clearReadLacRequest() {
-        if (readLacRequestBuilder_ == null) {
-          readLacRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest.getDefaultInstance();
-          onChanged();
-        } else {
-          readLacRequestBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000020);
-        return this;
-      }
-      /**
-       * <code>optional .ReadLacRequest readLacRequest = 104;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest.Builder getReadLacRequestBuilder() {
-        bitField0_ |= 0x00000020;
-        onChanged();
-        return getReadLacRequestFieldBuilder().getBuilder();
-      }
-      /**
-       * <code>optional .ReadLacRequest readLacRequest = 104;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequestOrBuilder getReadLacRequestOrBuilder() {
-        if (readLacRequestBuilder_ != null) {
-          return readLacRequestBuilder_.getMessageOrBuilder();
-        } else {
-          return readLacRequest_;
-        }
-      }
-      /**
-       * <code>optional .ReadLacRequest readLacRequest = 104;</code>
-       */
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequestOrBuilder> 
-          getReadLacRequestFieldBuilder() {
-        if (readLacRequestBuilder_ == null) {
-          readLacRequestBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequestOrBuilder>(
-                  getReadLacRequest(),
-                  getParentForChildren(),
-                  isClean());
-          readLacRequest_ = null;
-        }
-        return readLacRequestBuilder_;
-      }
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest getBookieInfoRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.getDefaultInstance();
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest, org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequestOrBuilder> getBookieInfoRequestBuilder_;
-      /**
-       * <code>optional .GetBookieInfoRequest getBookieInfoRequest = 105;</code>
-       */
-      public boolean hasGetBookieInfoRequest() {
-        return ((bitField0_ & 0x00000040) == 0x00000040);
-      }
-      /**
-       * <code>optional .GetBookieInfoRequest getBookieInfoRequest = 105;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest getGetBookieInfoRequest() {
-        if (getBookieInfoRequestBuilder_ == null) {
-          return getBookieInfoRequest_;
-        } else {
-          return getBookieInfoRequestBuilder_.getMessage();
-        }
-      }
-      /**
-       * <code>optional .GetBookieInfoRequest getBookieInfoRequest = 105;</code>
-       */
-      public Builder setGetBookieInfoRequest(org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest value) {
-        if (getBookieInfoRequestBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          getBookieInfoRequest_ = value;
-          onChanged();
-        } else {
-          getBookieInfoRequestBuilder_.setMessage(value);
-        }
-        bitField0_ |= 0x00000040;
-        return this;
-      }
-      /**
-       * <code>optional .GetBookieInfoRequest getBookieInfoRequest = 105;</code>
-       */
-      public Builder setGetBookieInfoRequest(
-          org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.Builder builderForValue) {
-        if (getBookieInfoRequestBuilder_ == null) {
-          getBookieInfoRequest_ = builderForValue.build();
-          onChanged();
-        } else {
-          getBookieInfoRequestBuilder_.setMessage(builderForValue.build());
-        }
-        bitField0_ |= 0x00000040;
-        return this;
-      }
-      /**
-       * <code>optional .GetBookieInfoRequest getBookieInfoRequest = 105;</code>
-       */
-      public Builder mergeGetBookieInfoRequest(org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest value) {
-        if (getBookieInfoRequestBuilder_ == null) {
-          if (((bitField0_ & 0x00000040) == 0x00000040) &&
-              getBookieInfoRequest_ != org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.getDefaultInstance()) {
-            getBookieInfoRequest_ =
-              org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.newBuilder(getBookieInfoRequest_).mergeFrom(value).buildPartial();
-          } else {
-            getBookieInfoRequest_ = value;
-          }
-          onChanged();
-        } else {
-          getBookieInfoRequestBuilder_.mergeFrom(value);
-        }
-        bitField0_ |= 0x00000040;
-        return this;
-      }
-      /**
-       * <code>optional .GetBookieInfoRequest getBookieInfoRequest = 105;</code>
-       */
-      public Builder clearGetBookieInfoRequest() {
-        if (getBookieInfoRequestBuilder_ == null) {
-          getBookieInfoRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.getDefaultInstance();
-          onChanged();
-        } else {
-          getBookieInfoRequestBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000040);
-        return this;
-      }
-      /**
-       * <code>optional .GetBookieInfoRequest getBookieInfoRequest = 105;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.Builder getGetBookieInfoRequestBuilder() {
-        bitField0_ |= 0x00000040;
-        onChanged();
-        return getGetBookieInfoRequestFieldBuilder().getBuilder();
-      }
-      /**
-       * <code>optional .GetBookieInfoRequest getBookieInfoRequest = 105;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequestOrBuilder getGetBookieInfoRequestOrBuilder() {
-        if (getBookieInfoRequestBuilder_ != null) {
-          return getBookieInfoRequestBuilder_.getMessageOrBuilder();
-        } else {
-          return getBookieInfoRequest_;
-        }
-      }
-      /**
-       * <code>optional .GetBookieInfoRequest getBookieInfoRequest = 105;</code>
-       */
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest, org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequestOrBuilder> 
-          getGetBookieInfoRequestFieldBuilder() {
-        if (getBookieInfoRequestBuilder_ == null) {
-          getBookieInfoRequestBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest, org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequestOrBuilder>(
-                  getGetBookieInfoRequest(),
-                  getParentForChildren(),
-                  isClean());
-          getBookieInfoRequest_ = null;
-        }
-        return getBookieInfoRequestBuilder_;
-      }
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest startTLSRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest.getDefaultInstance();
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest, org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequestOrBuilder> startTLSRequestBuilder_;
-      /**
-       * <code>optional .StartTLSRequest startTLSRequest = 106;</code>
-       */
-      public boolean hasStartTLSRequest() {
-        return ((bitField0_ & 0x00000080) == 0x00000080);
-      }
-      /**
-       * <code>optional .StartTLSRequest startTLSRequest = 106;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest getStartTLSRequest() {
-        if (startTLSRequestBuilder_ == null) {
-          return startTLSRequest_;
-        } else {
-          return startTLSRequestBuilder_.getMessage();
-        }
-      }
-      /**
-       * <code>optional .StartTLSRequest startTLSRequest = 106;</code>
-       */
-      public Builder setStartTLSRequest(org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest value) {
-        if (startTLSRequestBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          startTLSRequest_ = value;
-          onChanged();
-        } else {
-          startTLSRequestBuilder_.setMessage(value);
-        }
-        bitField0_ |= 0x00000080;
-        return this;
-      }
-      /**
-       * <code>optional .StartTLSRequest startTLSRequest = 106;</code>
-       */
-      public Builder setStartTLSRequest(
-          org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest.Builder builderForValue) {
-        if (startTLSRequestBuilder_ == null) {
-          startTLSRequest_ = builderForValue.build();
-          onChanged();
-        } else {
-          startTLSRequestBuilder_.setMessage(builderForValue.build());
-        }
-        bitField0_ |= 0x00000080;
-        return this;
-      }
-      /**
-       * <code>optional .StartTLSRequest startTLSRequest = 106;</code>
-       */
-      public Builder mergeStartTLSRequest(org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest value) {
-        if (startTLSRequestBuilder_ == null) {
-          if (((bitField0_ & 0x00000080) == 0x00000080) &&
-              startTLSRequest_ != org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest.getDefaultInstance()) {
-            startTLSRequest_ =
-              org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest.newBuilder(startTLSRequest_).mergeFrom(value).buildPartial();
-          } else {
-            startTLSRequest_ = value;
-          }
-          onChanged();
-        } else {
-          startTLSRequestBuilder_.mergeFrom(value);
-        }
-        bitField0_ |= 0x00000080;
-        return this;
-      }
-      /**
-       * <code>optional .StartTLSRequest startTLSRequest = 106;</code>
-       */
-      public Builder clearStartTLSRequest() {
-        if (startTLSRequestBuilder_ == null) {
-          startTLSRequest_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest.getDefaultInstance();
-          onChanged();
-        } else {
-          startTLSRequestBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000080);
-        return this;
-      }
-      /**
-       * <code>optional .StartTLSRequest startTLSRequest = 106;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest.Builder getStartTLSRequestBuilder() {
-        bitField0_ |= 0x00000080;
-        onChanged();
-        return getStartTLSRequestFieldBuilder().getBuilder();
-      }
-      /**
-       * <code>optional .StartTLSRequest startTLSRequest = 106;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequestOrBuilder getStartTLSRequestOrBuilder() {
-        if (startTLSRequestBuilder_ != null) {
-          return startTLSRequestBuilder_.getMessageOrBuilder();
-        } else {
-          return startTLSRequest_;
-        }
-      }
-      /**
-       * <code>optional .StartTLSRequest startTLSRequest = 106;</code>
-       */
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest, org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequestOrBuilder> 
-          getStartTLSRequestFieldBuilder() {
-        if (startTLSRequestBuilder_ == null) {
-          startTLSRequestBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest, org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequestOrBuilder>(
-                  getStartTLSRequest(),
-                  getParentForChildren(),
-                  isClean());
-          startTLSRequest_ = null;
-        }
-        return startTLSRequestBuilder_;
-      }
-
-      // @@protoc_insertion_point(builder_scope:Request)
-    }
-
-    static {
-      defaultInstance = new Request(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:Request)
-  }
-
-  public interface ReadRequestOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:ReadRequest)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>optional .ReadRequest.Flag flag = 100;</code>
-     */
-    boolean hasFlag();
-    /**
-     * <code>optional .ReadRequest.Flag flag = 100;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.Flag getFlag();
-
-    /**
-     * <code>required int64 ledgerId = 1;</code>
-     */
-    boolean hasLedgerId();
-    /**
-     * <code>required int64 ledgerId = 1;</code>
-     */
-    long getLedgerId();
-
-    /**
-     * <code>required int64 entryId = 2;</code>
-     *
-     * <pre>
-     * entryId will be -1 for reading the LAST_ADD_CONFIRMED entry.
-     * </pre>
-     */
-    boolean hasEntryId();
-    /**
-     * <code>required int64 entryId = 2;</code>
-     *
-     * <pre>
-     * entryId will be -1 for reading the LAST_ADD_CONFIRMED entry.
-     * </pre>
-     */
-    long getEntryId();
-
-    /**
-     * <code>optional bytes masterKey = 3;</code>
-     *
-     * <pre>
-     * Used while fencing a ledger.
-     * </pre>
-     */
-    boolean hasMasterKey();
-    /**
-     * <code>optional bytes masterKey = 3;</code>
-     *
-     * <pre>
-     * Used while fencing a ledger.
-     * </pre>
-     */
-    com.google.protobuf.ByteString getMasterKey();
-
-    /**
-     * <code>optional int64 previousLAC = 4;</code>
-     *
-     * <pre>
-     * Used for waiting on last add confirmed update
-     * </pre>
-     */
-    boolean hasPreviousLAC();
-    /**
-     * <code>optional int64 previousLAC = 4;</code>
-     *
-     * <pre>
-     * Used for waiting on last add confirmed update
-     * </pre>
-     */
-    long getPreviousLAC();
-
-    /**
-     * <code>optional int64 timeOut = 5;</code>
-     *
-     * <pre>
-     * Used as a timeout (in milliseconds) for the long polling request
-     * </pre>
-     */
-    boolean hasTimeOut();
-    /**
-     * <code>optional int64 timeOut = 5;</code>
-     *
-     * <pre>
-     * Used as a timeout (in milliseconds) for the long polling request
-     * </pre>
-     */
-    long getTimeOut();
-  }
-  /**
-   * Protobuf type {@code ReadRequest}
-   */
-  public static final class ReadRequest extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:ReadRequest)
-      ReadRequestOrBuilder {
-    // Use ReadRequest.newBuilder() to construct.
-    private ReadRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private ReadRequest(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final ReadRequest defaultInstance;
-    public static ReadRequest getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public ReadRequest getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private ReadRequest(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 8: {
-              bitField0_ |= 0x00000002;
-              ledgerId_ = input.readInt64();
-              break;
-            }
-            case 16: {
-              bitField0_ |= 0x00000004;
-              entryId_ = input.readInt64();
-              break;
-            }
-            case 26: {
-              bitField0_ |= 0x00000008;
-              masterKey_ = input.readBytes();
-              break;
-            }
-            case 32: {
-              bitField0_ |= 0x00000010;
-              previousLAC_ = input.readInt64();
-              break;
-            }
-            case 40: {
-              bitField0_ |= 0x00000020;
-              timeOut_ = input.readInt64();
-              break;
-            }
-            case 800: {
-              int rawValue = input.readEnum();
-              org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.Flag value = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.Flag.valueOf(rawValue);
-              if (value == null) {
-                unknownFields.mergeVarintField(100, rawValue);
-              } else {
-                bitField0_ |= 0x00000001;
-                flag_ = value;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_ReadRequest_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_ReadRequest_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.class, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<ReadRequest> PARSER =
-        new com.google.protobuf.AbstractParser<ReadRequest>() {
-      public ReadRequest parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new ReadRequest(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<ReadRequest> getParserForType() {
-      return PARSER;
-    }
-
-    /**
-     * Protobuf enum {@code ReadRequest.Flag}
-     */
-    public enum Flag
-        implements com.google.protobuf.ProtocolMessageEnum {
-      /**
-       * <code>FENCE_LEDGER = 1;</code>
-       */
-      FENCE_LEDGER(0, 1),
-      /**
-       * <code>ENTRY_PIGGYBACK = 2;</code>
-       */
-      ENTRY_PIGGYBACK(1, 2),
-      ;
-
-      /**
-       * <code>FENCE_LEDGER = 1;</code>
-       */
-      public static final int FENCE_LEDGER_VALUE = 1;
-      /**
-       * <code>ENTRY_PIGGYBACK = 2;</code>
-       */
-      public static final int ENTRY_PIGGYBACK_VALUE = 2;
-
-
-      public final int getNumber() { return value; }
-
-      public static Flag valueOf(int value) {
-        switch (value) {
-          case 1: return FENCE_LEDGER;
-          case 2: return ENTRY_PIGGYBACK;
-          default: return null;
-        }
-      }
-
-      public static com.google.protobuf.Internal.EnumLiteMap<Flag>
-          internalGetValueMap() {
-        return internalValueMap;
-      }
-      private static com.google.protobuf.Internal.EnumLiteMap<Flag>
-          internalValueMap =
-            new com.google.protobuf.Internal.EnumLiteMap<Flag>() {
-              public Flag findValueByNumber(int number) {
-                return Flag.valueOf(number);
-              }
-            };
-
-      public final com.google.protobuf.Descriptors.EnumValueDescriptor
-          getValueDescriptor() {
-        return getDescriptor().getValues().get(index);
-      }
-      public final com.google.protobuf.Descriptors.EnumDescriptor
-          getDescriptorForType() {
-        return getDescriptor();
-      }
-      public static final com.google.protobuf.Descriptors.EnumDescriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.getDescriptor().getEnumTypes().get(0);
-      }
-
-      private static final Flag[] VALUES = values();
-
-      public static Flag valueOf(
-          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
-        if (desc.getType() != getDescriptor()) {
-          throw new java.lang.IllegalArgumentException(
-            "EnumValueDescriptor is not for this type.");
-        }
-        return VALUES[desc.getIndex()];
-      }
-
-      private final int index;
-      private final int value;
-
-      private Flag(int index, int value) {
-        this.index = index;
-        this.value = value;
-      }
-
-      // @@protoc_insertion_point(enum_scope:ReadRequest.Flag)
-    }
-
-    private int bitField0_;
-    public static final int FLAG_FIELD_NUMBER = 100;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.Flag flag_;
-    /**
-     * <code>optional .ReadRequest.Flag flag = 100;</code>
-     */
-    public boolean hasFlag() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>optional .ReadRequest.Flag flag = 100;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.Flag getFlag() {
-      return flag_;
-    }
-
-    public static final int LEDGERID_FIELD_NUMBER = 1;
-    private long ledgerId_;
-    /**
-     * <code>required int64 ledgerId = 1;</code>
-     */
-    public boolean hasLedgerId() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * <code>required int64 ledgerId = 1;</code>
-     */
-    public long getLedgerId() {
-      return ledgerId_;
-    }
-
-    public static final int ENTRYID_FIELD_NUMBER = 2;
-    private long entryId_;
-    /**
-     * <code>required int64 entryId = 2;</code>
-     *
-     * <pre>
-     * entryId will be -1 for reading the LAST_ADD_CONFIRMED entry.
-     * </pre>
-     */
-    public boolean hasEntryId() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    /**
-     * <code>required int64 entryId = 2;</code>
-     *
-     * <pre>
-     * entryId will be -1 for reading the LAST_ADD_CONFIRMED entry.
-     * </pre>
-     */
-    public long getEntryId() {
-      return entryId_;
-    }
-
-    public static final int MASTERKEY_FIELD_NUMBER = 3;
-    private com.google.protobuf.ByteString masterKey_;
-    /**
-     * <code>optional bytes masterKey = 3;</code>
-     *
-     * <pre>
-     * Used while fencing a ledger.
-     * </pre>
-     */
-    public boolean hasMasterKey() {
-      return ((bitField0_ & 0x00000008) == 0x00000008);
-    }
-    /**
-     * <code>optional bytes masterKey = 3;</code>
-     *
-     * <pre>
-     * Used while fencing a ledger.
-     * </pre>
-     */
-    public com.google.protobuf.ByteString getMasterKey() {
-      return masterKey_;
-    }
-
-    public static final int PREVIOUSLAC_FIELD_NUMBER = 4;
-    private long previousLAC_;
-    /**
-     * <code>optional int64 previousLAC = 4;</code>
-     *
-     * <pre>
-     * Used for waiting on last add confirmed update
-     * </pre>
-     */
-    public boolean hasPreviousLAC() {
-      return ((bitField0_ & 0x00000010) == 0x00000010);
-    }
-    /**
-     * <code>optional int64 previousLAC = 4;</code>
-     *
-     * <pre>
-     * Used for waiting on last add confirmed update
-     * </pre>
-     */
-    public long getPreviousLAC() {
-      return previousLAC_;
-    }
-
-    public static final int TIMEOUT_FIELD_NUMBER = 5;
-    private long timeOut_;
-    /**
-     * <code>optional int64 timeOut = 5;</code>
-     *
-     * <pre>
-     * Used as a timeout (in milliseconds) for the long polling request
-     * </pre>
-     */
-    public boolean hasTimeOut() {
-      return ((bitField0_ & 0x00000020) == 0x00000020);
-    }
-    /**
-     * <code>optional int64 timeOut = 5;</code>
-     *
-     * <pre>
-     * Used as a timeout (in milliseconds) for the long polling request
-     * </pre>
-     */
-    public long getTimeOut() {
-      return timeOut_;
-    }
-
-    private void initFields() {
-      flag_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.Flag.FENCE_LEDGER;
-      ledgerId_ = 0L;
-      entryId_ = 0L;
-      masterKey_ = com.google.protobuf.ByteString.EMPTY;
-      previousLAC_ = 0L;
-      timeOut_ = 0L;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      if (!hasLedgerId()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasEntryId()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeInt64(1, ledgerId_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeInt64(2, entryId_);
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        output.writeBytes(3, masterKey_);
-      }
-      if (((bitField0_ & 0x00000010) == 0x00000010)) {
-        output.writeInt64(4, previousLAC_);
-      }
-      if (((bitField0_ & 0x00000020) == 0x00000020)) {
-        output.writeInt64(5, timeOut_);
-      }
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeEnum(100, flag_.getNumber());
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(1, ledgerId_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(2, entryId_);
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(3, masterKey_);
-      }
-      if (((bitField0_ & 0x00000010) == 0x00000010)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(4, previousLAC_);
-      }
-      if (((bitField0_ & 0x00000020) == 0x00000020)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(5, timeOut_);
-      }
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeEnumSize(100, flag_.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 org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code ReadRequest}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:ReadRequest)
-        org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequestOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_ReadRequest_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_ReadRequest_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.class, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        flag_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.Flag.FENCE_LEDGER;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        ledgerId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        entryId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000004);
-        masterKey_ = com.google.protobuf.ByteString.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000008);
-        previousLAC_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000010);
-        timeOut_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000020);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_ReadRequest_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest build() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest buildPartial() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest result = new org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.flag_ = flag_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.ledgerId_ = ledgerId_;
-        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-          to_bitField0_ |= 0x00000004;
-        }
-        result.entryId_ = entryId_;
-        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
-          to_bitField0_ |= 0x00000008;
-        }
-        result.masterKey_ = masterKey_;
-        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
-          to_bitField0_ |= 0x00000010;
-        }
-        result.previousLAC_ = previousLAC_;
-        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
-          to_bitField0_ |= 0x00000020;
-        }
-        result.timeOut_ = timeOut_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest) {
-          return mergeFrom((org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest other) {
-        if (other == org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.getDefaultInstance()) return this;
-        if (other.hasFlag()) {
-          setFlag(other.getFlag());
-        }
-        if (other.hasLedgerId()) {
-          setLedgerId(other.getLedgerId());
-        }
-        if (other.hasEntryId()) {
-          setEntryId(other.getEntryId());
-        }
-        if (other.hasMasterKey()) {
-          setMasterKey(other.getMasterKey());
-        }
-        if (other.hasPreviousLAC()) {
-          setPreviousLAC(other.getPreviousLAC());
-        }
-        if (other.hasTimeOut()) {
-          setTimeOut(other.getTimeOut());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasLedgerId()) {
-          
-          return false;
-        }
-        if (!hasEntryId()) {
-          
-          return false;
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.Flag flag_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.Flag.FENCE_LEDGER;
-      /**
-       * <code>optional .ReadRequest.Flag flag = 100;</code>
-       */
-      public boolean hasFlag() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>optional .ReadRequest.Flag flag = 100;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.Flag getFlag() {
-        return flag_;
-      }
-      /**
-       * <code>optional .ReadRequest.Flag flag = 100;</code>
-       */
-      public Builder setFlag(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.Flag value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        bitField0_ |= 0x00000001;
-        flag_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional .ReadRequest.Flag flag = 100;</code>
-       */
-      public Builder clearFlag() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        flag_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadRequest.Flag.FENCE_LEDGER;
-        onChanged();
-        return this;
-      }
-
-      private long ledgerId_ ;
-      /**
-       * <code>required int64 ledgerId = 1;</code>
-       */
-      public boolean hasLedgerId() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>required int64 ledgerId = 1;</code>
-       */
-      public long getLedgerId() {
-        return ledgerId_;
-      }
-      /**
-       * <code>required int64 ledgerId = 1;</code>
-       */
-      public Builder setLedgerId(long value) {
-        bitField0_ |= 0x00000002;
-        ledgerId_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required int64 ledgerId = 1;</code>
-       */
-      public Builder clearLedgerId() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        ledgerId_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      private long entryId_ ;
-      /**
-       * <code>required int64 entryId = 2;</code>
-       *
-       * <pre>
-       * entryId will be -1 for reading the LAST_ADD_CONFIRMED entry.
-       * </pre>
-       */
-      public boolean hasEntryId() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
-      }
-      /**
-       * <code>required int64 entryId = 2;</code>
-       *
-       * <pre>
-       * entryId will be -1 for reading the LAST_ADD_CONFIRMED entry.
-       * </pre>
-       */
-      public long getEntryId() {
-        return entryId_;
-      }
-      /**
-       * <code>required int64 entryId = 2;</code>
-       *
-       * <pre>
-       * entryId will be -1 for reading the LAST_ADD_CONFIRMED entry.
-       * </pre>
-       */
-      public Builder setEntryId(long value) {
-        bitField0_ |= 0x00000004;
-        entryId_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required int64 entryId = 2;</code>
-       *
-       * <pre>
-       * entryId will be -1 for reading the LAST_ADD_CONFIRMED entry.
-       * </pre>
-       */
-      public Builder clearEntryId() {
-        bitField0_ = (bitField0_ & ~0x00000004);
-        entryId_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      private com.google.protobuf.ByteString masterKey_ = com.google.protobuf.ByteString.EMPTY;
-      /**
-       * <code>optional bytes masterKey = 3;</code>
-       *
-       * <pre>
-       * Used while fencing a ledger.
-       * </pre>
-       */
-      public boolean hasMasterKey() {
-        return ((bitField0_ & 0x00000008) == 0x00000008);
-      }
-      /**
-       * <code>optional bytes masterKey = 3;</code>
-       *
-       * <pre>
-       * Used while fencing a ledger.
-       * </pre>
-       */
-      public com.google.protobuf.ByteString getMasterKey() {
-        return masterKey_;
-      }
-      /**
-       * <code>optional bytes masterKey = 3;</code>
-       *
-       * <pre>
-       * Used while fencing a ledger.
-       * </pre>
-       */
-      public Builder setMasterKey(com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000008;
-        masterKey_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional bytes masterKey = 3;</code>
-       *
-       * <pre>
-       * Used while fencing a ledger.
-       * </pre>
-       */
-      public Builder clearMasterKey() {
-        bitField0_ = (bitField0_ & ~0x00000008);
-        masterKey_ = getDefaultInstance().getMasterKey();
-        onChanged();
-        return this;
-      }
-
-      private long previousLAC_ ;
-      /**
-       * <code>optional int64 previousLAC = 4;</code>
-       *
-       * <pre>
-       * Used for waiting on last add confirmed update
-       * </pre>
-       */
-      public boolean hasPreviousLAC() {
-        return ((bitField0_ & 0x00000010) == 0x00000010);
-      }
-      /**
-       * <code>optional int64 previousLAC = 4;</code>
-       *
-       * <pre>
-       * Used for waiting on last add confirmed update
-       * </pre>
-       */
-      public long getPreviousLAC() {
-        return previousLAC_;
-      }
-      /**
-       * <code>optional int64 previousLAC = 4;</code>
-       *
-       * <pre>
-       * Used for waiting on last add confirmed update
-       * </pre>
-       */
-      public Builder setPreviousLAC(long value) {
-        bitField0_ |= 0x00000010;
-        previousLAC_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional int64 previousLAC = 4;</code>
-       *
-       * <pre>
-       * Used for waiting on last add confirmed update
-       * </pre>
-       */
-      public Builder clearPreviousLAC() {
-        bitField0_ = (bitField0_ & ~0x00000010);
-        previousLAC_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      private long timeOut_ ;
-      /**
-       * <code>optional int64 timeOut = 5;</code>
-       *
-       * <pre>
-       * Used as a timeout (in milliseconds) for the long polling request
-       * </pre>
-       */
-      public boolean hasTimeOut() {
-        return ((bitField0_ & 0x00000020) == 0x00000020);
-      }
-      /**
-       * <code>optional int64 timeOut = 5;</code>
-       *
-       * <pre>
-       * Used as a timeout (in milliseconds) for the long polling request
-       * </pre>
-       */
-      public long getTimeOut() {
-        return timeOut_;
-      }
-      /**
-       * <code>optional int64 timeOut = 5;</code>
-       *
-       * <pre>
-       * Used as a timeout (in milliseconds) for the long polling request
-       * </pre>
-       */
-      public Builder setTimeOut(long value) {
-        bitField0_ |= 0x00000020;
-        timeOut_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional int64 timeOut = 5;</code>
-       *
-       * <pre>
-       * Used as a timeout (in milliseconds) for the long polling request
-       * </pre>
-       */
-      public Builder clearTimeOut() {
-        bitField0_ = (bitField0_ & ~0x00000020);
-        timeOut_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:ReadRequest)
-    }
-
-    static {
-      defaultInstance = new ReadRequest(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:ReadRequest)
-  }
-
-  public interface AddRequestOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:AddRequest)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>optional .AddRequest.Flag flag = 100;</code>
-     */
-    boolean hasFlag();
-    /**
-     * <code>optional .AddRequest.Flag flag = 100;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.Flag getFlag();
-
-    /**
-     * <code>required int64 ledgerId = 1;</code>
-     */
-    boolean hasLedgerId();
-    /**
-     * <code>required int64 ledgerId = 1;</code>
-     */
-    long getLedgerId();
-
-    /**
-     * <code>required int64 entryId = 2;</code>
-     */
-    boolean hasEntryId();
-    /**
-     * <code>required int64 entryId = 2;</code>
-     */
-    long getEntryId();
-
-    /**
-     * <code>required bytes masterKey = 3;</code>
-     */
-    boolean hasMasterKey();
-    /**
-     * <code>required bytes masterKey = 3;</code>
-     */
-    com.google.protobuf.ByteString getMasterKey();
-
-    /**
-     * <code>required bytes body = 4;</code>
-     */
-    boolean hasBody();
-    /**
-     * <code>required bytes body = 4;</code>
-     */
-    com.google.protobuf.ByteString getBody();
-  }
-  /**
-   * Protobuf type {@code AddRequest}
-   */
-  public static final class AddRequest extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:AddRequest)
-      AddRequestOrBuilder {
-    // Use AddRequest.newBuilder() to construct.
-    private AddRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private AddRequest(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final AddRequest defaultInstance;
-    public static AddRequest getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public AddRequest getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private AddRequest(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 8: {
-              bitField0_ |= 0x00000002;
-              ledgerId_ = input.readInt64();
-              break;
-            }
-            case 16: {
-              bitField0_ |= 0x00000004;
-              entryId_ = input.readInt64();
-              break;
-            }
-            case 26: {
-              bitField0_ |= 0x00000008;
-              masterKey_ = input.readBytes();
-              break;
-            }
-            case 34: {
-              bitField0_ |= 0x00000010;
-              body_ = input.readBytes();
-              break;
-            }
-            case 800: {
-              int rawValue = input.readEnum();
-              org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.Flag value = org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.Flag.valueOf(rawValue);
-              if (value == null) {
-                unknownFields.mergeVarintField(100, rawValue);
-              } else {
-                bitField0_ |= 0x00000001;
-                flag_ = value;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_AddRequest_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_AddRequest_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.class, org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<AddRequest> PARSER =
-        new com.google.protobuf.AbstractParser<AddRequest>() {
-      public AddRequest parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new AddRequest(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<AddRequest> getParserForType() {
-      return PARSER;
-    }
-
-    /**
-     * Protobuf enum {@code AddRequest.Flag}
-     */
-    public enum Flag
-        implements com.google.protobuf.ProtocolMessageEnum {
-      /**
-       * <code>RECOVERY_ADD = 1;</code>
-       */
-      RECOVERY_ADD(0, 1),
-      ;
-
-      /**
-       * <code>RECOVERY_ADD = 1;</code>
-       */
-      public static final int RECOVERY_ADD_VALUE = 1;
-
-
-      public final int getNumber() { return value; }
-
-      public static Flag valueOf(int value) {
-        switch (value) {
-          case 1: return RECOVERY_ADD;
-          default: return null;
-        }
-      }
-
-      public static com.google.protobuf.Internal.EnumLiteMap<Flag>
-          internalGetValueMap() {
-        return internalValueMap;
-      }
-      private static com.google.protobuf.Internal.EnumLiteMap<Flag>
-          internalValueMap =
-            new com.google.protobuf.Internal.EnumLiteMap<Flag>() {
-              public Flag findValueByNumber(int number) {
-                return Flag.valueOf(number);
-              }
-            };
-
-      public final com.google.protobuf.Descriptors.EnumValueDescriptor
-          getValueDescriptor() {
-        return getDescriptor().getValues().get(index);
-      }
-      public final com.google.protobuf.Descriptors.EnumDescriptor
-          getDescriptorForType() {
-        return getDescriptor();
-      }
-      public static final com.google.protobuf.Descriptors.EnumDescriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.getDescriptor().getEnumTypes().get(0);
-      }
-
-      private static final Flag[] VALUES = values();
-
-      public static Flag valueOf(
-          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
-        if (desc.getType() != getDescriptor()) {
-          throw new java.lang.IllegalArgumentException(
-            "EnumValueDescriptor is not for this type.");
-        }
-        return VALUES[desc.getIndex()];
-      }
-
-      private final int index;
-      private final int value;
-
-      private Flag(int index, int value) {
-        this.index = index;
-        this.value = value;
-      }
-
-      // @@protoc_insertion_point(enum_scope:AddRequest.Flag)
-    }
-
-    private int bitField0_;
-    public static final int FLAG_FIELD_NUMBER = 100;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.Flag flag_;
-    /**
-     * <code>optional .AddRequest.Flag flag = 100;</code>
-     */
-    public boolean hasFlag() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>optional .AddRequest.Flag flag = 100;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.Flag getFlag() {
-      return flag_;
-    }
-
-    public static final int LEDGERID_FIELD_NUMBER = 1;
-    private long ledgerId_;
-    /**
-     * <code>required int64 ledgerId = 1;</code>
-     */
-    public boolean hasLedgerId() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * <code>required int64 ledgerId = 1;</code>
-     */
-    public long getLedgerId() {
-      return ledgerId_;
-    }
-
-    public static final int ENTRYID_FIELD_NUMBER = 2;
-    private long entryId_;
-    /**
-     * <code>required int64 entryId = 2;</code>
-     */
-    public boolean hasEntryId() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    /**
-     * <code>required int64 entryId = 2;</code>
-     */
-    public long getEntryId() {
-      return entryId_;
-    }
-
-    public static final int MASTERKEY_FIELD_NUMBER = 3;
-    private com.google.protobuf.ByteString masterKey_;
-    /**
-     * <code>required bytes masterKey = 3;</code>
-     */
-    public boolean hasMasterKey() {
-      return ((bitField0_ & 0x00000008) == 0x00000008);
-    }
-    /**
-     * <code>required bytes masterKey = 3;</code>
-     */
-    public com.google.protobuf.ByteString getMasterKey() {
-      return masterKey_;
-    }
-
-    public static final int BODY_FIELD_NUMBER = 4;
-    private com.google.protobuf.ByteString body_;
-    /**
-     * <code>required bytes body = 4;</code>
-     */
-    public boolean hasBody() {
-      return ((bitField0_ & 0x00000010) == 0x00000010);
-    }
-    /**
-     * <code>required bytes body = 4;</code>
-     */
-    public com.google.protobuf.ByteString getBody() {
-      return body_;
-    }
-
-    private void initFields() {
-      flag_ = org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.Flag.RECOVERY_ADD;
-      ledgerId_ = 0L;
-      entryId_ = 0L;
-      masterKey_ = com.google.protobuf.ByteString.EMPTY;
-      body_ = com.google.protobuf.ByteString.EMPTY;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      if (!hasLedgerId()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasEntryId()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasMasterKey()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasBody()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeInt64(1, ledgerId_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeInt64(2, entryId_);
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        output.writeBytes(3, masterKey_);
-      }
-      if (((bitField0_ & 0x00000010) == 0x00000010)) {
-        output.writeBytes(4, body_);
-      }
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeEnum(100, flag_.getNumber());
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(1, ledgerId_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(2, entryId_);
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(3, masterKey_);
-      }
-      if (((bitField0_ & 0x00000010) == 0x00000010)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(4, body_);
-      }
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeEnumSize(100, flag_.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 org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code AddRequest}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:AddRequest)
-        org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequestOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_AddRequest_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_AddRequest_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.class, org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        flag_ = org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.Flag.RECOVERY_ADD;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        ledgerId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        entryId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000004);
-        masterKey_ = com.google.protobuf.ByteString.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000008);
-        body_ = com.google.protobuf.ByteString.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000010);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_AddRequest_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest build() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest buildPartial() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest result = new org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.flag_ = flag_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.ledgerId_ = ledgerId_;
-        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-          to_bitField0_ |= 0x00000004;
-        }
-        result.entryId_ = entryId_;
-        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
-          to_bitField0_ |= 0x00000008;
-        }
-        result.masterKey_ = masterKey_;
-        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
-          to_bitField0_ |= 0x00000010;
-        }
-        result.body_ = body_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest) {
-          return mergeFrom((org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest other) {
-        if (other == org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.getDefaultInstance()) return this;
-        if (other.hasFlag()) {
-          setFlag(other.getFlag());
-        }
-        if (other.hasLedgerId()) {
-          setLedgerId(other.getLedgerId());
-        }
-        if (other.hasEntryId()) {
-          setEntryId(other.getEntryId());
-        }
-        if (other.hasMasterKey()) {
-          setMasterKey(other.getMasterKey());
-        }
-        if (other.hasBody()) {
-          setBody(other.getBody());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasLedgerId()) {
-          
-          return false;
-        }
-        if (!hasEntryId()) {
-          
-          return false;
-        }
-        if (!hasMasterKey()) {
-          
-          return false;
-        }
-        if (!hasBody()) {
-          
-          return false;
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.Flag flag_ = org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.Flag.RECOVERY_ADD;
-      /**
-       * <code>optional .AddRequest.Flag flag = 100;</code>
-       */
-      public boolean hasFlag() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>optional .AddRequest.Flag flag = 100;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.Flag getFlag() {
-        return flag_;
-      }
-      /**
-       * <code>optional .AddRequest.Flag flag = 100;</code>
-       */
-      public Builder setFlag(org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.Flag value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        bitField0_ |= 0x00000001;
-        flag_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional .AddRequest.Flag flag = 100;</code>
-       */
-      public Builder clearFlag() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        flag_ = org.apache.bookkeeper.proto.BookkeeperProtocol.AddRequest.Flag.RECOVERY_ADD;
-        onChanged();
-        return this;
-      }
-
-      private long ledgerId_ ;
-      /**
-       * <code>required int64 ledgerId = 1;</code>
-       */
-      public boolean hasLedgerId() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>required int64 ledgerId = 1;</code>
-       */
-      public long getLedgerId() {
-        return ledgerId_;
-      }
-      /**
-       * <code>required int64 ledgerId = 1;</code>
-       */
-      public Builder setLedgerId(long value) {
-        bitField0_ |= 0x00000002;
-        ledgerId_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required int64 ledgerId = 1;</code>
-       */
-      public Builder clearLedgerId() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        ledgerId_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      private long entryId_ ;
-      /**
-       * <code>required int64 entryId = 2;</code>
-       */
-      public boolean hasEntryId() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
-      }
-      /**
-       * <code>required int64 entryId = 2;</code>
-       */
-      public long getEntryId() {
-        return entryId_;
-      }
-      /**
-       * <code>required int64 entryId = 2;</code>
-       */
-      public Builder setEntryId(long value) {
-        bitField0_ |= 0x00000004;
-        entryId_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required int64 entryId = 2;</code>
-       */
-      public Builder clearEntryId() {
-        bitField0_ = (bitField0_ & ~0x00000004);
-        entryId_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      private com.google.protobuf.ByteString masterKey_ = com.google.protobuf.ByteString.EMPTY;
-      /**
-       * <code>required bytes masterKey = 3;</code>
-       */
-      public boolean hasMasterKey() {
-        return ((bitField0_ & 0x00000008) == 0x00000008);
-      }
-      /**
-       * <code>required bytes masterKey = 3;</code>
-       */
-      public com.google.protobuf.ByteString getMasterKey() {
-        return masterKey_;
-      }
-      /**
-       * <code>required bytes masterKey = 3;</code>
-       */
-      public Builder setMasterKey(com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000008;
-        masterKey_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required bytes masterKey = 3;</code>
-       */
-      public Builder clearMasterKey() {
-        bitField0_ = (bitField0_ & ~0x00000008);
-        masterKey_ = getDefaultInstance().getMasterKey();
-        onChanged();
-        return this;
-      }
-
-      private com.google.protobuf.ByteString body_ = com.google.protobuf.ByteString.EMPTY;
-      /**
-       * <code>required bytes body = 4;</code>
-       */
-      public boolean hasBody() {
-        return ((bitField0_ & 0x00000010) == 0x00000010);
-      }
-      /**
-       * <code>required bytes body = 4;</code>
-       */
-      public com.google.protobuf.ByteString getBody() {
-        return body_;
-      }
-      /**
-       * <code>required bytes body = 4;</code>
-       */
-      public Builder setBody(com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000010;
-        body_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required bytes body = 4;</code>
-       */
-      public Builder clearBody() {
-        bitField0_ = (bitField0_ & ~0x00000010);
-        body_ = getDefaultInstance().getBody();
-        onChanged();
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:AddRequest)
-    }
-
-    static {
-      defaultInstance = new AddRequest(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:AddRequest)
-  }
-
-  public interface StartTLSRequestOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:StartTLSRequest)
-      com.google.protobuf.MessageOrBuilder {
-  }
-  /**
-   * Protobuf type {@code StartTLSRequest}
-   */
-  public static final class StartTLSRequest extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:StartTLSRequest)
-      StartTLSRequestOrBuilder {
-    // Use StartTLSRequest.newBuilder() to construct.
-    private StartTLSRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private StartTLSRequest(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final StartTLSRequest defaultInstance;
-    public static StartTLSRequest getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public StartTLSRequest getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private StartTLSRequest(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_StartTLSRequest_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_StartTLSRequest_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest.class, org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<StartTLSRequest> PARSER =
-        new com.google.protobuf.AbstractParser<StartTLSRequest>() {
-      public StartTLSRequest parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new StartTLSRequest(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<StartTLSRequest> getParserForType() {
-      return PARSER;
-    }
-
-    private void initFields() {
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code StartTLSRequest}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:StartTLSRequest)
-        org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequestOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_StartTLSRequest_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_StartTLSRequest_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest.class, org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_StartTLSRequest_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest build() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest buildPartial() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest result = new org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest(this);
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest) {
-          return mergeFrom((org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest other) {
-        if (other == org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest.getDefaultInstance()) return this;
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSRequest) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:StartTLSRequest)
-    }
-
-    static {
-      defaultInstance = new StartTLSRequest(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:StartTLSRequest)
-  }
-
-  public interface WriteLacRequestOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:WriteLacRequest)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>required int64 ledgerId = 1;</code>
-     */
-    boolean hasLedgerId();
-    /**
-     * <code>required int64 ledgerId = 1;</code>
-     */
-    long getLedgerId();
-
-    /**
-     * <code>required int64 lac = 2;</code>
-     */
-    boolean hasLac();
-    /**
-     * <code>required int64 lac = 2;</code>
-     */
-    long getLac();
-
-    /**
-     * <code>required bytes masterKey = 3;</code>
-     */
-    boolean hasMasterKey();
-    /**
-     * <code>required bytes masterKey = 3;</code>
-     */
-    com.google.protobuf.ByteString getMasterKey();
-
-    /**
-     * <code>required bytes body = 4;</code>
-     */
-    boolean hasBody();
-    /**
-     * <code>required bytes body = 4;</code>
-     */
-    com.google.protobuf.ByteString getBody();
-  }
-  /**
-   * Protobuf type {@code WriteLacRequest}
-   */
-  public static final class WriteLacRequest extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:WriteLacRequest)
-      WriteLacRequestOrBuilder {
-    // Use WriteLacRequest.newBuilder() to construct.
-    private WriteLacRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private WriteLacRequest(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final WriteLacRequest defaultInstance;
-    public static WriteLacRequest getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public WriteLacRequest getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private WriteLacRequest(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 8: {
-              bitField0_ |= 0x00000001;
-              ledgerId_ = input.readInt64();
-              break;
-            }
-            case 16: {
-              bitField0_ |= 0x00000002;
-              lac_ = input.readInt64();
-              break;
-            }
-            case 26: {
-              bitField0_ |= 0x00000004;
-              masterKey_ = input.readBytes();
-              break;
-            }
-            case 34: {
-              bitField0_ |= 0x00000008;
-              body_ = input.readBytes();
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_WriteLacRequest_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_WriteLacRequest_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest.class, org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<WriteLacRequest> PARSER =
-        new com.google.protobuf.AbstractParser<WriteLacRequest>() {
-      public WriteLacRequest parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new WriteLacRequest(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<WriteLacRequest> getParserForType() {
-      return PARSER;
-    }
-
-    private int bitField0_;
-    public static final int LEDGERID_FIELD_NUMBER = 1;
-    private long ledgerId_;
-    /**
-     * <code>required int64 ledgerId = 1;</code>
-     */
-    public boolean hasLedgerId() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>required int64 ledgerId = 1;</code>
-     */
-    public long getLedgerId() {
-      return ledgerId_;
-    }
-
-    public static final int LAC_FIELD_NUMBER = 2;
-    private long lac_;
-    /**
-     * <code>required int64 lac = 2;</code>
-     */
-    public boolean hasLac() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * <code>required int64 lac = 2;</code>
-     */
-    public long getLac() {
-      return lac_;
-    }
-
-    public static final int MASTERKEY_FIELD_NUMBER = 3;
-    private com.google.protobuf.ByteString masterKey_;
-    /**
-     * <code>required bytes masterKey = 3;</code>
-     */
-    public boolean hasMasterKey() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    /**
-     * <code>required bytes masterKey = 3;</code>
-     */
-    public com.google.protobuf.ByteString getMasterKey() {
-      return masterKey_;
-    }
-
-    public static final int BODY_FIELD_NUMBER = 4;
-    private com.google.protobuf.ByteString body_;
-    /**
-     * <code>required bytes body = 4;</code>
-     */
-    public boolean hasBody() {
-      return ((bitField0_ & 0x00000008) == 0x00000008);
-    }
-    /**
-     * <code>required bytes body = 4;</code>
-     */
-    public com.google.protobuf.ByteString getBody() {
-      return body_;
-    }
-
-    private void initFields() {
-      ledgerId_ = 0L;
-      lac_ = 0L;
-      masterKey_ = com.google.protobuf.ByteString.EMPTY;
-      body_ = com.google.protobuf.ByteString.EMPTY;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      if (!hasLedgerId()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasLac()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasMasterKey()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasBody()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeInt64(1, ledgerId_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeInt64(2, lac_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeBytes(3, masterKey_);
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        output.writeBytes(4, body_);
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(1, ledgerId_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(2, lac_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(3, masterKey_);
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(4, body_);
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code WriteLacRequest}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:WriteLacRequest)
-        org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequestOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_WriteLacRequest_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_WriteLacRequest_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest.class, org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        ledgerId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        lac_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        masterKey_ = com.google.protobuf.ByteString.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000004);
-        body_ = com.google.protobuf.ByteString.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000008);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_WriteLacRequest_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest build() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest buildPartial() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest result = new org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.ledgerId_ = ledgerId_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.lac_ = lac_;
-        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-          to_bitField0_ |= 0x00000004;
-        }
-        result.masterKey_ = masterKey_;
-        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
-          to_bitField0_ |= 0x00000008;
-        }
-        result.body_ = body_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest) {
-          return mergeFrom((org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest other) {
-        if (other == org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest.getDefaultInstance()) return this;
-        if (other.hasLedgerId()) {
-          setLedgerId(other.getLedgerId());
-        }
-        if (other.hasLac()) {
-          setLac(other.getLac());
-        }
-        if (other.hasMasterKey()) {
-          setMasterKey(other.getMasterKey());
-        }
-        if (other.hasBody()) {
-          setBody(other.getBody());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasLedgerId()) {
-          
-          return false;
-        }
-        if (!hasLac()) {
-          
-          return false;
-        }
-        if (!hasMasterKey()) {
-          
-          return false;
-        }
-        if (!hasBody()) {
-          
-          return false;
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacRequest) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      private long ledgerId_ ;
-      /**
-       * <code>required int64 ledgerId = 1;</code>
-       */
-      public boolean hasLedgerId() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required int64 ledgerId = 1;</code>
-       */
-      public long getLedgerId() {
-        return ledgerId_;
-      }
-      /**
-       * <code>required int64 ledgerId = 1;</code>
-       */
-      public Builder setLedgerId(long value) {
-        bitField0_ |= 0x00000001;
-        ledgerId_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required int64 ledgerId = 1;</code>
-       */
-      public Builder clearLedgerId() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        ledgerId_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      private long lac_ ;
-      /**
-       * <code>required int64 lac = 2;</code>
-       */
-      public boolean hasLac() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>required int64 lac = 2;</code>
-       */
-      public long getLac() {
-        return lac_;
-      }
-      /**
-       * <code>required int64 lac = 2;</code>
-       */
-      public Builder setLac(long value) {
-        bitField0_ |= 0x00000002;
-        lac_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required int64 lac = 2;</code>
-       */
-      public Builder clearLac() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        lac_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      private com.google.protobuf.ByteString masterKey_ = com.google.protobuf.ByteString.EMPTY;
-      /**
-       * <code>required bytes masterKey = 3;</code>
-       */
-      public boolean hasMasterKey() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
-      }
-      /**
-       * <code>required bytes masterKey = 3;</code>
-       */
-      public com.google.protobuf.ByteString getMasterKey() {
-        return masterKey_;
-      }
-      /**
-       * <code>required bytes masterKey = 3;</code>
-       */
-      public Builder setMasterKey(com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000004;
-        masterKey_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required bytes masterKey = 3;</code>
-       */
-      public Builder clearMasterKey() {
-        bitField0_ = (bitField0_ & ~0x00000004);
-        masterKey_ = getDefaultInstance().getMasterKey();
-        onChanged();
-        return this;
-      }
-
-      private com.google.protobuf.ByteString body_ = com.google.protobuf.ByteString.EMPTY;
-      /**
-       * <code>required bytes body = 4;</code>
-       */
-      public boolean hasBody() {
-        return ((bitField0_ & 0x00000008) == 0x00000008);
-      }
-      /**
-       * <code>required bytes body = 4;</code>
-       */
-      public com.google.protobuf.ByteString getBody() {
-        return body_;
-      }
-      /**
-       * <code>required bytes body = 4;</code>
-       */
-      public Builder setBody(com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000008;
-        body_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required bytes body = 4;</code>
-       */
-      public Builder clearBody() {
-        bitField0_ = (bitField0_ & ~0x00000008);
-        body_ = getDefaultInstance().getBody();
-        onChanged();
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:WriteLacRequest)
-    }
-
-    static {
-      defaultInstance = new WriteLacRequest(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:WriteLacRequest)
-  }
-
-  public interface ReadLacRequestOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:ReadLacRequest)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>required int64 ledgerId = 1;</code>
-     */
-    boolean hasLedgerId();
-    /**
-     * <code>required int64 ledgerId = 1;</code>
-     */
-    long getLedgerId();
-  }
-  /**
-   * Protobuf type {@code ReadLacRequest}
-   */
-  public static final class ReadLacRequest extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:ReadLacRequest)
-      ReadLacRequestOrBuilder {
-    // Use ReadLacRequest.newBuilder() to construct.
-    private ReadLacRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private ReadLacRequest(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final ReadLacRequest defaultInstance;
-    public static ReadLacRequest getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public ReadLacRequest getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private ReadLacRequest(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 8: {
-              bitField0_ |= 0x00000001;
-              ledgerId_ = input.readInt64();
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_ReadLacRequest_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_ReadLacRequest_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest.class, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<ReadLacRequest> PARSER =
-        new com.google.protobuf.AbstractParser<ReadLacRequest>() {
-      public ReadLacRequest parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new ReadLacRequest(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<ReadLacRequest> getParserForType() {
-      return PARSER;
-    }
-
-    private int bitField0_;
-    public static final int LEDGERID_FIELD_NUMBER = 1;
-    private long ledgerId_;
-    /**
-     * <code>required int64 ledgerId = 1;</code>
-     */
-    public boolean hasLedgerId() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>required int64 ledgerId = 1;</code>
-     */
-    public long getLedgerId() {
-      return ledgerId_;
-    }
-
-    private void initFields() {
-      ledgerId_ = 0L;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      if (!hasLedgerId()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeInt64(1, ledgerId_);
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(1, ledgerId_);
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code ReadLacRequest}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:ReadLacRequest)
-        org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequestOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_ReadLacRequest_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_ReadLacRequest_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest.class, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        ledgerId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_ReadLacRequest_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest build() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest buildPartial() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest result = new org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.ledgerId_ = ledgerId_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest) {
-          return mergeFrom((org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest other) {
-        if (other == org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest.getDefaultInstance()) return this;
-        if (other.hasLedgerId()) {
-          setLedgerId(other.getLedgerId());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasLedgerId()) {
-          
-          return false;
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacRequest) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      private long ledgerId_ ;
-      /**
-       * <code>required int64 ledgerId = 1;</code>
-       */
-      public boolean hasLedgerId() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required int64 ledgerId = 1;</code>
-       */
-      public long getLedgerId() {
-        return ledgerId_;
-      }
-      /**
-       * <code>required int64 ledgerId = 1;</code>
-       */
-      public Builder setLedgerId(long value) {
-        bitField0_ |= 0x00000001;
-        ledgerId_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required int64 ledgerId = 1;</code>
-       */
-      public Builder clearLedgerId() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        ledgerId_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:ReadLacRequest)
-    }
-
-    static {
-      defaultInstance = new ReadLacRequest(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:ReadLacRequest)
-  }
-
-  public interface GetBookieInfoRequestOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:GetBookieInfoRequest)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>optional int64 requested = 1;</code>
-     *
-     * <pre>
-     * bitwise OR of Flags
-     * </pre>
-     */
-    boolean hasRequested();
-    /**
-     * <code>optional int64 requested = 1;</code>
-     *
-     * <pre>
-     * bitwise OR of Flags
-     * </pre>
-     */
-    long getRequested();
-  }
-  /**
-   * Protobuf type {@code GetBookieInfoRequest}
-   */
-  public static final class GetBookieInfoRequest extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:GetBookieInfoRequest)
-      GetBookieInfoRequestOrBuilder {
-    // Use GetBookieInfoRequest.newBuilder() to construct.
-    private GetBookieInfoRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private GetBookieInfoRequest(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final GetBookieInfoRequest defaultInstance;
-    public static GetBookieInfoRequest getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public GetBookieInfoRequest getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private GetBookieInfoRequest(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 8: {
-              bitField0_ |= 0x00000001;
-              requested_ = input.readInt64();
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_GetBookieInfoRequest_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_GetBookieInfoRequest_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.class, org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<GetBookieInfoRequest> PARSER =
-        new com.google.protobuf.AbstractParser<GetBookieInfoRequest>() {
-      public GetBookieInfoRequest parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new GetBookieInfoRequest(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<GetBookieInfoRequest> getParserForType() {
-      return PARSER;
-    }
-
-    /**
-     * Protobuf enum {@code GetBookieInfoRequest.Flags}
-     */
-    public enum Flags
-        implements com.google.protobuf.ProtocolMessageEnum {
-      /**
-       * <code>TOTAL_DISK_CAPACITY = 1;</code>
-       */
-      TOTAL_DISK_CAPACITY(0, 1),
-      /**
-       * <code>FREE_DISK_SPACE = 2;</code>
-       */
-      FREE_DISK_SPACE(1, 2),
-      ;
-
-      /**
-       * <code>TOTAL_DISK_CAPACITY = 1;</code>
-       */
-      public static final int TOTAL_DISK_CAPACITY_VALUE = 1;
-      /**
-       * <code>FREE_DISK_SPACE = 2;</code>
-       */
-      public static final int FREE_DISK_SPACE_VALUE = 2;
-
-
-      public final int getNumber() { return value; }
-
-      public static Flags valueOf(int value) {
-        switch (value) {
-          case 1: return TOTAL_DISK_CAPACITY;
-          case 2: return FREE_DISK_SPACE;
-          default: return null;
-        }
-      }
-
-      public static com.google.protobuf.Internal.EnumLiteMap<Flags>
-          internalGetValueMap() {
-        return internalValueMap;
-      }
-      private static com.google.protobuf.Internal.EnumLiteMap<Flags>
-          internalValueMap =
-            new com.google.protobuf.Internal.EnumLiteMap<Flags>() {
-              public Flags findValueByNumber(int number) {
-                return Flags.valueOf(number);
-              }
-            };
-
-      public final com.google.protobuf.Descriptors.EnumValueDescriptor
-          getValueDescriptor() {
-        return getDescriptor().getValues().get(index);
-      }
-      public final com.google.protobuf.Descriptors.EnumDescriptor
-          getDescriptorForType() {
-        return getDescriptor();
-      }
-      public static final com.google.protobuf.Descriptors.EnumDescriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.getDescriptor().getEnumTypes().get(0);
-      }
-
-      private static final Flags[] VALUES = values();
-
-      public static Flags valueOf(
-          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
-        if (desc.getType() != getDescriptor()) {
-          throw new java.lang.IllegalArgumentException(
-            "EnumValueDescriptor is not for this type.");
-        }
-        return VALUES[desc.getIndex()];
-      }
-
-      private final int index;
-      private final int value;
-
-      private Flags(int index, int value) {
-        this.index = index;
-        this.value = value;
-      }
-
-      // @@protoc_insertion_point(enum_scope:GetBookieInfoRequest.Flags)
-    }
-
-    private int bitField0_;
-    public static final int REQUESTED_FIELD_NUMBER = 1;
-    private long requested_;
-    /**
-     * <code>optional int64 requested = 1;</code>
-     *
-     * <pre>
-     * bitwise OR of Flags
-     * </pre>
-     */
-    public boolean hasRequested() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>optional int64 requested = 1;</code>
-     *
-     * <pre>
-     * bitwise OR of Flags
-     * </pre>
-     */
-    public long getRequested() {
-      return requested_;
-    }
-
-    private void initFields() {
-      requested_ = 0L;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeInt64(1, requested_);
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(1, requested_);
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code GetBookieInfoRequest}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:GetBookieInfoRequest)
-        org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequestOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_GetBookieInfoRequest_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_GetBookieInfoRequest_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.class, org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        requested_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_GetBookieInfoRequest_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest build() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest buildPartial() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest result = new org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.requested_ = requested_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest) {
-          return mergeFrom((org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest other) {
-        if (other == org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest.getDefaultInstance()) return this;
-        if (other.hasRequested()) {
-          setRequested(other.getRequested());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoRequest) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      private long requested_ ;
-      /**
-       * <code>optional int64 requested = 1;</code>
-       *
-       * <pre>
-       * bitwise OR of Flags
-       * </pre>
-       */
-      public boolean hasRequested() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>optional int64 requested = 1;</code>
-       *
-       * <pre>
-       * bitwise OR of Flags
-       * </pre>
-       */
-      public long getRequested() {
-        return requested_;
-      }
-      /**
-       * <code>optional int64 requested = 1;</code>
-       *
-       * <pre>
-       * bitwise OR of Flags
-       * </pre>
-       */
-      public Builder setRequested(long value) {
-        bitField0_ |= 0x00000001;
-        requested_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional int64 requested = 1;</code>
-       *
-       * <pre>
-       * bitwise OR of Flags
-       * </pre>
-       */
-      public Builder clearRequested() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        requested_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:GetBookieInfoRequest)
-    }
-
-    static {
-      defaultInstance = new GetBookieInfoRequest(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:GetBookieInfoRequest)
-  }
-
-  public interface ResponseOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:Response)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>required .BKPacketHeader header = 1;</code>
-     */
-    boolean hasHeader();
-    /**
-     * <code>required .BKPacketHeader header = 1;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader getHeader();
-    /**
-     * <code>required .BKPacketHeader header = 1;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeaderOrBuilder getHeaderOrBuilder();
-
-    /**
-     * <code>required .StatusCode status = 2;</code>
-     *
-     * <pre>
-     * EOK if the underlying request succeeded. Each individual response
-     * has a more meaningful status. EBADREQ if we have an unsupported request.
-     * </pre>
-     */
-    boolean hasStatus();
-    /**
-     * <code>required .StatusCode status = 2;</code>
-     *
-     * <pre>
-     * EOK if the underlying request succeeded. Each individual response
-     * has a more meaningful status. EBADREQ if we have an unsupported request.
-     * </pre>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode getStatus();
-
-    /**
-     * <code>optional .ReadResponse readResponse = 100;</code>
-     *
-     * <pre>
-     * Response
-     * </pre>
-     */
-    boolean hasReadResponse();
-    /**
-     * <code>optional .ReadResponse readResponse = 100;</code>
-     *
-     * <pre>
-     * Response
-     * </pre>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse getReadResponse();
-    /**
-     * <code>optional .ReadResponse readResponse = 100;</code>
-     *
-     * <pre>
-     * Response
-     * </pre>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponseOrBuilder getReadResponseOrBuilder();
-
-    /**
-     * <code>optional .AddResponse addResponse = 101;</code>
-     */
-    boolean hasAddResponse();
-    /**
-     * <code>optional .AddResponse addResponse = 101;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse getAddResponse();
-    /**
-     * <code>optional .AddResponse addResponse = 101;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponseOrBuilder getAddResponseOrBuilder();
-
-    /**
-     * <code>optional .AuthMessage authResponse = 102;</code>
-     */
-    boolean hasAuthResponse();
-    /**
-     * <code>optional .AuthMessage authResponse = 102;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage getAuthResponse();
-    /**
-     * <code>optional .AuthMessage authResponse = 102;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessageOrBuilder getAuthResponseOrBuilder();
-
-    /**
-     * <code>optional .WriteLacResponse writeLacResponse = 103;</code>
-     */
-    boolean hasWriteLacResponse();
-    /**
-     * <code>optional .WriteLacResponse writeLacResponse = 103;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse getWriteLacResponse();
-    /**
-     * <code>optional .WriteLacResponse writeLacResponse = 103;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponseOrBuilder getWriteLacResponseOrBuilder();
-
-    /**
-     * <code>optional .ReadLacResponse readLacResponse = 104;</code>
-     */
-    boolean hasReadLacResponse();
-    /**
-     * <code>optional .ReadLacResponse readLacResponse = 104;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse getReadLacResponse();
-    /**
-     * <code>optional .ReadLacResponse readLacResponse = 104;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponseOrBuilder getReadLacResponseOrBuilder();
-
-    /**
-     * <code>optional .GetBookieInfoResponse getBookieInfoResponse = 105;</code>
-     */
-    boolean hasGetBookieInfoResponse();
-    /**
-     * <code>optional .GetBookieInfoResponse getBookieInfoResponse = 105;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse getGetBookieInfoResponse();
-    /**
-     * <code>optional .GetBookieInfoResponse getBookieInfoResponse = 105;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponseOrBuilder getGetBookieInfoResponseOrBuilder();
-
-    /**
-     * <code>optional .StartTLSResponse startTLSResponse = 106;</code>
-     */
-    boolean hasStartTLSResponse();
-    /**
-     * <code>optional .StartTLSResponse startTLSResponse = 106;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse getStartTLSResponse();
-    /**
-     * <code>optional .StartTLSResponse startTLSResponse = 106;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponseOrBuilder getStartTLSResponseOrBuilder();
-  }
-  /**
-   * Protobuf type {@code Response}
-   */
-  public static final class Response extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:Response)
-      ResponseOrBuilder {
-    // Use Response.newBuilder() to construct.
-    private Response(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private Response(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final Response defaultInstance;
-    public static Response getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public Response getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private Response(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 10: {
-              org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.Builder subBuilder = null;
-              if (((bitField0_ & 0x00000001) == 0x00000001)) {
-                subBuilder = header_.toBuilder();
-              }
-              header_ = input.readMessage(org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.PARSER, extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(header_);
-                header_ = subBuilder.buildPartial();
-              }
-              bitField0_ |= 0x00000001;
-              break;
-            }
-            case 16: {
-              int rawValue = input.readEnum();
-              org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode value = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.valueOf(rawValue);
-              if (value == null) {
-                unknownFields.mergeVarintField(2, rawValue);
-              } else {
-                bitField0_ |= 0x00000002;
-                status_ = value;
-              }
-              break;
-            }
-            case 802: {
-              org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse.Builder subBuilder = null;
-              if (((bitField0_ & 0x00000004) == 0x00000004)) {
-                subBuilder = readResponse_.toBuilder();
-              }
-              readResponse_ = input.readMessage(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse.PARSER, extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(readResponse_);
-                readResponse_ = subBuilder.buildPartial();
-              }
-              bitField0_ |= 0x00000004;
-              break;
-            }
-            case 810: {
-              org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse.Builder subBuilder = null;
-              if (((bitField0_ & 0x00000008) == 0x00000008)) {
-                subBuilder = addResponse_.toBuilder();
-              }
-              addResponse_ = input.readMessage(org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse.PARSER, extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(addResponse_);
-                addResponse_ = subBuilder.buildPartial();
-              }
-              bitField0_ |= 0x00000008;
-              break;
-            }
-            case 818: {
-              org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.Builder subBuilder = null;
-              if (((bitField0_ & 0x00000010) == 0x00000010)) {
-                subBuilder = authResponse_.toBuilder();
-              }
-              authResponse_ = input.readMessage(org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.PARSER, extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(authResponse_);
-                authResponse_ = subBuilder.buildPartial();
-              }
-              bitField0_ |= 0x00000010;
-              break;
-            }
-            case 826: {
-              org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse.Builder subBuilder = null;
-              if (((bitField0_ & 0x00000020) == 0x00000020)) {
-                subBuilder = writeLacResponse_.toBuilder();
-              }
-              writeLacResponse_ = input.readMessage(org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse.PARSER, extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(writeLacResponse_);
-                writeLacResponse_ = subBuilder.buildPartial();
-              }
-              bitField0_ |= 0x00000020;
-              break;
-            }
-            case 834: {
-              org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse.Builder subBuilder = null;
-              if (((bitField0_ & 0x00000040) == 0x00000040)) {
-                subBuilder = readLacResponse_.toBuilder();
-              }
-              readLacResponse_ = input.readMessage(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse.PARSER, extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(readLacResponse_);
-                readLacResponse_ = subBuilder.buildPartial();
-              }
-              bitField0_ |= 0x00000040;
-              break;
-            }
-            case 842: {
-              org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse.Builder subBuilder = null;
-              if (((bitField0_ & 0x00000080) == 0x00000080)) {
-                subBuilder = getBookieInfoResponse_.toBuilder();
-              }
-              getBookieInfoResponse_ = input.readMessage(org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse.PARSER, extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(getBookieInfoResponse_);
-                getBookieInfoResponse_ = subBuilder.buildPartial();
-              }
-              bitField0_ |= 0x00000080;
-              break;
-            }
-            case 850: {
-              org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse.Builder subBuilder = null;
-              if (((bitField0_ & 0x00000100) == 0x00000100)) {
-                subBuilder = startTLSResponse_.toBuilder();
-              }
-              startTLSResponse_ = input.readMessage(org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse.PARSER, extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(startTLSResponse_);
-                startTLSResponse_ = subBuilder.buildPartial();
-              }
-              bitField0_ |= 0x00000100;
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_Response_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_Response_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.BookkeeperProtocol.Response.class, org.apache.bookkeeper.proto.BookkeeperProtocol.Response.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<Response> PARSER =
-        new com.google.protobuf.AbstractParser<Response>() {
-      public Response parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new Response(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<Response> getParserForType() {
-      return PARSER;
-    }
-
-    private int bitField0_;
-    public static final int HEADER_FIELD_NUMBER = 1;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader header_;
-    /**
-     * <code>required .BKPacketHeader header = 1;</code>
-     */
-    public boolean hasHeader() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>required .BKPacketHeader header = 1;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader getHeader() {
-      return header_;
-    }
-    /**
-     * <code>required .BKPacketHeader header = 1;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeaderOrBuilder getHeaderOrBuilder() {
-      return header_;
-    }
-
-    public static final int STATUS_FIELD_NUMBER = 2;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode status_;
-    /**
-     * <code>required .StatusCode status = 2;</code>
-     *
-     * <pre>
-     * EOK if the underlying request succeeded. Each individual response
-     * has a more meaningful status. EBADREQ if we have an unsupported request.
-     * </pre>
-     */
-    public boolean hasStatus() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * <code>required .StatusCode status = 2;</code>
-     *
-     * <pre>
-     * EOK if the underlying request succeeded. Each individual response
-     * has a more meaningful status. EBADREQ if we have an unsupported request.
-     * </pre>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode getStatus() {
-      return status_;
-    }
-
-    public static final int READRESPONSE_FIELD_NUMBER = 100;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse readResponse_;
-    /**
-     * <code>optional .ReadResponse readResponse = 100;</code>
-     *
-     * <pre>
-     * Response
-     * </pre>
-     */
-    public boolean hasReadResponse() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    /**
-     * <code>optional .ReadResponse readResponse = 100;</code>
-     *
-     * <pre>
-     * Response
-     * </pre>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse getReadResponse() {
-      return readResponse_;
-    }
-    /**
-     * <code>optional .ReadResponse readResponse = 100;</code>
-     *
-     * <pre>
-     * Response
-     * </pre>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponseOrBuilder getReadResponseOrBuilder() {
-      return readResponse_;
-    }
-
-    public static final int ADDRESPONSE_FIELD_NUMBER = 101;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse addResponse_;
-    /**
-     * <code>optional .AddResponse addResponse = 101;</code>
-     */
-    public boolean hasAddResponse() {
-      return ((bitField0_ & 0x00000008) == 0x00000008);
-    }
-    /**
-     * <code>optional .AddResponse addResponse = 101;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse getAddResponse() {
-      return addResponse_;
-    }
-    /**
-     * <code>optional .AddResponse addResponse = 101;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponseOrBuilder getAddResponseOrBuilder() {
-      return addResponse_;
-    }
-
-    public static final int AUTHRESPONSE_FIELD_NUMBER = 102;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage authResponse_;
-    /**
-     * <code>optional .AuthMessage authResponse = 102;</code>
-     */
-    public boolean hasAuthResponse() {
-      return ((bitField0_ & 0x00000010) == 0x00000010);
-    }
-    /**
-     * <code>optional .AuthMessage authResponse = 102;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage getAuthResponse() {
-      return authResponse_;
-    }
-    /**
-     * <code>optional .AuthMessage authResponse = 102;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessageOrBuilder getAuthResponseOrBuilder() {
-      return authResponse_;
-    }
-
-    public static final int WRITELACRESPONSE_FIELD_NUMBER = 103;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse writeLacResponse_;
-    /**
-     * <code>optional .WriteLacResponse writeLacResponse = 103;</code>
-     */
-    public boolean hasWriteLacResponse() {
-      return ((bitField0_ & 0x00000020) == 0x00000020);
-    }
-    /**
-     * <code>optional .WriteLacResponse writeLacResponse = 103;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse getWriteLacResponse() {
-      return writeLacResponse_;
-    }
-    /**
-     * <code>optional .WriteLacResponse writeLacResponse = 103;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponseOrBuilder getWriteLacResponseOrBuilder() {
-      return writeLacResponse_;
-    }
-
-    public static final int READLACRESPONSE_FIELD_NUMBER = 104;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse readLacResponse_;
-    /**
-     * <code>optional .ReadLacResponse readLacResponse = 104;</code>
-     */
-    public boolean hasReadLacResponse() {
-      return ((bitField0_ & 0x00000040) == 0x00000040);
-    }
-    /**
-     * <code>optional .ReadLacResponse readLacResponse = 104;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse getReadLacResponse() {
-      return readLacResponse_;
-    }
-    /**
-     * <code>optional .ReadLacResponse readLacResponse = 104;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponseOrBuilder getReadLacResponseOrBuilder() {
-      return readLacResponse_;
-    }
-
-    public static final int GETBOOKIEINFORESPONSE_FIELD_NUMBER = 105;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse getBookieInfoResponse_;
-    /**
-     * <code>optional .GetBookieInfoResponse getBookieInfoResponse = 105;</code>
-     */
-    public boolean hasGetBookieInfoResponse() {
-      return ((bitField0_ & 0x00000080) == 0x00000080);
-    }
-    /**
-     * <code>optional .GetBookieInfoResponse getBookieInfoResponse = 105;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse getGetBookieInfoResponse() {
-      return getBookieInfoResponse_;
-    }
-    /**
-     * <code>optional .GetBookieInfoResponse getBookieInfoResponse = 105;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponseOrBuilder getGetBookieInfoResponseOrBuilder() {
-      return getBookieInfoResponse_;
-    }
-
-    public static final int STARTTLSRESPONSE_FIELD_NUMBER = 106;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse startTLSResponse_;
-    /**
-     * <code>optional .StartTLSResponse startTLSResponse = 106;</code>
-     */
-    public boolean hasStartTLSResponse() {
-      return ((bitField0_ & 0x00000100) == 0x00000100);
-    }
-    /**
-     * <code>optional .StartTLSResponse startTLSResponse = 106;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse getStartTLSResponse() {
-      return startTLSResponse_;
-    }
-    /**
-     * <code>optional .StartTLSResponse startTLSResponse = 106;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponseOrBuilder getStartTLSResponseOrBuilder() {
-      return startTLSResponse_;
-    }
-
-    private void initFields() {
-      header_ = org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.getDefaultInstance();
-      status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-      readResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse.getDefaultInstance();
-      addResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse.getDefaultInstance();
-      authResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.getDefaultInstance();
-      writeLacResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse.getDefaultInstance();
-      readLacResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse.getDefaultInstance();
-      getBookieInfoResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse.getDefaultInstance();
-      startTLSResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse.getDefaultInstance();
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      if (!hasHeader()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasStatus()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!getHeader().isInitialized()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (hasReadResponse()) {
-        if (!getReadResponse().isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      if (hasAddResponse()) {
-        if (!getAddResponse().isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      if (hasAuthResponse()) {
-        if (!getAuthResponse().isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      if (hasWriteLacResponse()) {
-        if (!getWriteLacResponse().isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      if (hasReadLacResponse()) {
-        if (!getReadLacResponse().isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      if (hasGetBookieInfoResponse()) {
-        if (!getGetBookieInfoResponse().isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeMessage(1, header_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeEnum(2, status_.getNumber());
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeMessage(100, readResponse_);
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        output.writeMessage(101, addResponse_);
-      }
-      if (((bitField0_ & 0x00000010) == 0x00000010)) {
-        output.writeMessage(102, authResponse_);
-      }
-      if (((bitField0_ & 0x00000020) == 0x00000020)) {
-        output.writeMessage(103, writeLacResponse_);
-      }
-      if (((bitField0_ & 0x00000040) == 0x00000040)) {
-        output.writeMessage(104, readLacResponse_);
-      }
-      if (((bitField0_ & 0x00000080) == 0x00000080)) {
-        output.writeMessage(105, getBookieInfoResponse_);
-      }
-      if (((bitField0_ & 0x00000100) == 0x00000100)) {
-        output.writeMessage(106, startTLSResponse_);
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(1, header_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeEnumSize(2, status_.getNumber());
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(100, readResponse_);
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(101, addResponse_);
-      }
-      if (((bitField0_ & 0x00000010) == 0x00000010)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(102, authResponse_);
-      }
-      if (((bitField0_ & 0x00000020) == 0x00000020)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(103, writeLacResponse_);
-      }
-      if (((bitField0_ & 0x00000040) == 0x00000040)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(104, readLacResponse_);
-      }
-      if (((bitField0_ & 0x00000080) == 0x00000080)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(105, getBookieInfoResponse_);
-      }
-      if (((bitField0_ & 0x00000100) == 0x00000100)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(106, startTLSResponse_);
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.Response parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.Response parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.Response parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.Response parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.Response parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.Response parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.Response parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.Response parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.Response parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.Response parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.BookkeeperProtocol.Response prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code Response}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:Response)
-        org.apache.bookkeeper.proto.BookkeeperProtocol.ResponseOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_Response_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_Response_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.BookkeeperProtocol.Response.class, org.apache.bookkeeper.proto.BookkeeperProtocol.Response.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.BookkeeperProtocol.Response.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-          getHeaderFieldBuilder();
-          getReadResponseFieldBuilder();
-          getAddResponseFieldBuilder();
-          getAuthResponseFieldBuilder();
-          getWriteLacResponseFieldBuilder();
-          getReadLacResponseFieldBuilder();
-          getGetBookieInfoResponseFieldBuilder();
-          getStartTLSResponseFieldBuilder();
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        if (headerBuilder_ == null) {
-          header_ = org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.getDefaultInstance();
-        } else {
-          headerBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000001);
-        status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        if (readResponseBuilder_ == null) {
-          readResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse.getDefaultInstance();
-        } else {
-          readResponseBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000004);
-        if (addResponseBuilder_ == null) {
-          addResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse.getDefaultInstance();
-        } else {
-          addResponseBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000008);
-        if (authResponseBuilder_ == null) {
-          authResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.getDefaultInstance();
-        } else {
-          authResponseBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000010);
-        if (writeLacResponseBuilder_ == null) {
-          writeLacResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse.getDefaultInstance();
-        } else {
-          writeLacResponseBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000020);
-        if (readLacResponseBuilder_ == null) {
-          readLacResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse.getDefaultInstance();
-        } else {
-          readLacResponseBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000040);
-        if (getBookieInfoResponseBuilder_ == null) {
-          getBookieInfoResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse.getDefaultInstance();
-        } else {
-          getBookieInfoResponseBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000080);
-        if (startTLSResponseBuilder_ == null) {
-          startTLSResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse.getDefaultInstance();
-        } else {
-          startTLSResponseBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000100);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_Response_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.Response getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.Response.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.Response build() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.Response result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.Response buildPartial() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.Response result = new org.apache.bookkeeper.proto.BookkeeperProtocol.Response(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        if (headerBuilder_ == null) {
-          result.header_ = header_;
-        } else {
-          result.header_ = headerBuilder_.build();
-        }
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.status_ = status_;
-        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-          to_bitField0_ |= 0x00000004;
-        }
-        if (readResponseBuilder_ == null) {
-          result.readResponse_ = readResponse_;
-        } else {
-          result.readResponse_ = readResponseBuilder_.build();
-        }
-        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
-          to_bitField0_ |= 0x00000008;
-        }
-        if (addResponseBuilder_ == null) {
-          result.addResponse_ = addResponse_;
-        } else {
-          result.addResponse_ = addResponseBuilder_.build();
-        }
-        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
-          to_bitField0_ |= 0x00000010;
-        }
-        if (authResponseBuilder_ == null) {
-          result.authResponse_ = authResponse_;
-        } else {
-          result.authResponse_ = authResponseBuilder_.build();
-        }
-        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
-          to_bitField0_ |= 0x00000020;
-        }
-        if (writeLacResponseBuilder_ == null) {
-          result.writeLacResponse_ = writeLacResponse_;
-        } else {
-          result.writeLacResponse_ = writeLacResponseBuilder_.build();
-        }
-        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
-          to_bitField0_ |= 0x00000040;
-        }
-        if (readLacResponseBuilder_ == null) {
-          result.readLacResponse_ = readLacResponse_;
-        } else {
-          result.readLacResponse_ = readLacResponseBuilder_.build();
-        }
-        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
-          to_bitField0_ |= 0x00000080;
-        }
-        if (getBookieInfoResponseBuilder_ == null) {
-          result.getBookieInfoResponse_ = getBookieInfoResponse_;
-        } else {
-          result.getBookieInfoResponse_ = getBookieInfoResponseBuilder_.build();
-        }
-        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
-          to_bitField0_ |= 0x00000100;
-        }
-        if (startTLSResponseBuilder_ == null) {
-          result.startTLSResponse_ = startTLSResponse_;
-        } else {
-          result.startTLSResponse_ = startTLSResponseBuilder_.build();
-        }
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.BookkeeperProtocol.Response) {
-          return mergeFrom((org.apache.bookkeeper.proto.BookkeeperProtocol.Response)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.BookkeeperProtocol.Response other) {
-        if (other == org.apache.bookkeeper.proto.BookkeeperProtocol.Response.getDefaultInstance()) return this;
-        if (other.hasHeader()) {
-          mergeHeader(other.getHeader());
-        }
-        if (other.hasStatus()) {
-          setStatus(other.getStatus());
-        }
-        if (other.hasReadResponse()) {
-          mergeReadResponse(other.getReadResponse());
-        }
-        if (other.hasAddResponse()) {
-          mergeAddResponse(other.getAddResponse());
-        }
-        if (other.hasAuthResponse()) {
-          mergeAuthResponse(other.getAuthResponse());
-        }
-        if (other.hasWriteLacResponse()) {
-          mergeWriteLacResponse(other.getWriteLacResponse());
-        }
-        if (other.hasReadLacResponse()) {
-          mergeReadLacResponse(other.getReadLacResponse());
-        }
-        if (other.hasGetBookieInfoResponse()) {
-          mergeGetBookieInfoResponse(other.getGetBookieInfoResponse());
-        }
-        if (other.hasStartTLSResponse()) {
-          mergeStartTLSResponse(other.getStartTLSResponse());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasHeader()) {
-          
-          return false;
-        }
-        if (!hasStatus()) {
-          
-          return false;
-        }
-        if (!getHeader().isInitialized()) {
-          
-          return false;
-        }
-        if (hasReadResponse()) {
-          if (!getReadResponse().isInitialized()) {
-            
-            return false;
-          }
-        }
-        if (hasAddResponse()) {
-          if (!getAddResponse().isInitialized()) {
-            
-            return false;
-          }
-        }
-        if (hasAuthResponse()) {
-          if (!getAuthResponse().isInitialized()) {
-            
-            return false;
-          }
-        }
-        if (hasWriteLacResponse()) {
-          if (!getWriteLacResponse().isInitialized()) {
-            
-            return false;
-          }
-        }
-        if (hasReadLacResponse()) {
-          if (!getReadLacResponse().isInitialized()) {
-            
-            return false;
-          }
-        }
-        if (hasGetBookieInfoResponse()) {
-          if (!getGetBookieInfoResponse().isInitialized()) {
-            
-            return false;
-          }
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.Response parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.BookkeeperProtocol.Response) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader header_ = org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.getDefaultInstance();
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader, org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeaderOrBuilder> headerBuilder_;
-      /**
-       * <code>required .BKPacketHeader header = 1;</code>
-       */
-      public boolean hasHeader() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required .BKPacketHeader header = 1;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader getHeader() {
-        if (headerBuilder_ == null) {
-          return header_;
-        } else {
-          return headerBuilder_.getMessage();
-        }
-      }
-      /**
-       * <code>required .BKPacketHeader header = 1;</code>
-       */
-      public Builder setHeader(org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader value) {
-        if (headerBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          header_ = value;
-          onChanged();
-        } else {
-          headerBuilder_.setMessage(value);
-        }
-        bitField0_ |= 0x00000001;
-        return this;
-      }
-      /**
-       * <code>required .BKPacketHeader header = 1;</code>
-       */
-      public Builder setHeader(
-          org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.Builder builderForValue) {
-        if (headerBuilder_ == null) {
-          header_ = builderForValue.build();
-          onChanged();
-        } else {
-          headerBuilder_.setMessage(builderForValue.build());
-        }
-        bitField0_ |= 0x00000001;
-        return this;
-      }
-      /**
-       * <code>required .BKPacketHeader header = 1;</code>
-       */
-      public Builder mergeHeader(org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader value) {
-        if (headerBuilder_ == null) {
-          if (((bitField0_ & 0x00000001) == 0x00000001) &&
-              header_ != org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.getDefaultInstance()) {
-            header_ =
-              org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.newBuilder(header_).mergeFrom(value).buildPartial();
-          } else {
-            header_ = value;
-          }
-          onChanged();
-        } else {
-          headerBuilder_.mergeFrom(value);
-        }
-        bitField0_ |= 0x00000001;
-        return this;
-      }
-      /**
-       * <code>required .BKPacketHeader header = 1;</code>
-       */
-      public Builder clearHeader() {
-        if (headerBuilder_ == null) {
-          header_ = org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.getDefaultInstance();
-          onChanged();
-        } else {
-          headerBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000001);
-        return this;
-      }
-      /**
-       * <code>required .BKPacketHeader header = 1;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.Builder getHeaderBuilder() {
-        bitField0_ |= 0x00000001;
-        onChanged();
-        return getHeaderFieldBuilder().getBuilder();
-      }
-      /**
-       * <code>required .BKPacketHeader header = 1;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeaderOrBuilder getHeaderOrBuilder() {
-        if (headerBuilder_ != null) {
-          return headerBuilder_.getMessageOrBuilder();
-        } else {
-          return header_;
-        }
-      }
-      /**
-       * <code>required .BKPacketHeader header = 1;</code>
-       */
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader, org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeaderOrBuilder> 
-          getHeaderFieldBuilder() {
-        if (headerBuilder_ == null) {
-          headerBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader, org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeader.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.BKPacketHeaderOrBuilder>(
-                  getHeader(),
-                  getParentForChildren(),
-                  isClean());
-          header_ = null;
-        }
-        return headerBuilder_;
-      }
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-      /**
-       * <code>required .StatusCode status = 2;</code>
-       *
-       * <pre>
-       * EOK if the underlying request succeeded. Each individual response
-       * has a more meaningful status. EBADREQ if we have an unsupported request.
-       * </pre>
-       */
-      public boolean hasStatus() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>required .StatusCode status = 2;</code>
-       *
-       * <pre>
-       * EOK if the underlying request succeeded. Each individual response
-       * has a more meaningful status. EBADREQ if we have an unsupported request.
-       * </pre>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode getStatus() {
-        return status_;
-      }
-      /**
-       * <code>required .StatusCode status = 2;</code>
-       *
-       * <pre>
-       * EOK if the underlying request succeeded. Each individual response
-       * has a more meaningful status. EBADREQ if we have an unsupported request.
-       * </pre>
-       */
-      public Builder setStatus(org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        bitField0_ |= 0x00000002;
-        status_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required .StatusCode status = 2;</code>
-       *
-       * <pre>
-       * EOK if the underlying request succeeded. Each individual response
-       * has a more meaningful status. EBADREQ if we have an unsupported request.
-       * </pre>
-       */
-      public Builder clearStatus() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-        onChanged();
-        return this;
-      }
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse readResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse.getDefaultInstance();
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponseOrBuilder> readResponseBuilder_;
-      /**
-       * <code>optional .ReadResponse readResponse = 100;</code>
-       *
-       * <pre>
-       * Response
-       * </pre>
-       */
-      public boolean hasReadResponse() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
-      }
-      /**
-       * <code>optional .ReadResponse readResponse = 100;</code>
-       *
-       * <pre>
-       * Response
-       * </pre>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse getReadResponse() {
-        if (readResponseBuilder_ == null) {
-          return readResponse_;
-        } else {
-          return readResponseBuilder_.getMessage();
-        }
-      }
-      /**
-       * <code>optional .ReadResponse readResponse = 100;</code>
-       *
-       * <pre>
-       * Response
-       * </pre>
-       */
-      public Builder setReadResponse(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse value) {
-        if (readResponseBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          readResponse_ = value;
-          onChanged();
-        } else {
-          readResponseBuilder_.setMessage(value);
-        }
-        bitField0_ |= 0x00000004;
-        return this;
-      }
-      /**
-       * <code>optional .ReadResponse readResponse = 100;</code>
-       *
-       * <pre>
-       * Response
-       * </pre>
-       */
-      public Builder setReadResponse(
-          org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse.Builder builderForValue) {
-        if (readResponseBuilder_ == null) {
-          readResponse_ = builderForValue.build();
-          onChanged();
-        } else {
-          readResponseBuilder_.setMessage(builderForValue.build());
-        }
-        bitField0_ |= 0x00000004;
-        return this;
-      }
-      /**
-       * <code>optional .ReadResponse readResponse = 100;</code>
-       *
-       * <pre>
-       * Response
-       * </pre>
-       */
-      public Builder mergeReadResponse(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse value) {
-        if (readResponseBuilder_ == null) {
-          if (((bitField0_ & 0x00000004) == 0x00000004) &&
-              readResponse_ != org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse.getDefaultInstance()) {
-            readResponse_ =
-              org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse.newBuilder(readResponse_).mergeFrom(value).buildPartial();
-          } else {
-            readResponse_ = value;
-          }
-          onChanged();
-        } else {
-          readResponseBuilder_.mergeFrom(value);
-        }
-        bitField0_ |= 0x00000004;
-        return this;
-      }
-      /**
-       * <code>optional .ReadResponse readResponse = 100;</code>
-       *
-       * <pre>
-       * Response
-       * </pre>
-       */
-      public Builder clearReadResponse() {
-        if (readResponseBuilder_ == null) {
-          readResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse.getDefaultInstance();
-          onChanged();
-        } else {
-          readResponseBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000004);
-        return this;
-      }
-      /**
-       * <code>optional .ReadResponse readResponse = 100;</code>
-       *
-       * <pre>
-       * Response
-       * </pre>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse.Builder getReadResponseBuilder() {
-        bitField0_ |= 0x00000004;
-        onChanged();
-        return getReadResponseFieldBuilder().getBuilder();
-      }
-      /**
-       * <code>optional .ReadResponse readResponse = 100;</code>
-       *
-       * <pre>
-       * Response
-       * </pre>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponseOrBuilder getReadResponseOrBuilder() {
-        if (readResponseBuilder_ != null) {
-          return readResponseBuilder_.getMessageOrBuilder();
-        } else {
-          return readResponse_;
-        }
-      }
-      /**
-       * <code>optional .ReadResponse readResponse = 100;</code>
-       *
-       * <pre>
-       * Response
-       * </pre>
-       */
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponseOrBuilder> 
-          getReadResponseFieldBuilder() {
-        if (readResponseBuilder_ == null) {
-          readResponseBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponseOrBuilder>(
-                  getReadResponse(),
-                  getParentForChildren(),
-                  isClean());
-          readResponse_ = null;
-        }
-        return readResponseBuilder_;
-      }
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse addResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse.getDefaultInstance();
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse, org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponseOrBuilder> addResponseBuilder_;
-      /**
-       * <code>optional .AddResponse addResponse = 101;</code>
-       */
-      public boolean hasAddResponse() {
-        return ((bitField0_ & 0x00000008) == 0x00000008);
-      }
-      /**
-       * <code>optional .AddResponse addResponse = 101;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse getAddResponse() {
-        if (addResponseBuilder_ == null) {
-          return addResponse_;
-        } else {
-          return addResponseBuilder_.getMessage();
-        }
-      }
-      /**
-       * <code>optional .AddResponse addResponse = 101;</code>
-       */
-      public Builder setAddResponse(org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse value) {
-        if (addResponseBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          addResponse_ = value;
-          onChanged();
-        } else {
-          addResponseBuilder_.setMessage(value);
-        }
-        bitField0_ |= 0x00000008;
-        return this;
-      }
-      /**
-       * <code>optional .AddResponse addResponse = 101;</code>
-       */
-      public Builder setAddResponse(
-          org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse.Builder builderForValue) {
-        if (addResponseBuilder_ == null) {
-          addResponse_ = builderForValue.build();
-          onChanged();
-        } else {
-          addResponseBuilder_.setMessage(builderForValue.build());
-        }
-        bitField0_ |= 0x00000008;
-        return this;
-      }
-      /**
-       * <code>optional .AddResponse addResponse = 101;</code>
-       */
-      public Builder mergeAddResponse(org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse value) {
-        if (addResponseBuilder_ == null) {
-          if (((bitField0_ & 0x00000008) == 0x00000008) &&
-              addResponse_ != org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse.getDefaultInstance()) {
-            addResponse_ =
-              org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse.newBuilder(addResponse_).mergeFrom(value).buildPartial();
-          } else {
-            addResponse_ = value;
-          }
-          onChanged();
-        } else {
-          addResponseBuilder_.mergeFrom(value);
-        }
-        bitField0_ |= 0x00000008;
-        return this;
-      }
-      /**
-       * <code>optional .AddResponse addResponse = 101;</code>
-       */
-      public Builder clearAddResponse() {
-        if (addResponseBuilder_ == null) {
-          addResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse.getDefaultInstance();
-          onChanged();
-        } else {
-          addResponseBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000008);
-        return this;
-      }
-      /**
-       * <code>optional .AddResponse addResponse = 101;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse.Builder getAddResponseBuilder() {
-        bitField0_ |= 0x00000008;
-        onChanged();
-        return getAddResponseFieldBuilder().getBuilder();
-      }
-      /**
-       * <code>optional .AddResponse addResponse = 101;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponseOrBuilder getAddResponseOrBuilder() {
-        if (addResponseBuilder_ != null) {
-          return addResponseBuilder_.getMessageOrBuilder();
-        } else {
-          return addResponse_;
-        }
-      }
-      /**
-       * <code>optional .AddResponse addResponse = 101;</code>
-       */
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse, org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponseOrBuilder> 
-          getAddResponseFieldBuilder() {
-        if (addResponseBuilder_ == null) {
-          addResponseBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse, org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponseOrBuilder>(
-                  getAddResponse(),
-                  getParentForChildren(),
-                  isClean());
-          addResponse_ = null;
-        }
-        return addResponseBuilder_;
-      }
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage authResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.getDefaultInstance();
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage, org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessageOrBuilder> authResponseBuilder_;
-      /**
-       * <code>optional .AuthMessage authResponse = 102;</code>
-       */
-      public boolean hasAuthResponse() {
-        return ((bitField0_ & 0x00000010) == 0x00000010);
-      }
-      /**
-       * <code>optional .AuthMessage authResponse = 102;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage getAuthResponse() {
-        if (authResponseBuilder_ == null) {
-          return authResponse_;
-        } else {
-          return authResponseBuilder_.getMessage();
-        }
-      }
-      /**
-       * <code>optional .AuthMessage authResponse = 102;</code>
-       */
-      public Builder setAuthResponse(org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage value) {
-        if (authResponseBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          authResponse_ = value;
-          onChanged();
-        } else {
-          authResponseBuilder_.setMessage(value);
-        }
-        bitField0_ |= 0x00000010;
-        return this;
-      }
-      /**
-       * <code>optional .AuthMessage authResponse = 102;</code>
-       */
-      public Builder setAuthResponse(
-          org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.Builder builderForValue) {
-        if (authResponseBuilder_ == null) {
-          authResponse_ = builderForValue.build();
-          onChanged();
-        } else {
-          authResponseBuilder_.setMessage(builderForValue.build());
-        }
-        bitField0_ |= 0x00000010;
-        return this;
-      }
-      /**
-       * <code>optional .AuthMessage authResponse = 102;</code>
-       */
-      public Builder mergeAuthResponse(org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage value) {
-        if (authResponseBuilder_ == null) {
-          if (((bitField0_ & 0x00000010) == 0x00000010) &&
-              authResponse_ != org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.getDefaultInstance()) {
-            authResponse_ =
-              org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.newBuilder(authResponse_).mergeFrom(value).buildPartial();
-          } else {
-            authResponse_ = value;
-          }
-          onChanged();
-        } else {
-          authResponseBuilder_.mergeFrom(value);
-        }
-        bitField0_ |= 0x00000010;
-        return this;
-      }
-      /**
-       * <code>optional .AuthMessage authResponse = 102;</code>
-       */
-      public Builder clearAuthResponse() {
-        if (authResponseBuilder_ == null) {
-          authResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.getDefaultInstance();
-          onChanged();
-        } else {
-          authResponseBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000010);
-        return this;
-      }
-      /**
-       * <code>optional .AuthMessage authResponse = 102;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.Builder getAuthResponseBuilder() {
-        bitField0_ |= 0x00000010;
-        onChanged();
-        return getAuthResponseFieldBuilder().getBuilder();
-      }
-      /**
-       * <code>optional .AuthMessage authResponse = 102;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessageOrBuilder getAuthResponseOrBuilder() {
-        if (authResponseBuilder_ != null) {
-          return authResponseBuilder_.getMessageOrBuilder();
-        } else {
-          return authResponse_;
-        }
-      }
-      /**
-       * <code>optional .AuthMessage authResponse = 102;</code>
-       */
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage, org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessageOrBuilder> 
-          getAuthResponseFieldBuilder() {
-        if (authResponseBuilder_ == null) {
-          authResponseBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage, org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessageOrBuilder>(
-                  getAuthResponse(),
-                  getParentForChildren(),
-                  isClean());
-          authResponse_ = null;
-        }
-        return authResponseBuilder_;
-      }
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse writeLacResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse.getDefaultInstance();
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse, org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponseOrBuilder> writeLacResponseBuilder_;
-      /**
-       * <code>optional .WriteLacResponse writeLacResponse = 103;</code>
-       */
-      public boolean hasWriteLacResponse() {
-        return ((bitField0_ & 0x00000020) == 0x00000020);
-      }
-      /**
-       * <code>optional .WriteLacResponse writeLacResponse = 103;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse getWriteLacResponse() {
-        if (writeLacResponseBuilder_ == null) {
-          return writeLacResponse_;
-        } else {
-          return writeLacResponseBuilder_.getMessage();
-        }
-      }
-      /**
-       * <code>optional .WriteLacResponse writeLacResponse = 103;</code>
-       */
-      public Builder setWriteLacResponse(org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse value) {
-        if (writeLacResponseBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          writeLacResponse_ = value;
-          onChanged();
-        } else {
-          writeLacResponseBuilder_.setMessage(value);
-        }
-        bitField0_ |= 0x00000020;
-        return this;
-      }
-      /**
-       * <code>optional .WriteLacResponse writeLacResponse = 103;</code>
-       */
-      public Builder setWriteLacResponse(
-          org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse.Builder builderForValue) {
-        if (writeLacResponseBuilder_ == null) {
-          writeLacResponse_ = builderForValue.build();
-          onChanged();
-        } else {
-          writeLacResponseBuilder_.setMessage(builderForValue.build());
-        }
-        bitField0_ |= 0x00000020;
-        return this;
-      }
-      /**
-       * <code>optional .WriteLacResponse writeLacResponse = 103;</code>
-       */
-      public Builder mergeWriteLacResponse(org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse value) {
-        if (writeLacResponseBuilder_ == null) {
-          if (((bitField0_ & 0x00000020) == 0x00000020) &&
-              writeLacResponse_ != org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse.getDefaultInstance()) {
-            writeLacResponse_ =
-              org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse.newBuilder(writeLacResponse_).mergeFrom(value).buildPartial();
-          } else {
-            writeLacResponse_ = value;
-          }
-          onChanged();
-        } else {
-          writeLacResponseBuilder_.mergeFrom(value);
-        }
-        bitField0_ |= 0x00000020;
-        return this;
-      }
-      /**
-       * <code>optional .WriteLacResponse writeLacResponse = 103;</code>
-       */
-      public Builder clearWriteLacResponse() {
-        if (writeLacResponseBuilder_ == null) {
-          writeLacResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse.getDefaultInstance();
-          onChanged();
-        } else {
-          writeLacResponseBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000020);
-        return this;
-      }
-      /**
-       * <code>optional .WriteLacResponse writeLacResponse = 103;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse.Builder getWriteLacResponseBuilder() {
-        bitField0_ |= 0x00000020;
-        onChanged();
-        return getWriteLacResponseFieldBuilder().getBuilder();
-      }
-      /**
-       * <code>optional .WriteLacResponse writeLacResponse = 103;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponseOrBuilder getWriteLacResponseOrBuilder() {
-        if (writeLacResponseBuilder_ != null) {
-          return writeLacResponseBuilder_.getMessageOrBuilder();
-        } else {
-          return writeLacResponse_;
-        }
-      }
-      /**
-       * <code>optional .WriteLacResponse writeLacResponse = 103;</code>
-       */
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse, org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponseOrBuilder> 
-          getWriteLacResponseFieldBuilder() {
-        if (writeLacResponseBuilder_ == null) {
-          writeLacResponseBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse, org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponseOrBuilder>(
-                  getWriteLacResponse(),
-                  getParentForChildren(),
-                  isClean());
-          writeLacResponse_ = null;
-        }
-        return writeLacResponseBuilder_;
-      }
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse readLacResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse.getDefaultInstance();
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponseOrBuilder> readLacResponseBuilder_;
-      /**
-       * <code>optional .ReadLacResponse readLacResponse = 104;</code>
-       */
-      public boolean hasReadLacResponse() {
-        return ((bitField0_ & 0x00000040) == 0x00000040);
-      }
-      /**
-       * <code>optional .ReadLacResponse readLacResponse = 104;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse getReadLacResponse() {
-        if (readLacResponseBuilder_ == null) {
-          return readLacResponse_;
-        } else {
-          return readLacResponseBuilder_.getMessage();
-        }
-      }
-      /**
-       * <code>optional .ReadLacResponse readLacResponse = 104;</code>
-       */
-      public Builder setReadLacResponse(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse value) {
-        if (readLacResponseBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          readLacResponse_ = value;
-          onChanged();
-        } else {
-          readLacResponseBuilder_.setMessage(value);
-        }
-        bitField0_ |= 0x00000040;
-        return this;
-      }
-      /**
-       * <code>optional .ReadLacResponse readLacResponse = 104;</code>
-       */
-      public Builder setReadLacResponse(
-          org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse.Builder builderForValue) {
-        if (readLacResponseBuilder_ == null) {
-          readLacResponse_ = builderForValue.build();
-          onChanged();
-        } else {
-          readLacResponseBuilder_.setMessage(builderForValue.build());
-        }
-        bitField0_ |= 0x00000040;
-        return this;
-      }
-      /**
-       * <code>optional .ReadLacResponse readLacResponse = 104;</code>
-       */
-      public Builder mergeReadLacResponse(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse value) {
-        if (readLacResponseBuilder_ == null) {
-          if (((bitField0_ & 0x00000040) == 0x00000040) &&
-              readLacResponse_ != org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse.getDefaultInstance()) {
-            readLacResponse_ =
-              org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse.newBuilder(readLacResponse_).mergeFrom(value).buildPartial();
-          } else {
-            readLacResponse_ = value;
-          }
-          onChanged();
-        } else {
-          readLacResponseBuilder_.mergeFrom(value);
-        }
-        bitField0_ |= 0x00000040;
-        return this;
-      }
-      /**
-       * <code>optional .ReadLacResponse readLacResponse = 104;</code>
-       */
-      public Builder clearReadLacResponse() {
-        if (readLacResponseBuilder_ == null) {
-          readLacResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse.getDefaultInstance();
-          onChanged();
-        } else {
-          readLacResponseBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000040);
-        return this;
-      }
-      /**
-       * <code>optional .ReadLacResponse readLacResponse = 104;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse.Builder getReadLacResponseBuilder() {
-        bitField0_ |= 0x00000040;
-        onChanged();
-        return getReadLacResponseFieldBuilder().getBuilder();
-      }
-      /**
-       * <code>optional .ReadLacResponse readLacResponse = 104;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponseOrBuilder getReadLacResponseOrBuilder() {
-        if (readLacResponseBuilder_ != null) {
-          return readLacResponseBuilder_.getMessageOrBuilder();
-        } else {
-          return readLacResponse_;
-        }
-      }
-      /**
-       * <code>optional .ReadLacResponse readLacResponse = 104;</code>
-       */
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponseOrBuilder> 
-          getReadLacResponseFieldBuilder() {
-        if (readLacResponseBuilder_ == null) {
-          readLacResponseBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponseOrBuilder>(
-                  getReadLacResponse(),
-                  getParentForChildren(),
-                  isClean());
-          readLacResponse_ = null;
-        }
-        return readLacResponseBuilder_;
-      }
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse getBookieInfoResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse.getDefaultInstance();
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse, org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponseOrBuilder> getBookieInfoResponseBuilder_;
-      /**
-       * <code>optional .GetBookieInfoResponse getBookieInfoResponse = 105;</code>
-       */
-      public boolean hasGetBookieInfoResponse() {
-        return ((bitField0_ & 0x00000080) == 0x00000080);
-      }
-      /**
-       * <code>optional .GetBookieInfoResponse getBookieInfoResponse = 105;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse getGetBookieInfoResponse() {
-        if (getBookieInfoResponseBuilder_ == null) {
-          return getBookieInfoResponse_;
-        } else {
-          return getBookieInfoResponseBuilder_.getMessage();
-        }
-      }
-      /**
-       * <code>optional .GetBookieInfoResponse getBookieInfoResponse = 105;</code>
-       */
-      public Builder setGetBookieInfoResponse(org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse value) {
-        if (getBookieInfoResponseBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          getBookieInfoResponse_ = value;
-          onChanged();
-        } else {
-          getBookieInfoResponseBuilder_.setMessage(value);
-        }
-        bitField0_ |= 0x00000080;
-        return this;
-      }
-      /**
-       * <code>optional .GetBookieInfoResponse getBookieInfoResponse = 105;</code>
-       */
-      public Builder setGetBookieInfoResponse(
-          org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse.Builder builderForValue) {
-        if (getBookieInfoResponseBuilder_ == null) {
-          getBookieInfoResponse_ = builderForValue.build();
-          onChanged();
-        } else {
-          getBookieInfoResponseBuilder_.setMessage(builderForValue.build());
-        }
-        bitField0_ |= 0x00000080;
-        return this;
-      }
-      /**
-       * <code>optional .GetBookieInfoResponse getBookieInfoResponse = 105;</code>
-       */
-      public Builder mergeGetBookieInfoResponse(org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse value) {
-        if (getBookieInfoResponseBuilder_ == null) {
-          if (((bitField0_ & 0x00000080) == 0x00000080) &&
-              getBookieInfoResponse_ != org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse.getDefaultInstance()) {
-            getBookieInfoResponse_ =
-              org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse.newBuilder(getBookieInfoResponse_).mergeFrom(value).buildPartial();
-          } else {
-            getBookieInfoResponse_ = value;
-          }
-          onChanged();
-        } else {
-          getBookieInfoResponseBuilder_.mergeFrom(value);
-        }
-        bitField0_ |= 0x00000080;
-        return this;
-      }
-      /**
-       * <code>optional .GetBookieInfoResponse getBookieInfoResponse = 105;</code>
-       */
-      public Builder clearGetBookieInfoResponse() {
-        if (getBookieInfoResponseBuilder_ == null) {
-          getBookieInfoResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse.getDefaultInstance();
-          onChanged();
-        } else {
-          getBookieInfoResponseBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000080);
-        return this;
-      }
-      /**
-       * <code>optional .GetBookieInfoResponse getBookieInfoResponse = 105;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse.Builder getGetBookieInfoResponseBuilder() {
-        bitField0_ |= 0x00000080;
-        onChanged();
-        return getGetBookieInfoResponseFieldBuilder().getBuilder();
-      }
-      /**
-       * <code>optional .GetBookieInfoResponse getBookieInfoResponse = 105;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponseOrBuilder getGetBookieInfoResponseOrBuilder() {
-        if (getBookieInfoResponseBuilder_ != null) {
-          return getBookieInfoResponseBuilder_.getMessageOrBuilder();
-        } else {
-          return getBookieInfoResponse_;
-        }
-      }
-      /**
-       * <code>optional .GetBookieInfoResponse getBookieInfoResponse = 105;</code>
-       */
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse, org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponseOrBuilder> 
-          getGetBookieInfoResponseFieldBuilder() {
-        if (getBookieInfoResponseBuilder_ == null) {
-          getBookieInfoResponseBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse, org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponseOrBuilder>(
-                  getGetBookieInfoResponse(),
-                  getParentForChildren(),
-                  isClean());
-          getBookieInfoResponse_ = null;
-        }
-        return getBookieInfoResponseBuilder_;
-      }
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse startTLSResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse.getDefaultInstance();
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse, org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponseOrBuilder> startTLSResponseBuilder_;
-      /**
-       * <code>optional .StartTLSResponse startTLSResponse = 106;</code>
-       */
-      public boolean hasStartTLSResponse() {
-        return ((bitField0_ & 0x00000100) == 0x00000100);
-      }
-      /**
-       * <code>optional .StartTLSResponse startTLSResponse = 106;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse getStartTLSResponse() {
-        if (startTLSResponseBuilder_ == null) {
-          return startTLSResponse_;
-        } else {
-          return startTLSResponseBuilder_.getMessage();
-        }
-      }
-      /**
-       * <code>optional .StartTLSResponse startTLSResponse = 106;</code>
-       */
-      public Builder setStartTLSResponse(org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse value) {
-        if (startTLSResponseBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          startTLSResponse_ = value;
-          onChanged();
-        } else {
-          startTLSResponseBuilder_.setMessage(value);
-        }
-        bitField0_ |= 0x00000100;
-        return this;
-      }
-      /**
-       * <code>optional .StartTLSResponse startTLSResponse = 106;</code>
-       */
-      public Builder setStartTLSResponse(
-          org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse.Builder builderForValue) {
-        if (startTLSResponseBuilder_ == null) {
-          startTLSResponse_ = builderForValue.build();
-          onChanged();
-        } else {
-          startTLSResponseBuilder_.setMessage(builderForValue.build());
-        }
-        bitField0_ |= 0x00000100;
-        return this;
-      }
-      /**
-       * <code>optional .StartTLSResponse startTLSResponse = 106;</code>
-       */
-      public Builder mergeStartTLSResponse(org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse value) {
-        if (startTLSResponseBuilder_ == null) {
-          if (((bitField0_ & 0x00000100) == 0x00000100) &&
-              startTLSResponse_ != org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse.getDefaultInstance()) {
-            startTLSResponse_ =
-              org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse.newBuilder(startTLSResponse_).mergeFrom(value).buildPartial();
-          } else {
-            startTLSResponse_ = value;
-          }
-          onChanged();
-        } else {
-          startTLSResponseBuilder_.mergeFrom(value);
-        }
-        bitField0_ |= 0x00000100;
-        return this;
-      }
-      /**
-       * <code>optional .StartTLSResponse startTLSResponse = 106;</code>
-       */
-      public Builder clearStartTLSResponse() {
-        if (startTLSResponseBuilder_ == null) {
-          startTLSResponse_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse.getDefaultInstance();
-          onChanged();
-        } else {
-          startTLSResponseBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000100);
-        return this;
-      }
-      /**
-       * <code>optional .StartTLSResponse startTLSResponse = 106;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse.Builder getStartTLSResponseBuilder() {
-        bitField0_ |= 0x00000100;
-        onChanged();
-        return getStartTLSResponseFieldBuilder().getBuilder();
-      }
-      /**
-       * <code>optional .StartTLSResponse startTLSResponse = 106;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponseOrBuilder getStartTLSResponseOrBuilder() {
-        if (startTLSResponseBuilder_ != null) {
-          return startTLSResponseBuilder_.getMessageOrBuilder();
-        } else {
-          return startTLSResponse_;
-        }
-      }
-      /**
-       * <code>optional .StartTLSResponse startTLSResponse = 106;</code>
-       */
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse, org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponseOrBuilder> 
-          getStartTLSResponseFieldBuilder() {
-        if (startTLSResponseBuilder_ == null) {
-          startTLSResponseBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse, org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse.Builder, org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponseOrBuilder>(
-                  getStartTLSResponse(),
-                  getParentForChildren(),
-                  isClean());
-          startTLSResponse_ = null;
-        }
-        return startTLSResponseBuilder_;
-      }
-
-      // @@protoc_insertion_point(builder_scope:Response)
-    }
-
-    static {
-      defaultInstance = new Response(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:Response)
-  }
-
-  public interface ReadResponseOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:ReadResponse)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>required .StatusCode status = 1;</code>
-     */
-    boolean hasStatus();
-    /**
-     * <code>required .StatusCode status = 1;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode getStatus();
-
-    /**
-     * <code>required int64 ledgerId = 2;</code>
-     */
-    boolean hasLedgerId();
-    /**
-     * <code>required int64 ledgerId = 2;</code>
-     */
-    long getLedgerId();
-
-    /**
-     * <code>required int64 entryId = 3;</code>
-     */
-    boolean hasEntryId();
-    /**
-     * <code>required int64 entryId = 3;</code>
-     */
-    long getEntryId();
-
-    /**
-     * <code>optional bytes body = 4;</code>
-     */
-    boolean hasBody();
-    /**
-     * <code>optional bytes body = 4;</code>
-     */
-    com.google.protobuf.ByteString getBody();
-
-    /**
-     * <code>optional int64 maxLAC = 5;</code>
-     *
-     * <pre>
-     * Piggyback LAC
-     * </pre>
-     */
-    boolean hasMaxLAC();
-    /**
-     * <code>optional int64 maxLAC = 5;</code>
-     *
-     * <pre>
-     * Piggyback LAC
-     * </pre>
-     */
-    long getMaxLAC();
-
-    /**
-     * <code>optional int64 lacUpdateTimestamp = 6;</code>
-     */
-    boolean hasLacUpdateTimestamp();
-    /**
-     * <code>optional int64 lacUpdateTimestamp = 6;</code>
-     */
-    long getLacUpdateTimestamp();
-  }
-  /**
-   * Protobuf type {@code ReadResponse}
-   */
-  public static final class ReadResponse extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:ReadResponse)
-      ReadResponseOrBuilder {
-    // Use ReadResponse.newBuilder() to construct.
-    private ReadResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private ReadResponse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final ReadResponse defaultInstance;
-    public static ReadResponse getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public ReadResponse getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private ReadResponse(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 8: {
-              int rawValue = input.readEnum();
-              org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode value = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.valueOf(rawValue);
-              if (value == null) {
-                unknownFields.mergeVarintField(1, rawValue);
-              } else {
-                bitField0_ |= 0x00000001;
-                status_ = value;
-              }
-              break;
-            }
-            case 16: {
-              bitField0_ |= 0x00000002;
-              ledgerId_ = input.readInt64();
-              break;
-            }
-            case 24: {
-              bitField0_ |= 0x00000004;
-              entryId_ = input.readInt64();
-              break;
-            }
-            case 34: {
-              bitField0_ |= 0x00000008;
-              body_ = input.readBytes();
-              break;
-            }
-            case 40: {
-              bitField0_ |= 0x00000010;
-              maxLAC_ = input.readInt64();
-              break;
-            }
-            case 48: {
-              bitField0_ |= 0x00000020;
-              lacUpdateTimestamp_ = input.readInt64();
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_ReadResponse_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_ReadResponse_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse.class, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<ReadResponse> PARSER =
-        new com.google.protobuf.AbstractParser<ReadResponse>() {
-      public ReadResponse parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new ReadResponse(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<ReadResponse> getParserForType() {
-      return PARSER;
-    }
-
-    private int bitField0_;
-    public static final int STATUS_FIELD_NUMBER = 1;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode status_;
-    /**
-     * <code>required .StatusCode status = 1;</code>
-     */
-    public boolean hasStatus() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>required .StatusCode status = 1;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode getStatus() {
-      return status_;
-    }
-
-    public static final int LEDGERID_FIELD_NUMBER = 2;
-    private long ledgerId_;
-    /**
-     * <code>required int64 ledgerId = 2;</code>
-     */
-    public boolean hasLedgerId() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * <code>required int64 ledgerId = 2;</code>
-     */
-    public long getLedgerId() {
-      return ledgerId_;
-    }
-
-    public static final int ENTRYID_FIELD_NUMBER = 3;
-    private long entryId_;
-    /**
-     * <code>required int64 entryId = 3;</code>
-     */
-    public boolean hasEntryId() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    /**
-     * <code>required int64 entryId = 3;</code>
-     */
-    public long getEntryId() {
-      return entryId_;
-    }
-
-    public static final int BODY_FIELD_NUMBER = 4;
-    private com.google.protobuf.ByteString body_;
-    /**
-     * <code>optional bytes body = 4;</code>
-     */
-    public boolean hasBody() {
-      return ((bitField0_ & 0x00000008) == 0x00000008);
-    }
-    /**
-     * <code>optional bytes body = 4;</code>
-     */
-    public com.google.protobuf.ByteString getBody() {
-      return body_;
-    }
-
-    public static final int MAXLAC_FIELD_NUMBER = 5;
-    private long maxLAC_;
-    /**
-     * <code>optional int64 maxLAC = 5;</code>
-     *
-     * <pre>
-     * Piggyback LAC
-     * </pre>
-     */
-    public boolean hasMaxLAC() {
-      return ((bitField0_ & 0x00000010) == 0x00000010);
-    }
-    /**
-     * <code>optional int64 maxLAC = 5;</code>
-     *
-     * <pre>
-     * Piggyback LAC
-     * </pre>
-     */
-    public long getMaxLAC() {
-      return maxLAC_;
-    }
-
-    public static final int LACUPDATETIMESTAMP_FIELD_NUMBER = 6;
-    private long lacUpdateTimestamp_;
-    /**
-     * <code>optional int64 lacUpdateTimestamp = 6;</code>
-     */
-    public boolean hasLacUpdateTimestamp() {
-      return ((bitField0_ & 0x00000020) == 0x00000020);
-    }
-    /**
-     * <code>optional int64 lacUpdateTimestamp = 6;</code>
-     */
-    public long getLacUpdateTimestamp() {
-      return lacUpdateTimestamp_;
-    }
-
-    private void initFields() {
-      status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-      ledgerId_ = 0L;
-      entryId_ = 0L;
-      body_ = com.google.protobuf.ByteString.EMPTY;
-      maxLAC_ = 0L;
-      lacUpdateTimestamp_ = 0L;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      if (!hasStatus()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasLedgerId()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasEntryId()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeEnum(1, status_.getNumber());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeInt64(2, ledgerId_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeInt64(3, entryId_);
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        output.writeBytes(4, body_);
-      }
-      if (((bitField0_ & 0x00000010) == 0x00000010)) {
-        output.writeInt64(5, maxLAC_);
-      }
-      if (((bitField0_ & 0x00000020) == 0x00000020)) {
-        output.writeInt64(6, lacUpdateTimestamp_);
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeEnumSize(1, status_.getNumber());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(2, ledgerId_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(3, entryId_);
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(4, body_);
-      }
-      if (((bitField0_ & 0x00000010) == 0x00000010)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(5, maxLAC_);
-      }
-      if (((bitField0_ & 0x00000020) == 0x00000020)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(6, lacUpdateTimestamp_);
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code ReadResponse}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:ReadResponse)
-        org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponseOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_ReadResponse_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_ReadResponse_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse.class, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        ledgerId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        entryId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000004);
-        body_ = com.google.protobuf.ByteString.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000008);
-        maxLAC_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000010);
-        lacUpdateTimestamp_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000020);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_ReadResponse_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse build() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse buildPartial() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse result = new org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.status_ = status_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.ledgerId_ = ledgerId_;
-        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-          to_bitField0_ |= 0x00000004;
-        }
-        result.entryId_ = entryId_;
-        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
-          to_bitField0_ |= 0x00000008;
-        }
-        result.body_ = body_;
-        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
-          to_bitField0_ |= 0x00000010;
-        }
-        result.maxLAC_ = maxLAC_;
-        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
-          to_bitField0_ |= 0x00000020;
-        }
-        result.lacUpdateTimestamp_ = lacUpdateTimestamp_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse) {
-          return mergeFrom((org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse other) {
-        if (other == org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse.getDefaultInstance()) return this;
-        if (other.hasStatus()) {
-          setStatus(other.getStatus());
-        }
-        if (other.hasLedgerId()) {
-          setLedgerId(other.getLedgerId());
-        }
-        if (other.hasEntryId()) {
-          setEntryId(other.getEntryId());
-        }
-        if (other.hasBody()) {
-          setBody(other.getBody());
-        }
-        if (other.hasMaxLAC()) {
-          setMaxLAC(other.getMaxLAC());
-        }
-        if (other.hasLacUpdateTimestamp()) {
-          setLacUpdateTimestamp(other.getLacUpdateTimestamp());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasStatus()) {
-          
-          return false;
-        }
-        if (!hasLedgerId()) {
-          
-          return false;
-        }
-        if (!hasEntryId()) {
-          
-          return false;
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.BookkeeperProtocol.ReadResponse) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-      /**
-       * <code>required .StatusCode status = 1;</code>
-       */
-      public boolean hasStatus() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required .StatusCode status = 1;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode getStatus() {
-        return status_;
-      }
-      /**
-       * <code>required .StatusCode status = 1;</code>
-       */
-      public Builder setStatus(org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        bitField0_ |= 0x00000001;
-        status_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required .StatusCode status = 1;</code>
-       */
-      public Builder clearStatus() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-        onChanged();
-        return this;
-      }
-
-      private long ledgerId_ ;
-      /**
-       * <code>required int64 ledgerId = 2;</code>
-       */
-      public boolean hasLedgerId() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>required int64 ledgerId = 2;</code>
-       */
-      public long getLedgerId() {
-        return ledgerId_;
-      }
-      /**
-       * <code>required int64 ledgerId = 2;</code>
-       */
-      public Builder setLedgerId(long value) {
-        bitField0_ |= 0x00000002;
-        ledgerId_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required int64 ledgerId = 2;</code>
-       */
-      public Builder clearLedgerId() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        ledgerId_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      private long entryId_ ;
-      /**
-       * <code>required int64 entryId = 3;</code>
-       */
-      public boolean hasEntryId() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
-      }
-      /**
-       * <code>required int64 entryId = 3;</code>
-       */
-      public long getEntryId() {
-        return entryId_;
-      }
-      /**
-       * <code>required int64 entryId = 3;</code>
-       */
-      public Builder setEntryId(long value) {
-        bitField0_ |= 0x00000004;
-        entryId_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required int64 entryId = 3;</code>
-       */
-      public Builder clearEntryId() {
-        bitField0_ = (bitField0_ & ~0x00000004);
-        entryId_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      private com.google.protobuf.ByteString body_ = com.google.protobuf.ByteString.EMPTY;
-      /**
-       * <code>optional bytes body = 4;</code>
-       */
-      public boolean hasBody() {
-        return ((bitField0_ & 0x00000008) == 0x00000008);
-      }
-      /**
-       * <code>optional bytes body = 4;</code>
-       */
-      public com.google.protobuf.ByteString getBody() {
-        return body_;
-      }
-      /**
-       * <code>optional bytes body = 4;</code>
-       */
-      public Builder setBody(com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000008;
-        body_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional bytes body = 4;</code>
-       */
-      public Builder clearBody() {
-        bitField0_ = (bitField0_ & ~0x00000008);
-        body_ = getDefaultInstance().getBody();
-        onChanged();
-        return this;
-      }
-
-      private long maxLAC_ ;
-      /**
-       * <code>optional int64 maxLAC = 5;</code>
-       *
-       * <pre>
-       * Piggyback LAC
-       * </pre>
-       */
-      public boolean hasMaxLAC() {
-        return ((bitField0_ & 0x00000010) == 0x00000010);
-      }
-      /**
-       * <code>optional int64 maxLAC = 5;</code>
-       *
-       * <pre>
-       * Piggyback LAC
-       * </pre>
-       */
-      public long getMaxLAC() {
-        return maxLAC_;
-      }
-      /**
-       * <code>optional int64 maxLAC = 5;</code>
-       *
-       * <pre>
-       * Piggyback LAC
-       * </pre>
-       */
-      public Builder setMaxLAC(long value) {
-        bitField0_ |= 0x00000010;
-        maxLAC_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional int64 maxLAC = 5;</code>
-       *
-       * <pre>
-       * Piggyback LAC
-       * </pre>
-       */
-      public Builder clearMaxLAC() {
-        bitField0_ = (bitField0_ & ~0x00000010);
-        maxLAC_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      private long lacUpdateTimestamp_ ;
-      /**
-       * <code>optional int64 lacUpdateTimestamp = 6;</code>
-       */
-      public boolean hasLacUpdateTimestamp() {
-        return ((bitField0_ & 0x00000020) == 0x00000020);
-      }
-      /**
-       * <code>optional int64 lacUpdateTimestamp = 6;</code>
-       */
-      public long getLacUpdateTimestamp() {
-        return lacUpdateTimestamp_;
-      }
-      /**
-       * <code>optional int64 lacUpdateTimestamp = 6;</code>
-       */
-      public Builder setLacUpdateTimestamp(long value) {
-        bitField0_ |= 0x00000020;
-        lacUpdateTimestamp_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional int64 lacUpdateTimestamp = 6;</code>
-       */
-      public Builder clearLacUpdateTimestamp() {
-        bitField0_ = (bitField0_ & ~0x00000020);
-        lacUpdateTimestamp_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:ReadResponse)
-    }
-
-    static {
-      defaultInstance = new ReadResponse(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:ReadResponse)
-  }
-
-  public interface AddResponseOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:AddResponse)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>required .StatusCode status = 1;</code>
-     */
-    boolean hasStatus();
-    /**
-     * <code>required .StatusCode status = 1;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode getStatus();
-
-    /**
-     * <code>required int64 ledgerId = 2;</code>
-     */
-    boolean hasLedgerId();
-    /**
-     * <code>required int64 ledgerId = 2;</code>
-     */
-    long getLedgerId();
-
-    /**
-     * <code>required int64 entryId = 3;</code>
-     */
-    boolean hasEntryId();
-    /**
-     * <code>required int64 entryId = 3;</code>
-     */
-    long getEntryId();
-  }
-  /**
-   * Protobuf type {@code AddResponse}
-   */
-  public static final class AddResponse extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:AddResponse)
-      AddResponseOrBuilder {
-    // Use AddResponse.newBuilder() to construct.
-    private AddResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private AddResponse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final AddResponse defaultInstance;
-    public static AddResponse getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public AddResponse getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private AddResponse(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 8: {
-              int rawValue = input.readEnum();
-              org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode value = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.valueOf(rawValue);
-              if (value == null) {
-                unknownFields.mergeVarintField(1, rawValue);
-              } else {
-                bitField0_ |= 0x00000001;
-                status_ = value;
-              }
-              break;
-            }
-            case 16: {
-              bitField0_ |= 0x00000002;
-              ledgerId_ = input.readInt64();
-              break;
-            }
-            case 24: {
-              bitField0_ |= 0x00000004;
-              entryId_ = input.readInt64();
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_AddResponse_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_AddResponse_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse.class, org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<AddResponse> PARSER =
-        new com.google.protobuf.AbstractParser<AddResponse>() {
-      public AddResponse parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new AddResponse(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<AddResponse> getParserForType() {
-      return PARSER;
-    }
-
-    private int bitField0_;
-    public static final int STATUS_FIELD_NUMBER = 1;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode status_;
-    /**
-     * <code>required .StatusCode status = 1;</code>
-     */
-    public boolean hasStatus() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>required .StatusCode status = 1;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode getStatus() {
-      return status_;
-    }
-
-    public static final int LEDGERID_FIELD_NUMBER = 2;
-    private long ledgerId_;
-    /**
-     * <code>required int64 ledgerId = 2;</code>
-     */
-    public boolean hasLedgerId() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * <code>required int64 ledgerId = 2;</code>
-     */
-    public long getLedgerId() {
-      return ledgerId_;
-    }
-
-    public static final int ENTRYID_FIELD_NUMBER = 3;
-    private long entryId_;
-    /**
-     * <code>required int64 entryId = 3;</code>
-     */
-    public boolean hasEntryId() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    /**
-     * <code>required int64 entryId = 3;</code>
-     */
-    public long getEntryId() {
-      return entryId_;
-    }
-
-    private void initFields() {
-      status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-      ledgerId_ = 0L;
-      entryId_ = 0L;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      if (!hasStatus()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasLedgerId()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasEntryId()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeEnum(1, status_.getNumber());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeInt64(2, ledgerId_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeInt64(3, entryId_);
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeEnumSize(1, status_.getNumber());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(2, ledgerId_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(3, entryId_);
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code AddResponse}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:AddResponse)
-        org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponseOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_AddResponse_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_AddResponse_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse.class, org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        ledgerId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        entryId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000004);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_AddResponse_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse build() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse buildPartial() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse result = new org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.status_ = status_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.ledgerId_ = ledgerId_;
-        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-          to_bitField0_ |= 0x00000004;
-        }
-        result.entryId_ = entryId_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse) {
-          return mergeFrom((org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse other) {
-        if (other == org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse.getDefaultInstance()) return this;
-        if (other.hasStatus()) {
-          setStatus(other.getStatus());
-        }
-        if (other.hasLedgerId()) {
-          setLedgerId(other.getLedgerId());
-        }
-        if (other.hasEntryId()) {
-          setEntryId(other.getEntryId());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasStatus()) {
-          
-          return false;
-        }
-        if (!hasLedgerId()) {
-          
-          return false;
-        }
-        if (!hasEntryId()) {
-          
-          return false;
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.BookkeeperProtocol.AddResponse) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-      /**
-       * <code>required .StatusCode status = 1;</code>
-       */
-      public boolean hasStatus() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required .StatusCode status = 1;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode getStatus() {
-        return status_;
-      }
-      /**
-       * <code>required .StatusCode status = 1;</code>
-       */
-      public Builder setStatus(org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        bitField0_ |= 0x00000001;
-        status_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required .StatusCode status = 1;</code>
-       */
-      public Builder clearStatus() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-        onChanged();
-        return this;
-      }
-
-      private long ledgerId_ ;
-      /**
-       * <code>required int64 ledgerId = 2;</code>
-       */
-      public boolean hasLedgerId() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>required int64 ledgerId = 2;</code>
-       */
-      public long getLedgerId() {
-        return ledgerId_;
-      }
-      /**
-       * <code>required int64 ledgerId = 2;</code>
-       */
-      public Builder setLedgerId(long value) {
-        bitField0_ |= 0x00000002;
-        ledgerId_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required int64 ledgerId = 2;</code>
-       */
-      public Builder clearLedgerId() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        ledgerId_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      private long entryId_ ;
-      /**
-       * <code>required int64 entryId = 3;</code>
-       */
-      public boolean hasEntryId() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
-      }
-      /**
-       * <code>required int64 entryId = 3;</code>
-       */
-      public long getEntryId() {
-        return entryId_;
-      }
-      /**
-       * <code>required int64 entryId = 3;</code>
-       */
-      public Builder setEntryId(long value) {
-        bitField0_ |= 0x00000004;
-        entryId_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required int64 entryId = 3;</code>
-       */
-      public Builder clearEntryId() {
-        bitField0_ = (bitField0_ & ~0x00000004);
-        entryId_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:AddResponse)
-    }
-
-    static {
-      defaultInstance = new AddResponse(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:AddResponse)
-  }
-
-  public interface AuthMessageOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:AuthMessage)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>required string authPluginName = 1;</code>
-     */
-    boolean hasAuthPluginName();
-    /**
-     * <code>required string authPluginName = 1;</code>
-     */
-    java.lang.String getAuthPluginName();
-    /**
-     * <code>required string authPluginName = 1;</code>
-     */
-    com.google.protobuf.ByteString
-        getAuthPluginNameBytes();
-
-    /**
-     * <code>required bytes payload = 2;</code>
-     */
-    boolean hasPayload();
-    /**
-     * <code>required bytes payload = 2;</code>
-     */
-    com.google.protobuf.ByteString getPayload();
-  }
-  /**
-   * Protobuf type {@code AuthMessage}
-   */
-  public static final class AuthMessage extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:AuthMessage)
-      AuthMessageOrBuilder {
-    // Use AuthMessage.newBuilder() to construct.
-    private AuthMessage(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private AuthMessage(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final AuthMessage defaultInstance;
-    public static AuthMessage getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public AuthMessage getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private AuthMessage(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 10: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000001;
-              authPluginName_ = bs;
-              break;
-            }
-            case 18: {
-              bitField0_ |= 0x00000002;
-              payload_ = input.readBytes();
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_AuthMessage_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_AuthMessage_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.class, org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<AuthMessage> PARSER =
-        new com.google.protobuf.AbstractParser<AuthMessage>() {
-      public AuthMessage parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new AuthMessage(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<AuthMessage> getParserForType() {
-      return PARSER;
-    }
-
-    private int bitField0_;
-    public static final int AUTHPLUGINNAME_FIELD_NUMBER = 1;
-    private java.lang.Object authPluginName_;
-    /**
-     * <code>required string authPluginName = 1;</code>
-     */
-    public boolean hasAuthPluginName() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>required string authPluginName = 1;</code>
-     */
-    public java.lang.String getAuthPluginName() {
-      java.lang.Object ref = authPluginName_;
-      if (ref instanceof java.lang.String) {
-        return (java.lang.String) ref;
-      } else {
-        com.google.protobuf.ByteString bs = 
-            (com.google.protobuf.ByteString) ref;
-        java.lang.String s = bs.toStringUtf8();
-        if (bs.isValidUtf8()) {
-          authPluginName_ = s;
-        }
-        return s;
-      }
-    }
-    /**
-     * <code>required string authPluginName = 1;</code>
-     */
-    public com.google.protobuf.ByteString
-        getAuthPluginNameBytes() {
-      java.lang.Object ref = authPluginName_;
-      if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        authPluginName_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-
-    public static final int PAYLOAD_FIELD_NUMBER = 2;
-    private com.google.protobuf.ByteString payload_;
-    /**
-     * <code>required bytes payload = 2;</code>
-     */
-    public boolean hasPayload() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * <code>required bytes payload = 2;</code>
-     */
-    public com.google.protobuf.ByteString getPayload() {
-      return payload_;
-    }
-
-    private void initFields() {
-      authPluginName_ = "";
-      payload_ = com.google.protobuf.ByteString.EMPTY;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      if (!hasAuthPluginName()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasPayload()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeBytes(1, getAuthPluginNameBytes());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeBytes(2, payload_);
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(1, getAuthPluginNameBytes());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(2, payload_);
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code AuthMessage}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:AuthMessage)
-        org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessageOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_AuthMessage_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_AuthMessage_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.class, org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        authPluginName_ = "";
-        bitField0_ = (bitField0_ & ~0x00000001);
-        payload_ = com.google.protobuf.ByteString.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_AuthMessage_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage build() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage buildPartial() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage result = new org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.authPluginName_ = authPluginName_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.payload_ = payload_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage) {
-          return mergeFrom((org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage other) {
-        if (other == org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage.getDefaultInstance()) return this;
-        if (other.hasAuthPluginName()) {
-          bitField0_ |= 0x00000001;
-          authPluginName_ = other.authPluginName_;
-          onChanged();
-        }
-        if (other.hasPayload()) {
-          setPayload(other.getPayload());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasAuthPluginName()) {
-          
-          return false;
-        }
-        if (!hasPayload()) {
-          
-          return false;
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.BookkeeperProtocol.AuthMessage) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      private java.lang.Object authPluginName_ = "";
-      /**
-       * <code>required string authPluginName = 1;</code>
-       */
-      public boolean hasAuthPluginName() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required string authPluginName = 1;</code>
-       */
-      public java.lang.String getAuthPluginName() {
-        java.lang.Object ref = authPluginName_;
-        if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            authPluginName_ = s;
-          }
-          return s;
-        } else {
-          return (java.lang.String) ref;
-        }
-      }
-      /**
-       * <code>required string authPluginName = 1;</code>
-       */
-      public com.google.protobuf.ByteString
-          getAuthPluginNameBytes() {
-        java.lang.Object ref = authPluginName_;
-        if (ref instanceof String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (java.lang.String) ref);
-          authPluginName_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
-        }
-      }
-      /**
-       * <code>required string authPluginName = 1;</code>
-       */
-      public Builder setAuthPluginName(
-          java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        authPluginName_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required string authPluginName = 1;</code>
-       */
-      public Builder clearAuthPluginName() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        authPluginName_ = getDefaultInstance().getAuthPluginName();
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required string authPluginName = 1;</code>
-       */
-      public Builder setAuthPluginNameBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        authPluginName_ = value;
-        onChanged();
-        return this;
-      }
-
-      private com.google.protobuf.ByteString payload_ = com.google.protobuf.ByteString.EMPTY;
-      /**
-       * <code>required bytes payload = 2;</code>
-       */
-      public boolean hasPayload() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>required bytes payload = 2;</code>
-       */
-      public com.google.protobuf.ByteString getPayload() {
-        return payload_;
-      }
-      /**
-       * <code>required bytes payload = 2;</code>
-       */
-      public Builder setPayload(com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000002;
-        payload_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required bytes payload = 2;</code>
-       */
-      public Builder clearPayload() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        payload_ = getDefaultInstance().getPayload();
-        onChanged();
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:AuthMessage)
-    }
-
-    static {
-      defaultInstance = new AuthMessage(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:AuthMessage)
-  }
-
-  public interface WriteLacResponseOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:WriteLacResponse)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>required .StatusCode status = 1;</code>
-     */
-    boolean hasStatus();
-    /**
-     * <code>required .StatusCode status = 1;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode getStatus();
-
-    /**
-     * <code>required int64 ledgerId = 2;</code>
-     */
-    boolean hasLedgerId();
-    /**
-     * <code>required int64 ledgerId = 2;</code>
-     */
-    long getLedgerId();
-  }
-  /**
-   * Protobuf type {@code WriteLacResponse}
-   */
-  public static final class WriteLacResponse extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:WriteLacResponse)
-      WriteLacResponseOrBuilder {
-    // Use WriteLacResponse.newBuilder() to construct.
-    private WriteLacResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private WriteLacResponse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final WriteLacResponse defaultInstance;
-    public static WriteLacResponse getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public WriteLacResponse getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private WriteLacResponse(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 8: {
-              int rawValue = input.readEnum();
-              org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode value = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.valueOf(rawValue);
-              if (value == null) {
-                unknownFields.mergeVarintField(1, rawValue);
-              } else {
-                bitField0_ |= 0x00000001;
-                status_ = value;
-              }
-              break;
-            }
-            case 16: {
-              bitField0_ |= 0x00000002;
-              ledgerId_ = input.readInt64();
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_WriteLacResponse_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_WriteLacResponse_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse.class, org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<WriteLacResponse> PARSER =
-        new com.google.protobuf.AbstractParser<WriteLacResponse>() {
-      public WriteLacResponse parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new WriteLacResponse(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<WriteLacResponse> getParserForType() {
-      return PARSER;
-    }
-
-    private int bitField0_;
-    public static final int STATUS_FIELD_NUMBER = 1;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode status_;
-    /**
-     * <code>required .StatusCode status = 1;</code>
-     */
-    public boolean hasStatus() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>required .StatusCode status = 1;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode getStatus() {
-      return status_;
-    }
-
-    public static final int LEDGERID_FIELD_NUMBER = 2;
-    private long ledgerId_;
-    /**
-     * <code>required int64 ledgerId = 2;</code>
-     */
-    public boolean hasLedgerId() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * <code>required int64 ledgerId = 2;</code>
-     */
-    public long getLedgerId() {
-      return ledgerId_;
-    }
-
-    private void initFields() {
-      status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-      ledgerId_ = 0L;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      if (!hasStatus()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasLedgerId()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeEnum(1, status_.getNumber());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeInt64(2, ledgerId_);
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeEnumSize(1, status_.getNumber());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(2, ledgerId_);
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code WriteLacResponse}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:WriteLacResponse)
-        org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponseOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_WriteLacResponse_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_WriteLacResponse_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse.class, org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        ledgerId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_WriteLacResponse_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse build() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse buildPartial() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse result = new org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.status_ = status_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.ledgerId_ = ledgerId_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse) {
-          return mergeFrom((org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse other) {
-        if (other == org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse.getDefaultInstance()) return this;
-        if (other.hasStatus()) {
-          setStatus(other.getStatus());
-        }
-        if (other.hasLedgerId()) {
-          setLedgerId(other.getLedgerId());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasStatus()) {
-          
-          return false;
-        }
-        if (!hasLedgerId()) {
-          
-          return false;
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.BookkeeperProtocol.WriteLacResponse) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-      /**
-       * <code>required .StatusCode status = 1;</code>
-       */
-      public boolean hasStatus() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required .StatusCode status = 1;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode getStatus() {
-        return status_;
-      }
-      /**
-       * <code>required .StatusCode status = 1;</code>
-       */
-      public Builder setStatus(org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        bitField0_ |= 0x00000001;
-        status_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required .StatusCode status = 1;</code>
-       */
-      public Builder clearStatus() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-        onChanged();
-        return this;
-      }
-
-      private long ledgerId_ ;
-      /**
-       * <code>required int64 ledgerId = 2;</code>
-       */
-      public boolean hasLedgerId() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>required int64 ledgerId = 2;</code>
-       */
-      public long getLedgerId() {
-        return ledgerId_;
-      }
-      /**
-       * <code>required int64 ledgerId = 2;</code>
-       */
-      public Builder setLedgerId(long value) {
-        bitField0_ |= 0x00000002;
-        ledgerId_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required int64 ledgerId = 2;</code>
-       */
-      public Builder clearLedgerId() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        ledgerId_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:WriteLacResponse)
-    }
-
-    static {
-      defaultInstance = new WriteLacResponse(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:WriteLacResponse)
-  }
-
-  public interface ReadLacResponseOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:ReadLacResponse)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>required .StatusCode status = 1;</code>
-     */
-    boolean hasStatus();
-    /**
-     * <code>required .StatusCode status = 1;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode getStatus();
-
-    /**
-     * <code>required int64 ledgerId = 2;</code>
-     */
-    boolean hasLedgerId();
-    /**
-     * <code>required int64 ledgerId = 2;</code>
-     */
-    long getLedgerId();
-
-    /**
-     * <code>optional bytes lacBody = 3;</code>
-     *
-     * <pre>
-     * lac sent by PutLacRequest
-     * </pre>
-     */
-    boolean hasLacBody();
-    /**
-     * <code>optional bytes lacBody = 3;</code>
-     *
-     * <pre>
-     * lac sent by PutLacRequest
-     * </pre>
-     */
-    com.google.protobuf.ByteString getLacBody();
-
-    /**
-     * <code>optional bytes lastEntryBody = 4;</code>
-     *
-     * <pre>
-     * Actual last entry on the disk
-     * </pre>
-     */
-    boolean hasLastEntryBody();
-    /**
-     * <code>optional bytes lastEntryBody = 4;</code>
-     *
-     * <pre>
-     * Actual last entry on the disk
-     * </pre>
-     */
-    com.google.protobuf.ByteString getLastEntryBody();
-  }
-  /**
-   * Protobuf type {@code ReadLacResponse}
-   */
-  public static final class ReadLacResponse extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:ReadLacResponse)
-      ReadLacResponseOrBuilder {
-    // Use ReadLacResponse.newBuilder() to construct.
-    private ReadLacResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private ReadLacResponse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final ReadLacResponse defaultInstance;
-    public static ReadLacResponse getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public ReadLacResponse getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private ReadLacResponse(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 8: {
-              int rawValue = input.readEnum();
-              org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode value = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.valueOf(rawValue);
-              if (value == null) {
-                unknownFields.mergeVarintField(1, rawValue);
-              } else {
-                bitField0_ |= 0x00000001;
-                status_ = value;
-              }
-              break;
-            }
-            case 16: {
-              bitField0_ |= 0x00000002;
-              ledgerId_ = input.readInt64();
-              break;
-            }
-            case 26: {
-              bitField0_ |= 0x00000004;
-              lacBody_ = input.readBytes();
-              break;
-            }
-            case 34: {
-              bitField0_ |= 0x00000008;
-              lastEntryBody_ = input.readBytes();
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_ReadLacResponse_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_ReadLacResponse_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse.class, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<ReadLacResponse> PARSER =
-        new com.google.protobuf.AbstractParser<ReadLacResponse>() {
-      public ReadLacResponse parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new ReadLacResponse(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<ReadLacResponse> getParserForType() {
-      return PARSER;
-    }
-
-    private int bitField0_;
-    public static final int STATUS_FIELD_NUMBER = 1;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode status_;
-    /**
-     * <code>required .StatusCode status = 1;</code>
-     */
-    public boolean hasStatus() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>required .StatusCode status = 1;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode getStatus() {
-      return status_;
-    }
-
-    public static final int LEDGERID_FIELD_NUMBER = 2;
-    private long ledgerId_;
-    /**
-     * <code>required int64 ledgerId = 2;</code>
-     */
-    public boolean hasLedgerId() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * <code>required int64 ledgerId = 2;</code>
-     */
-    public long getLedgerId() {
-      return ledgerId_;
-    }
-
-    public static final int LACBODY_FIELD_NUMBER = 3;
-    private com.google.protobuf.ByteString lacBody_;
-    /**
-     * <code>optional bytes lacBody = 3;</code>
-     *
-     * <pre>
-     * lac sent by PutLacRequest
-     * </pre>
-     */
-    public boolean hasLacBody() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    /**
-     * <code>optional bytes lacBody = 3;</code>
-     *
-     * <pre>
-     * lac sent by PutLacRequest
-     * </pre>
-     */
-    public com.google.protobuf.ByteString getLacBody() {
-      return lacBody_;
-    }
-
-    public static final int LASTENTRYBODY_FIELD_NUMBER = 4;
-    private com.google.protobuf.ByteString lastEntryBody_;
-    /**
-     * <code>optional bytes lastEntryBody = 4;</code>
-     *
-     * <pre>
-     * Actual last entry on the disk
-     * </pre>
-     */
-    public boolean hasLastEntryBody() {
-      return ((bitField0_ & 0x00000008) == 0x00000008);
-    }
-    /**
-     * <code>optional bytes lastEntryBody = 4;</code>
-     *
-     * <pre>
-     * Actual last entry on the disk
-     * </pre>
-     */
-    public com.google.protobuf.ByteString getLastEntryBody() {
-      return lastEntryBody_;
-    }
-
-    private void initFields() {
-      status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-      ledgerId_ = 0L;
-      lacBody_ = com.google.protobuf.ByteString.EMPTY;
-      lastEntryBody_ = com.google.protobuf.ByteString.EMPTY;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      if (!hasStatus()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasLedgerId()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeEnum(1, status_.getNumber());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeInt64(2, ledgerId_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeBytes(3, lacBody_);
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        output.writeBytes(4, lastEntryBody_);
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeEnumSize(1, status_.getNumber());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(2, ledgerId_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(3, lacBody_);
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(4, lastEntryBody_);
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code ReadLacResponse}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:ReadLacResponse)
-        org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponseOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_ReadLacResponse_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_ReadLacResponse_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse.class, org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        ledgerId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        lacBody_ = com.google.protobuf.ByteString.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000004);
-        lastEntryBody_ = com.google.protobuf.ByteString.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000008);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_ReadLacResponse_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse build() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse buildPartial() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse result = new org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.status_ = status_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.ledgerId_ = ledgerId_;
-        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-          to_bitField0_ |= 0x00000004;
-        }
-        result.lacBody_ = lacBody_;
-        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
-          to_bitField0_ |= 0x00000008;
-        }
-        result.lastEntryBody_ = lastEntryBody_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse) {
-          return mergeFrom((org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse other) {
-        if (other == org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse.getDefaultInstance()) return this;
-        if (other.hasStatus()) {
-          setStatus(other.getStatus());
-        }
-        if (other.hasLedgerId()) {
-          setLedgerId(other.getLedgerId());
-        }
-        if (other.hasLacBody()) {
-          setLacBody(other.getLacBody());
-        }
-        if (other.hasLastEntryBody()) {
-          setLastEntryBody(other.getLastEntryBody());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasStatus()) {
-          
-          return false;
-        }
-        if (!hasLedgerId()) {
-          
-          return false;
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.BookkeeperProtocol.ReadLacResponse) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-      /**
-       * <code>required .StatusCode status = 1;</code>
-       */
-      public boolean hasStatus() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required .StatusCode status = 1;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode getStatus() {
-        return status_;
-      }
-      /**
-       * <code>required .StatusCode status = 1;</code>
-       */
-      public Builder setStatus(org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        bitField0_ |= 0x00000001;
-        status_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required .StatusCode status = 1;</code>
-       */
-      public Builder clearStatus() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-        onChanged();
-        return this;
-      }
-
-      private long ledgerId_ ;
-      /**
-       * <code>required int64 ledgerId = 2;</code>
-       */
-      public boolean hasLedgerId() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>required int64 ledgerId = 2;</code>
-       */
-      public long getLedgerId() {
-        return ledgerId_;
-      }
-      /**
-       * <code>required int64 ledgerId = 2;</code>
-       */
-      public Builder setLedgerId(long value) {
-        bitField0_ |= 0x00000002;
-        ledgerId_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required int64 ledgerId = 2;</code>
-       */
-      public Builder clearLedgerId() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        ledgerId_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      private com.google.protobuf.ByteString lacBody_ = com.google.protobuf.ByteString.EMPTY;
-      /**
-       * <code>optional bytes lacBody = 3;</code>
-       *
-       * <pre>
-       * lac sent by PutLacRequest
-       * </pre>
-       */
-      public boolean hasLacBody() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
-      }
-      /**
-       * <code>optional bytes lacBody = 3;</code>
-       *
-       * <pre>
-       * lac sent by PutLacRequest
-       * </pre>
-       */
-      public com.google.protobuf.ByteString getLacBody() {
-        return lacBody_;
-      }
-      /**
-       * <code>optional bytes lacBody = 3;</code>
-       *
-       * <pre>
-       * lac sent by PutLacRequest
-       * </pre>
-       */
-      public Builder setLacBody(com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000004;
-        lacBody_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional bytes lacBody = 3;</code>
-       *
-       * <pre>
-       * lac sent by PutLacRequest
-       * </pre>
-       */
-      public Builder clearLacBody() {
-        bitField0_ = (bitField0_ & ~0x00000004);
-        lacBody_ = getDefaultInstance().getLacBody();
-        onChanged();
-        return this;
-      }
-
-      private com.google.protobuf.ByteString lastEntryBody_ = com.google.protobuf.ByteString.EMPTY;
-      /**
-       * <code>optional bytes lastEntryBody = 4;</code>
-       *
-       * <pre>
-       * Actual last entry on the disk
-       * </pre>
-       */
-      public boolean hasLastEntryBody() {
-        return ((bitField0_ & 0x00000008) == 0x00000008);
-      }
-      /**
-       * <code>optional bytes lastEntryBody = 4;</code>
-       *
-       * <pre>
-       * Actual last entry on the disk
-       * </pre>
-       */
-      public com.google.protobuf.ByteString getLastEntryBody() {
-        return lastEntryBody_;
-      }
-      /**
-       * <code>optional bytes lastEntryBody = 4;</code>
-       *
-       * <pre>
-       * Actual last entry on the disk
-       * </pre>
-       */
-      public Builder setLastEntryBody(com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000008;
-        lastEntryBody_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional bytes lastEntryBody = 4;</code>
-       *
-       * <pre>
-       * Actual last entry on the disk
-       * </pre>
-       */
-      public Builder clearLastEntryBody() {
-        bitField0_ = (bitField0_ & ~0x00000008);
-        lastEntryBody_ = getDefaultInstance().getLastEntryBody();
-        onChanged();
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:ReadLacResponse)
-    }
-
-    static {
-      defaultInstance = new ReadLacResponse(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:ReadLacResponse)
-  }
-
-  public interface GetBookieInfoResponseOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:GetBookieInfoResponse)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>required .StatusCode status = 1;</code>
-     */
-    boolean hasStatus();
-    /**
-     * <code>required .StatusCode status = 1;</code>
-     */
-    org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode getStatus();
-
-    /**
-     * <code>optional int64 totalDiskCapacity = 2;</code>
-     */
-    boolean hasTotalDiskCapacity();
-    /**
-     * <code>optional int64 totalDiskCapacity = 2;</code>
-     */
-    long getTotalDiskCapacity();
-
-    /**
-     * <code>optional int64 freeDiskSpace = 3;</code>
-     */
-    boolean hasFreeDiskSpace();
-    /**
-     * <code>optional int64 freeDiskSpace = 3;</code>
-     */
-    long getFreeDiskSpace();
-  }
-  /**
-   * Protobuf type {@code GetBookieInfoResponse}
-   */
-  public static final class GetBookieInfoResponse extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:GetBookieInfoResponse)
-      GetBookieInfoResponseOrBuilder {
-    // Use GetBookieInfoResponse.newBuilder() to construct.
-    private GetBookieInfoResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private GetBookieInfoResponse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final GetBookieInfoResponse defaultInstance;
-    public static GetBookieInfoResponse getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public GetBookieInfoResponse getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private GetBookieInfoResponse(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 8: {
-              int rawValue = input.readEnum();
-              org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode value = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.valueOf(rawValue);
-              if (value == null) {
-                unknownFields.mergeVarintField(1, rawValue);
-              } else {
-                bitField0_ |= 0x00000001;
-                status_ = value;
-              }
-              break;
-            }
-            case 16: {
-              bitField0_ |= 0x00000002;
-              totalDiskCapacity_ = input.readInt64();
-              break;
-            }
-            case 24: {
-              bitField0_ |= 0x00000004;
-              freeDiskSpace_ = input.readInt64();
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_GetBookieInfoResponse_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_GetBookieInfoResponse_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse.class, org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<GetBookieInfoResponse> PARSER =
-        new com.google.protobuf.AbstractParser<GetBookieInfoResponse>() {
-      public GetBookieInfoResponse parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new GetBookieInfoResponse(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<GetBookieInfoResponse> getParserForType() {
-      return PARSER;
-    }
-
-    private int bitField0_;
-    public static final int STATUS_FIELD_NUMBER = 1;
-    private org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode status_;
-    /**
-     * <code>required .StatusCode status = 1;</code>
-     */
-    public boolean hasStatus() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>required .StatusCode status = 1;</code>
-     */
-    public org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode getStatus() {
-      return status_;
-    }
-
-    public static final int TOTALDISKCAPACITY_FIELD_NUMBER = 2;
-    private long totalDiskCapacity_;
-    /**
-     * <code>optional int64 totalDiskCapacity = 2;</code>
-     */
-    public boolean hasTotalDiskCapacity() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * <code>optional int64 totalDiskCapacity = 2;</code>
-     */
-    public long getTotalDiskCapacity() {
-      return totalDiskCapacity_;
-    }
-
-    public static final int FREEDISKSPACE_FIELD_NUMBER = 3;
-    private long freeDiskSpace_;
-    /**
-     * <code>optional int64 freeDiskSpace = 3;</code>
-     */
-    public boolean hasFreeDiskSpace() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    /**
-     * <code>optional int64 freeDiskSpace = 3;</code>
-     */
-    public long getFreeDiskSpace() {
-      return freeDiskSpace_;
-    }
-
-    private void initFields() {
-      status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-      totalDiskCapacity_ = 0L;
-      freeDiskSpace_ = 0L;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      if (!hasStatus()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeEnum(1, status_.getNumber());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeInt64(2, totalDiskCapacity_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeInt64(3, freeDiskSpace_);
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeEnumSize(1, status_.getNumber());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(2, totalDiskCapacity_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(3, freeDiskSpace_);
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code GetBookieInfoResponse}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:GetBookieInfoResponse)
-        org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponseOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_GetBookieInfoResponse_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_GetBookieInfoResponse_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse.class, org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        totalDiskCapacity_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        freeDiskSpace_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000004);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_GetBookieInfoResponse_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse build() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse buildPartial() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse result = new org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.status_ = status_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.totalDiskCapacity_ = totalDiskCapacity_;
-        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-          to_bitField0_ |= 0x00000004;
-        }
-        result.freeDiskSpace_ = freeDiskSpace_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse) {
-          return mergeFrom((org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse other) {
-        if (other == org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse.getDefaultInstance()) return this;
-        if (other.hasStatus()) {
-          setStatus(other.getStatus());
-        }
-        if (other.hasTotalDiskCapacity()) {
-          setTotalDiskCapacity(other.getTotalDiskCapacity());
-        }
-        if (other.hasFreeDiskSpace()) {
-          setFreeDiskSpace(other.getFreeDiskSpace());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasStatus()) {
-          
-          return false;
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.BookkeeperProtocol.GetBookieInfoResponse) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      private org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-      /**
-       * <code>required .StatusCode status = 1;</code>
-       */
-      public boolean hasStatus() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required .StatusCode status = 1;</code>
-       */
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode getStatus() {
-        return status_;
-      }
-      /**
-       * <code>required .StatusCode status = 1;</code>
-       */
-      public Builder setStatus(org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        bitField0_ |= 0x00000001;
-        status_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required .StatusCode status = 1;</code>
-       */
-      public Builder clearStatus() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        status_ = org.apache.bookkeeper.proto.BookkeeperProtocol.StatusCode.EOK;
-        onChanged();
-        return this;
-      }
-
-      private long totalDiskCapacity_ ;
-      /**
-       * <code>optional int64 totalDiskCapacity = 2;</code>
-       */
-      public boolean hasTotalDiskCapacity() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>optional int64 totalDiskCapacity = 2;</code>
-       */
-      public long getTotalDiskCapacity() {
-        return totalDiskCapacity_;
-      }
-      /**
-       * <code>optional int64 totalDiskCapacity = 2;</code>
-       */
-      public Builder setTotalDiskCapacity(long value) {
-        bitField0_ |= 0x00000002;
-        totalDiskCapacity_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional int64 totalDiskCapacity = 2;</code>
-       */
-      public Builder clearTotalDiskCapacity() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        totalDiskCapacity_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      private long freeDiskSpace_ ;
-      /**
-       * <code>optional int64 freeDiskSpace = 3;</code>
-       */
-      public boolean hasFreeDiskSpace() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
-      }
-      /**
-       * <code>optional int64 freeDiskSpace = 3;</code>
-       */
-      public long getFreeDiskSpace() {
-        return freeDiskSpace_;
-      }
-      /**
-       * <code>optional int64 freeDiskSpace = 3;</code>
-       */
-      public Builder setFreeDiskSpace(long value) {
-        bitField0_ |= 0x00000004;
-        freeDiskSpace_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional int64 freeDiskSpace = 3;</code>
-       */
-      public Builder clearFreeDiskSpace() {
-        bitField0_ = (bitField0_ & ~0x00000004);
-        freeDiskSpace_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:GetBookieInfoResponse)
-    }
-
-    static {
-      defaultInstance = new GetBookieInfoResponse(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:GetBookieInfoResponse)
-  }
-
-  public interface StartTLSResponseOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:StartTLSResponse)
-      com.google.protobuf.MessageOrBuilder {
-  }
-  /**
-   * Protobuf type {@code StartTLSResponse}
-   */
-  public static final class StartTLSResponse extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:StartTLSResponse)
-      StartTLSResponseOrBuilder {
-    // Use StartTLSResponse.newBuilder() to construct.
-    private StartTLSResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private StartTLSResponse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final StartTLSResponse defaultInstance;
-    public static StartTLSResponse getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public StartTLSResponse getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private StartTLSResponse(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_StartTLSResponse_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_StartTLSResponse_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse.class, org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<StartTLSResponse> PARSER =
-        new com.google.protobuf.AbstractParser<StartTLSResponse>() {
-      public StartTLSResponse parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new StartTLSResponse(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<StartTLSResponse> getParserForType() {
-      return PARSER;
-    }
-
-    private void initFields() {
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code StartTLSResponse}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:StartTLSResponse)
-        org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponseOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_StartTLSResponse_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_StartTLSResponse_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse.class, org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.internal_static_StartTLSResponse_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse build() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse buildPartial() {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse result = new org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse(this);
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse) {
-          return mergeFrom((org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse other) {
-        if (other == org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse.getDefaultInstance()) return this;
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.BookkeeperProtocol.StartTLSResponse) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:StartTLSResponse)
-    }
-
-    static {
-      defaultInstance = new StartTLSResponse(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:StartTLSResponse)
-  }
-
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_BKPacketHeader_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_BKPacketHeader_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_Request_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_Request_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_ReadRequest_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_ReadRequest_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_AddRequest_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_AddRequest_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_StartTLSRequest_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_StartTLSRequest_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_WriteLacRequest_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_WriteLacRequest_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_ReadLacRequest_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_ReadLacRequest_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_GetBookieInfoRequest_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_GetBookieInfoRequest_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_Response_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_Response_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_ReadResponse_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_ReadResponse_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_AddResponse_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_AddResponse_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_AuthMessage_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_AuthMessage_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_WriteLacResponse_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_WriteLacResponse_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_ReadLacResponse_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_ReadLacResponse_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_GetBookieInfoResponse_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_GetBookieInfoResponse_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_StartTLSResponse_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_StartTLSResponse_fieldAccessorTable;
-
-  public static com.google.protobuf.Descriptors.FileDescriptor
-      getDescriptor() {
-    return descriptor;
-  }
-  private static com.google.protobuf.Descriptors.FileDescriptor
-      descriptor;
-  static {
-    java.lang.String[] descriptorData = {
-      "\n\'src/main/proto/BookkeeperProtocol.prot" +
-      "o\"e\n\016BKPacketHeader\022!\n\007version\030\001 \002(\0162\020.P" +
-      "rotocolVersion\022!\n\toperation\030\002 \002(\0162\016.Oper" +
-      "ationType\022\r\n\005txnId\030\003 \002(\004\"\305\002\n\007Request\022\037\n\006" +
-      "header\030\001 \002(\0132\017.BKPacketHeader\022!\n\013readReq" +
-      "uest\030d \001(\0132\014.ReadRequest\022\037\n\naddRequest\030e" +
-      " \001(\0132\013.AddRequest\022!\n\013authRequest\030f \001(\0132\014" +
-      ".AuthMessage\022)\n\017writeLacRequest\030g \001(\0132\020." +
-      "WriteLacRequest\022\'\n\016readLacRequest\030h \001(\0132" +
-      "\017.ReadLacRequest\0223\n\024getBookieInfoRequest",
-      "\030i \001(\0132\025.GetBookieInfoRequest\022)\n\017startTL" +
-      "SRequest\030j \001(\0132\020.StartTLSRequest\"\271\001\n\013Rea" +
-      "dRequest\022\037\n\004flag\030d \001(\0162\021.ReadRequest.Fla" +
-      "g\022\020\n\010ledgerId\030\001 \002(\003\022\017\n\007entryId\030\002 \002(\003\022\021\n\t" +
-      "masterKey\030\003 \001(\014\022\023\n\013previousLAC\030\004 \001(\003\022\017\n\007" +
-      "timeOut\030\005 \001(\003\"-\n\004Flag\022\020\n\014FENCE_LEDGER\020\001\022" +
-      "\023\n\017ENTRY_PIGGYBACK\020\002\"\212\001\n\nAddRequest\022\036\n\004f" +
-      "lag\030d \001(\0162\020.AddRequest.Flag\022\020\n\010ledgerId\030" +
-      "\001 \002(\003\022\017\n\007entryId\030\002 \002(\003\022\021\n\tmasterKey\030\003 \002(" +
-      "\014\022\014\n\004body\030\004 \002(\014\"\030\n\004Flag\022\020\n\014RECOVERY_ADD\020",
-      "\001\"\021\n\017StartTLSRequest\"Q\n\017WriteLacRequest\022" +
-      "\020\n\010ledgerId\030\001 \002(\003\022\013\n\003lac\030\002 \002(\003\022\021\n\tmaster" +
-      "Key\030\003 \002(\014\022\014\n\004body\030\004 \002(\014\"\"\n\016ReadLacReques" +
-      "t\022\020\n\010ledgerId\030\001 \002(\003\"`\n\024GetBookieInfoRequ" +
-      "est\022\021\n\trequested\030\001 \001(\003\"5\n\005Flags\022\027\n\023TOTAL" +
-      "_DISK_CAPACITY\020\001\022\023\n\017FREE_DISK_SPACE\020\002\"\360\002" +
-      "\n\010Response\022\037\n\006header\030\001 \002(\0132\017.BKPacketHea" +
-      "der\022\033\n\006status\030\002 \002(\0162\013.StatusCode\022#\n\014read" +
-      "Response\030d \001(\0132\r.ReadResponse\022!\n\013addResp" +
-      "onse\030e \001(\0132\014.AddResponse\022\"\n\014authResponse",
-      "\030f \001(\0132\014.AuthMessage\022+\n\020writeLacResponse" +
-      "\030g \001(\0132\021.WriteLacResponse\022)\n\017readLacResp" +
-      "onse\030h \001(\0132\020.ReadLacResponse\0225\n\025getBooki" +
-      "eInfoResponse\030i \001(\0132\026.GetBookieInfoRespo" +
-      "nse\022+\n\020startTLSResponse\030j \001(\0132\021.StartTLS" +
-      "Response\"\210\001\n\014ReadResponse\022\033\n\006status\030\001 \002(" +
-      "\0162\013.StatusCode\022\020\n\010ledgerId\030\002 \002(\003\022\017\n\007entr" +
-      "yId\030\003 \002(\003\022\014\n\004body\030\004 \001(\014\022\016\n\006maxLAC\030\005 \001(\003\022" +
-      "\032\n\022lacUpdateTimestamp\030\006 \001(\003\"M\n\013AddRespon" +
-      "se\022\033\n\006status\030\001 \002(\0162\013.StatusCode\022\020\n\010ledge",
-      "rId\030\002 \002(\003\022\017\n\007entryId\030\003 \002(\003\"6\n\013AuthMessag" +
-      "e\022\026\n\016authPluginName\030\001 \002(\t\022\017\n\007payload\030\002 \002" +
-      "(\014\"A\n\020WriteLacResponse\022\033\n\006status\030\001 \002(\0162\013" +
-      ".StatusCode\022\020\n\010ledgerId\030\002 \002(\003\"h\n\017ReadLac" +
-      "Response\022\033\n\006status\030\001 \002(\0162\013.StatusCode\022\020\n" +
-      "\010ledgerId\030\002 \002(\003\022\017\n\007lacBody\030\003 \001(\014\022\025\n\rlast" +
-      "EntryBody\030\004 \001(\014\"f\n\025GetBookieInfoResponse" +
-      "\022\033\n\006status\030\001 \002(\0162\013.StatusCode\022\031\n\021totalDi" +
-      "skCapacity\030\002 \001(\003\022\025\n\rfreeDiskSpace\030\003 \001(\003\"" +
-      "\022\n\020StartTLSResponse*F\n\017ProtocolVersion\022\017",
-      "\n\013VERSION_ONE\020\001\022\017\n\013VERSION_TWO\020\002\022\021\n\rVERS" +
-      "ION_THREE\020\003*\206\001\n\nStatusCode\022\007\n\003EOK\020\000\022\016\n\tE" +
-      "NOLEDGER\020\222\003\022\r\n\010ENOENTRY\020\223\003\022\014\n\007EBADREQ\020\224\003" +
-      "\022\010\n\003EIO\020\365\003\022\010\n\003EUA\020\366\003\022\020\n\013EBADVERSION\020\367\003\022\014" +
-      "\n\007EFENCED\020\370\003\022\016\n\tEREADONLY\020\371\003*\244\001\n\rOperati" +
-      "onType\022\016\n\nREAD_ENTRY\020\001\022\r\n\tADD_ENTRY\020\002\022\024\n" +
-      "\020RANGE_READ_ENTRY\020\003\022\023\n\017RANGE_ADD_ENTRY\020\004" +
-      "\022\010\n\004AUTH\020\005\022\r\n\tWRITE_LAC\020\006\022\014\n\010READ_LAC\020\007\022" +
-      "\023\n\017GET_BOOKIE_INFO\020\010\022\r\n\tSTART_TLS\020\tB\037\n\033o" +
-      "rg.apache.bookkeeper.protoH\001"
-    };
-    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
-        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
-          public com.google.protobuf.ExtensionRegistry assignDescriptors(
-              com.google.protobuf.Descriptors.FileDescriptor root) {
-            descriptor = root;
-            return null;
-          }
-        };
-    com.google.protobuf.Descriptors.FileDescriptor
-      .internalBuildGeneratedFileFrom(descriptorData,
-        new com.google.protobuf.Descriptors.FileDescriptor[] {
-        }, assigner);
-    internal_static_BKPacketHeader_descriptor =
-      getDescriptor().getMessageTypes().get(0);
-    internal_static_BKPacketHeader_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_BKPacketHeader_descriptor,
-        new java.lang.String[] { "Version", "Operation", "TxnId", });
-    internal_static_Request_descriptor =
-      getDescriptor().getMessageTypes().get(1);
-    internal_static_Request_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_Request_descriptor,
-        new java.lang.String[] { "Header", "ReadRequest", "AddRequest", "AuthRequest", "WriteLacRequest", "ReadLacRequest", "GetBookieInfoRequest", "StartTLSRequest", });
-    internal_static_ReadRequest_descriptor =
-      getDescriptor().getMessageTypes().get(2);
-    internal_static_ReadRequest_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_ReadRequest_descriptor,
-        new java.lang.String[] { "Flag", "LedgerId", "EntryId", "MasterKey", "PreviousLAC", "TimeOut", });
-    internal_static_AddRequest_descriptor =
-      getDescriptor().getMessageTypes().get(3);
-    internal_static_AddRequest_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_AddRequest_descriptor,
-        new java.lang.String[] { "Flag", "LedgerId", "EntryId", "MasterKey", "Body", });
-    internal_static_StartTLSRequest_descriptor =
-      getDescriptor().getMessageTypes().get(4);
-    internal_static_StartTLSRequest_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_StartTLSRequest_descriptor,
-        new java.lang.String[] { });
-    internal_static_WriteLacRequest_descriptor =
-      getDescriptor().getMessageTypes().get(5);
-    internal_static_WriteLacRequest_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_WriteLacRequest_descriptor,
-        new java.lang.String[] { "LedgerId", "Lac", "MasterKey", "Body", });
-    internal_static_ReadLacRequest_descriptor =
-      getDescriptor().getMessageTypes().get(6);
-    internal_static_ReadLacRequest_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_ReadLacRequest_descriptor,
-        new java.lang.String[] { "LedgerId", });
-    internal_static_GetBookieInfoRequest_descriptor =
-      getDescriptor().getMessageTypes().get(7);
-    internal_static_GetBookieInfoRequest_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_GetBookieInfoRequest_descriptor,
-        new java.lang.String[] { "Requested", });
-    internal_static_Response_descriptor =
-      getDescriptor().getMessageTypes().get(8);
-    internal_static_Response_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_Response_descriptor,
-        new java.lang.String[] { "Header", "Status", "ReadResponse", "AddResponse", "AuthResponse", "WriteLacResponse", "ReadLacResponse", "GetBookieInfoResponse", "StartTLSResponse", });
-    internal_static_ReadResponse_descriptor =
-      getDescriptor().getMessageTypes().get(9);
-    internal_static_ReadResponse_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_ReadResponse_descriptor,
-        new java.lang.String[] { "Status", "LedgerId", "EntryId", "Body", "MaxLAC", "LacUpdateTimestamp", });
-    internal_static_AddResponse_descriptor =
-      getDescriptor().getMessageTypes().get(10);
-    internal_static_AddResponse_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_AddResponse_descriptor,
-        new java.lang.String[] { "Status", "LedgerId", "EntryId", });
-    internal_static_AuthMessage_descriptor =
-      getDescriptor().getMessageTypes().get(11);
-    internal_static_AuthMessage_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_AuthMessage_descriptor,
-        new java.lang.String[] { "AuthPluginName", "Payload", });
-    internal_static_WriteLacResponse_descriptor =
-      getDescriptor().getMessageTypes().get(12);
-    internal_static_WriteLacResponse_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_WriteLacResponse_descriptor,
-        new java.lang.String[] { "Status", "LedgerId", });
-    internal_static_ReadLacResponse_descriptor =
-      getDescriptor().getMessageTypes().get(13);
-    internal_static_ReadLacResponse_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_ReadLacResponse_descriptor,
-        new java.lang.String[] { "Status", "LedgerId", "LacBody", "LastEntryBody", });
-    internal_static_GetBookieInfoResponse_descriptor =
-      getDescriptor().getMessageTypes().get(14);
-    internal_static_GetBookieInfoResponse_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_GetBookieInfoResponse_descriptor,
-        new java.lang.String[] { "Status", "TotalDiskCapacity", "FreeDiskSpace", });
-    internal_static_StartTLSResponse_descriptor =
-      getDescriptor().getMessageTypes().get(15);
-    internal_static_StartTLSResponse_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_StartTLSResponse_descriptor,
-        new java.lang.String[] { });
-  }
-
-  // @@protoc_insertion_point(outer_class_scope)
-}
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/DataFormats.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/DataFormats.java
deleted file mode 100644
index 47c7671..0000000
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/DataFormats.java
+++ /dev/null
@@ -1,6303 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: src/main/proto/DataFormats.proto
-
-package org.apache.bookkeeper.proto;
-
-public final class DataFormats {
-  private DataFormats() {}
-  public static void registerAllExtensions(
-      com.google.protobuf.ExtensionRegistry registry) {
-  }
-  public interface LedgerMetadataFormatOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:LedgerMetadataFormat)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>required int32 quorumSize = 1;</code>
-     */
-    boolean hasQuorumSize();
-    /**
-     * <code>required int32 quorumSize = 1;</code>
-     */
-    int getQuorumSize();
-
-    /**
-     * <code>required int32 ensembleSize = 2;</code>
-     */
-    boolean hasEnsembleSize();
-    /**
-     * <code>required int32 ensembleSize = 2;</code>
-     */
-    int getEnsembleSize();
-
-    /**
-     * <code>required int64 length = 3;</code>
-     */
-    boolean hasLength();
-    /**
-     * <code>required int64 length = 3;</code>
-     */
-    long getLength();
-
-    /**
-     * <code>optional int64 lastEntryId = 4;</code>
-     */
-    boolean hasLastEntryId();
-    /**
-     * <code>optional int64 lastEntryId = 4;</code>
-     */
-    long getLastEntryId();
-
-    /**
-     * <code>required .LedgerMetadataFormat.State state = 5 [default = OPEN];</code>
-     */
-    boolean hasState();
-    /**
-     * <code>required .LedgerMetadataFormat.State state = 5 [default = OPEN];</code>
-     */
-    org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.State getState();
-
-    /**
-     * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-     */
-    java.util.List<org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment> 
-        getSegmentList();
-    /**
-     * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-     */
-    org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment getSegment(int index);
-    /**
-     * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-     */
-    int getSegmentCount();
-    /**
-     * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-     */
-    java.util.List<? extends org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.SegmentOrBuilder> 
-        getSegmentOrBuilderList();
-    /**
-     * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-     */
-    org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.SegmentOrBuilder getSegmentOrBuilder(
-        int index);
-
-    /**
-     * <code>optional .LedgerMetadataFormat.DigestType digestType = 7;</code>
-     */
-    boolean hasDigestType();
-    /**
-     * <code>optional .LedgerMetadataFormat.DigestType digestType = 7;</code>
-     */
-    org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.DigestType getDigestType();
-
-    /**
-     * <code>optional bytes password = 8;</code>
-     */
-    boolean hasPassword();
-    /**
-     * <code>optional bytes password = 8;</code>
-     */
-    com.google.protobuf.ByteString getPassword();
-
-    /**
-     * <code>optional int32 ackQuorumSize = 9;</code>
-     */
-    boolean hasAckQuorumSize();
-    /**
-     * <code>optional int32 ackQuorumSize = 9;</code>
-     */
-    int getAckQuorumSize();
-
-    /**
-     * <code>optional int64 ctime = 10;</code>
-     */
-    boolean hasCtime();
-    /**
-     * <code>optional int64 ctime = 10;</code>
-     */
-    long getCtime();
-
-    /**
-     * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-     */
-    java.util.List<org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry> 
-        getCustomMetadataList();
-    /**
-     * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-     */
-    org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry getCustomMetadata(int index);
-    /**
-     * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-     */
-    int getCustomMetadataCount();
-    /**
-     * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-     */
-    java.util.List<? extends org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntryOrBuilder> 
-        getCustomMetadataOrBuilderList();
-    /**
-     * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-     */
-    org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntryOrBuilder getCustomMetadataOrBuilder(
-        int index);
-  }
-  /**
-   * Protobuf type {@code LedgerMetadataFormat}
-   *
-   * <pre>
-   **
-   * Metadata format for storing ledger information
-   * </pre>
-   */
-  public static final class LedgerMetadataFormat extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:LedgerMetadataFormat)
-      LedgerMetadataFormatOrBuilder {
-    // Use LedgerMetadataFormat.newBuilder() to construct.
-    private LedgerMetadataFormat(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private LedgerMetadataFormat(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final LedgerMetadataFormat defaultInstance;
-    public static LedgerMetadataFormat getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public LedgerMetadataFormat getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private LedgerMetadataFormat(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 8: {
-              bitField0_ |= 0x00000001;
-              quorumSize_ = input.readInt32();
-              break;
-            }
-            case 16: {
-              bitField0_ |= 0x00000002;
-              ensembleSize_ = input.readInt32();
-              break;
-            }
-            case 24: {
-              bitField0_ |= 0x00000004;
-              length_ = input.readInt64();
-              break;
-            }
-            case 32: {
-              bitField0_ |= 0x00000008;
-              lastEntryId_ = input.readInt64();
-              break;
-            }
-            case 40: {
-              int rawValue = input.readEnum();
-              org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.State value = org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.State.valueOf(rawValue);
-              if (value == null) {
-                unknownFields.mergeVarintField(5, rawValue);
-              } else {
-                bitField0_ |= 0x00000010;
-                state_ = value;
-              }
-              break;
-            }
-            case 50: {
-              if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
-                segment_ = new java.util.ArrayList<org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment>();
-                mutable_bitField0_ |= 0x00000020;
-              }
-              segment_.add(input.readMessage(org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment.PARSER, extensionRegistry));
-              break;
-            }
-            case 56: {
-              int rawValue = input.readEnum();
-              org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.DigestType value = org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.DigestType.valueOf(rawValue);
-              if (value == null) {
-                unknownFields.mergeVarintField(7, rawValue);
-              } else {
-                bitField0_ |= 0x00000020;
-                digestType_ = value;
-              }
-              break;
-            }
-            case 66: {
-              bitField0_ |= 0x00000040;
-              password_ = input.readBytes();
-              break;
-            }
-            case 72: {
-              bitField0_ |= 0x00000080;
-              ackQuorumSize_ = input.readInt32();
-              break;
-            }
-            case 80: {
-              bitField0_ |= 0x00000100;
-              ctime_ = input.readInt64();
-              break;
-            }
-            case 90: {
-              if (!((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
-                customMetadata_ = new java.util.ArrayList<org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry>();
-                mutable_bitField0_ |= 0x00000400;
-              }
-              customMetadata_.add(input.readMessage(org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry.PARSER, extensionRegistry));
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
-          segment_ = java.util.Collections.unmodifiableList(segment_);
-        }
-        if (((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
-          customMetadata_ = java.util.Collections.unmodifiableList(customMetadata_);
-        }
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.DataFormats.internal_static_LedgerMetadataFormat_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.DataFormats.internal_static_LedgerMetadataFormat_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.class, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<LedgerMetadataFormat> PARSER =
-        new com.google.protobuf.AbstractParser<LedgerMetadataFormat>() {
-      public LedgerMetadataFormat parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new LedgerMetadataFormat(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<LedgerMetadataFormat> getParserForType() {
-      return PARSER;
-    }
-
-    /**
-     * Protobuf enum {@code LedgerMetadataFormat.State}
-     */
-    public enum State
-        implements com.google.protobuf.ProtocolMessageEnum {
-      /**
-       * <code>OPEN = 1;</code>
-       */
-      OPEN(0, 1),
-      /**
-       * <code>IN_RECOVERY = 2;</code>
-       */
-      IN_RECOVERY(1, 2),
-      /**
-       * <code>CLOSED = 3;</code>
-       */
-      CLOSED(2, 3),
-      ;
-
-      /**
-       * <code>OPEN = 1;</code>
-       */
-      public static final int OPEN_VALUE = 1;
-      /**
-       * <code>IN_RECOVERY = 2;</code>
-       */
-      public static final int IN_RECOVERY_VALUE = 2;
-      /**
-       * <code>CLOSED = 3;</code>
-       */
-      public static final int CLOSED_VALUE = 3;
-
-
-      public final int getNumber() { return value; }
-
-      public static State valueOf(int value) {
-        switch (value) {
-          case 1: return OPEN;
-          case 2: return IN_RECOVERY;
-          case 3: return CLOSED;
-          default: return null;
-        }
-      }
-
-      public static com.google.protobuf.Internal.EnumLiteMap<State>
-          internalGetValueMap() {
-        return internalValueMap;
-      }
-      private static com.google.protobuf.Internal.EnumLiteMap<State>
-          internalValueMap =
-            new com.google.protobuf.Internal.EnumLiteMap<State>() {
-              public State findValueByNumber(int number) {
-                return State.valueOf(number);
-              }
-            };
-
-      public final com.google.protobuf.Descriptors.EnumValueDescriptor
-          getValueDescriptor() {
-        return getDescriptor().getValues().get(index);
-      }
-      public final com.google.protobuf.Descriptors.EnumDescriptor
-          getDescriptorForType() {
-        return getDescriptor();
-      }
-      public static final com.google.protobuf.Descriptors.EnumDescriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.getDescriptor().getEnumTypes().get(0);
-      }
-
-      private static final State[] VALUES = values();
-
-      public static State valueOf(
-          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
-        if (desc.getType() != getDescriptor()) {
-          throw new java.lang.IllegalArgumentException(
-            "EnumValueDescriptor is not for this type.");
-        }
-        return VALUES[desc.getIndex()];
-      }
-
-      private final int index;
-      private final int value;
-
-      private State(int index, int value) {
-        this.index = index;
-        this.value = value;
-      }
-
-      // @@protoc_insertion_point(enum_scope:LedgerMetadataFormat.State)
-    }
-
-    /**
-     * Protobuf enum {@code LedgerMetadataFormat.DigestType}
-     */
-    public enum DigestType
-        implements com.google.protobuf.ProtocolMessageEnum {
-      /**
-       * <code>CRC32 = 1;</code>
-       */
-      CRC32(0, 1),
-      /**
-       * <code>HMAC = 2;</code>
-       */
-      HMAC(1, 2),
-      ;
-
-      /**
-       * <code>CRC32 = 1;</code>
-       */
-      public static final int CRC32_VALUE = 1;
-      /**
-       * <code>HMAC = 2;</code>
-       */
-      public static final int HMAC_VALUE = 2;
-
-
-      public final int getNumber() { return value; }
-
-      public static DigestType valueOf(int value) {
-        switch (value) {
-          case 1: return CRC32;
-          case 2: return HMAC;
-          default: return null;
-        }
-      }
-
-      public static com.google.protobuf.Internal.EnumLiteMap<DigestType>
-          internalGetValueMap() {
-        return internalValueMap;
-      }
-      private static com.google.protobuf.Internal.EnumLiteMap<DigestType>
-          internalValueMap =
-            new com.google.protobuf.Internal.EnumLiteMap<DigestType>() {
-              public DigestType findValueByNumber(int number) {
-                return DigestType.valueOf(number);
-              }
-            };
-
-      public final com.google.protobuf.Descriptors.EnumValueDescriptor
-          getValueDescriptor() {
-        return getDescriptor().getValues().get(index);
-      }
-      public final com.google.protobuf.Descriptors.EnumDescriptor
-          getDescriptorForType() {
-        return getDescriptor();
-      }
-      public static final com.google.protobuf.Descriptors.EnumDescriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.getDescriptor().getEnumTypes().get(1);
-      }
-
-      private static final DigestType[] VALUES = values();
-
-      public static DigestType valueOf(
-          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
-        if (desc.getType() != getDescriptor()) {
-          throw new java.lang.IllegalArgumentException(
-            "EnumValueDescriptor is not for this type.");
-        }
-        return VALUES[desc.getIndex()];
-      }
-
-      private final int index;
-      private final int value;
-
-      private DigestType(int index, int value) {
-        this.index = index;
-        this.value = value;
-      }
-
-      // @@protoc_insertion_point(enum_scope:LedgerMetadataFormat.DigestType)
-    }
-
-    public interface SegmentOrBuilder extends
-        // @@protoc_insertion_point(interface_extends:LedgerMetadataFormat.Segment)
-        com.google.protobuf.MessageOrBuilder {
-
-      /**
-       * <code>repeated string ensembleMember = 1;</code>
-       */
-      com.google.protobuf.ProtocolStringList
-          getEnsembleMemberList();
-      /**
-       * <code>repeated string ensembleMember = 1;</code>
-       */
-      int getEnsembleMemberCount();
-      /**
-       * <code>repeated string ensembleMember = 1;</code>
-       */
-      java.lang.String getEnsembleMember(int index);
-      /**
-       * <code>repeated string ensembleMember = 1;</code>
-       */
-      com.google.protobuf.ByteString
-          getEnsembleMemberBytes(int index);
-
-      /**
-       * <code>required int64 firstEntryId = 2;</code>
-       */
-      boolean hasFirstEntryId();
-      /**
-       * <code>required int64 firstEntryId = 2;</code>
-       */
-      long getFirstEntryId();
-    }
-    /**
-     * Protobuf type {@code LedgerMetadataFormat.Segment}
-     */
-    public static final class Segment extends
-        com.google.protobuf.GeneratedMessage implements
-        // @@protoc_insertion_point(message_implements:LedgerMetadataFormat.Segment)
-        SegmentOrBuilder {
-      // Use Segment.newBuilder() to construct.
-      private Segment(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-        super(builder);
-        this.unknownFields = builder.getUnknownFields();
-      }
-      private Segment(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-      private static final Segment defaultInstance;
-      public static Segment getDefaultInstance() {
-        return defaultInstance;
-      }
-
-      public Segment getDefaultInstanceForType() {
-        return defaultInstance;
-      }
-
-      private final com.google.protobuf.UnknownFieldSet unknownFields;
-      @java.lang.Override
-      public final com.google.protobuf.UnknownFieldSet
-          getUnknownFields() {
-        return this.unknownFields;
-      }
-      private Segment(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        initFields();
-        int mutable_bitField0_ = 0;
-        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-            com.google.protobuf.UnknownFieldSet.newBuilder();
-        try {
-          boolean done = false;
-          while (!done) {
-            int tag = input.readTag();
-            switch (tag) {
-              case 0:
-                done = true;
-                break;
-              default: {
-                if (!parseUnknownField(input, unknownFields,
-                                       extensionRegistry, tag)) {
-                  done = true;
-                }
-                break;
-              }
-              case 10: {
-                com.google.protobuf.ByteString bs = input.readBytes();
-                if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
-                  ensembleMember_ = new com.google.protobuf.LazyStringArrayList();
-                  mutable_bitField0_ |= 0x00000001;
-                }
-                ensembleMember_.add(bs);
-                break;
-              }
-              case 16: {
-                bitField0_ |= 0x00000001;
-                firstEntryId_ = input.readInt64();
-                break;
-              }
-            }
-          }
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          throw e.setUnfinishedMessage(this);
-        } catch (java.io.IOException e) {
-          throw new com.google.protobuf.InvalidProtocolBufferException(
-              e.getMessage()).setUnfinishedMessage(this);
-        } finally {
-          if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
-            ensembleMember_ = ensembleMember_.getUnmodifiableView();
-          }
-          this.unknownFields = unknownFields.build();
-          makeExtensionsImmutable();
-        }
-      }
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_LedgerMetadataFormat_Segment_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_LedgerMetadataFormat_Segment_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment.class, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment.Builder.class);
-      }
-
-      public static com.google.protobuf.Parser<Segment> PARSER =
-          new com.google.protobuf.AbstractParser<Segment>() {
-        public Segment parsePartialFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
-          return new Segment(input, extensionRegistry);
-        }
-      };
-
-      @java.lang.Override
-      public com.google.protobuf.Parser<Segment> getParserForType() {
-        return PARSER;
-      }
-
-      private int bitField0_;
-      public static final int ENSEMBLEMEMBER_FIELD_NUMBER = 1;
-      private com.google.protobuf.LazyStringList ensembleMember_;
-      /**
-       * <code>repeated string ensembleMember = 1;</code>
-       */
-      public com.google.protobuf.ProtocolStringList
-          getEnsembleMemberList() {
-        return ensembleMember_;
-      }
-      /**
-       * <code>repeated string ensembleMember = 1;</code>
-       */
-      public int getEnsembleMemberCount() {
-        return ensembleMember_.size();
-      }
-      /**
-       * <code>repeated string ensembleMember = 1;</code>
-       */
-      public java.lang.String getEnsembleMember(int index) {
-        return ensembleMember_.get(index);
-      }
-      /**
-       * <code>repeated string ensembleMember = 1;</code>
-       */
-      public com.google.protobuf.ByteString
-          getEnsembleMemberBytes(int index) {
-        return ensembleMember_.getByteString(index);
-      }
-
-      public static final int FIRSTENTRYID_FIELD_NUMBER = 2;
-      private long firstEntryId_;
-      /**
-       * <code>required int64 firstEntryId = 2;</code>
-       */
-      public boolean hasFirstEntryId() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required int64 firstEntryId = 2;</code>
-       */
-      public long getFirstEntryId() {
-        return firstEntryId_;
-      }
-
-      private void initFields() {
-        ensembleMember_ = com.google.protobuf.LazyStringArrayList.EMPTY;
-        firstEntryId_ = 0L;
-      }
-      private byte memoizedIsInitialized = -1;
-      public final boolean isInitialized() {
-        byte isInitialized = memoizedIsInitialized;
-        if (isInitialized == 1) return true;
-        if (isInitialized == 0) return false;
-
-        if (!hasFirstEntryId()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-        memoizedIsInitialized = 1;
-        return true;
-      }
-
-      public void writeTo(com.google.protobuf.CodedOutputStream output)
-                          throws java.io.IOException {
-        getSerializedSize();
-        for (int i = 0; i < ensembleMember_.size(); i++) {
-          output.writeBytes(1, ensembleMember_.getByteString(i));
-        }
-        if (((bitField0_ & 0x00000001) == 0x00000001)) {
-          output.writeInt64(2, firstEntryId_);
-        }
-        getUnknownFields().writeTo(output);
-      }
-
-      private int memoizedSerializedSize = -1;
-      public int getSerializedSize() {
-        int size = memoizedSerializedSize;
-        if (size != -1) return size;
-
-        size = 0;
-        {
-          int dataSize = 0;
-          for (int i = 0; i < ensembleMember_.size(); i++) {
-            dataSize += com.google.protobuf.CodedOutputStream
-              .computeBytesSizeNoTag(ensembleMember_.getByteString(i));
-          }
-          size += dataSize;
-          size += 1 * getEnsembleMemberList().size();
-        }
-        if (((bitField0_ & 0x00000001) == 0x00000001)) {
-          size += com.google.protobuf.CodedOutputStream
-            .computeInt64Size(2, firstEntryId_);
-        }
-        size += getUnknownFields().getSerializedSize();
-        memoizedSerializedSize = size;
-        return size;
-      }
-
-      private static final long serialVersionUID = 0L;
-      @java.lang.Override
-      protected java.lang.Object writeReplace()
-          throws java.io.ObjectStreamException {
-        return super.writeReplace();
-      }
-
-      public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment parseFrom(
-          com.google.protobuf.ByteString data)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data);
-      }
-      public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment parseFrom(
-          com.google.protobuf.ByteString data,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data, extensionRegistry);
-      }
-      public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment parseFrom(byte[] data)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data);
-      }
-      public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment parseFrom(
-          byte[] data,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data, extensionRegistry);
-      }
-      public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment parseFrom(java.io.InputStream input)
-          throws java.io.IOException {
-        return PARSER.parseFrom(input);
-      }
-      public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment parseFrom(
-          java.io.InputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return PARSER.parseFrom(input, extensionRegistry);
-      }
-      public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment parseDelimitedFrom(java.io.InputStream input)
-          throws java.io.IOException {
-        return PARSER.parseDelimitedFrom(input);
-      }
-      public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment parseDelimitedFrom(
-          java.io.InputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return PARSER.parseDelimitedFrom(input, extensionRegistry);
-      }
-      public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment parseFrom(
-          com.google.protobuf.CodedInputStream input)
-          throws java.io.IOException {
-        return PARSER.parseFrom(input);
-      }
-      public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment parseFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return PARSER.parseFrom(input, extensionRegistry);
-      }
-
-      public static Builder newBuilder() { return Builder.create(); }
-      public Builder newBuilderForType() { return newBuilder(); }
-      public static Builder newBuilder(org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment prototype) {
-        return newBuilder().mergeFrom(prototype);
-      }
-      public Builder toBuilder() { return newBuilder(this); }
-
-      @java.lang.Override
-      protected Builder newBuilderForType(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        Builder builder = new Builder(parent);
-        return builder;
-      }
-      /**
-       * Protobuf type {@code LedgerMetadataFormat.Segment}
-       */
-      public static final class Builder extends
-          com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-          // @@protoc_insertion_point(builder_implements:LedgerMetadataFormat.Segment)
-          org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.SegmentOrBuilder {
-        public static final com.google.protobuf.Descriptors.Descriptor
-            getDescriptor() {
-          return org.apache.bookkeeper.proto.DataFormats.internal_static_LedgerMetadataFormat_Segment_descriptor;
-        }
-
-        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-            internalGetFieldAccessorTable() {
-          return org.apache.bookkeeper.proto.DataFormats.internal_static_LedgerMetadataFormat_Segment_fieldAccessorTable
-              .ensureFieldAccessorsInitialized(
-                  org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment.class, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment.Builder.class);
-        }
-
-        // Construct using org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment.newBuilder()
-        private Builder() {
-          maybeForceBuilderInitialization();
-        }
-
-        private Builder(
-            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-          super(parent);
-          maybeForceBuilderInitialization();
-        }
-        private void maybeForceBuilderInitialization() {
-          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-          }
-        }
-        private static Builder create() {
-          return new Builder();
-        }
-
-        public Builder clear() {
-          super.clear();
-          ensembleMember_ = com.google.protobuf.LazyStringArrayList.EMPTY;
-          bitField0_ = (bitField0_ & ~0x00000001);
-          firstEntryId_ = 0L;
-          bitField0_ = (bitField0_ & ~0x00000002);
-          return this;
-        }
-
-        public Builder clone() {
-          return create().mergeFrom(buildPartial());
-        }
-
-        public com.google.protobuf.Descriptors.Descriptor
-            getDescriptorForType() {
-          return org.apache.bookkeeper.proto.DataFormats.internal_static_LedgerMetadataFormat_Segment_descriptor;
-        }
-
-        public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment getDefaultInstanceForType() {
-          return org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment.getDefaultInstance();
-        }
-
-        public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment build() {
-          org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment result = buildPartial();
-          if (!result.isInitialized()) {
-            throw newUninitializedMessageException(result);
-          }
-          return result;
-        }
-
-        public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment buildPartial() {
-          org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment result = new org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment(this);
-          int from_bitField0_ = bitField0_;
-          int to_bitField0_ = 0;
-          if (((bitField0_ & 0x00000001) == 0x00000001)) {
-            ensembleMember_ = ensembleMember_.getUnmodifiableView();
-            bitField0_ = (bitField0_ & ~0x00000001);
-          }
-          result.ensembleMember_ = ensembleMember_;
-          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-            to_bitField0_ |= 0x00000001;
-          }
-          result.firstEntryId_ = firstEntryId_;
-          result.bitField0_ = to_bitField0_;
-          onBuilt();
-          return result;
-        }
-
-        public Builder mergeFrom(com.google.protobuf.Message other) {
-          if (other instanceof org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment) {
-            return mergeFrom((org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment)other);
-          } else {
-            super.mergeFrom(other);
-            return this;
-          }
-        }
-
-        public Builder mergeFrom(org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment other) {
-          if (other == org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment.getDefaultInstance()) return this;
-          if (!other.ensembleMember_.isEmpty()) {
-            if (ensembleMember_.isEmpty()) {
-              ensembleMember_ = other.ensembleMember_;
-              bitField0_ = (bitField0_ & ~0x00000001);
-            } else {
-              ensureEnsembleMemberIsMutable();
-              ensembleMember_.addAll(other.ensembleMember_);
-            }
-            onChanged();
-          }
-          if (other.hasFirstEntryId()) {
-            setFirstEntryId(other.getFirstEntryId());
-          }
-          this.mergeUnknownFields(other.getUnknownFields());
-          return this;
-        }
-
-        public final boolean isInitialized() {
-          if (!hasFirstEntryId()) {
-            
-            return false;
-          }
-          return true;
-        }
-
-        public Builder mergeFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
-          org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment parsedMessage = null;
-          try {
-            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-            parsedMessage = (org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment) e.getUnfinishedMessage();
-            throw e;
-          } finally {
-            if (parsedMessage != null) {
-              mergeFrom(parsedMessage);
-            }
-          }
-          return this;
-        }
-        private int bitField0_;
-
-        private com.google.protobuf.LazyStringList ensembleMember_ = com.google.protobuf.LazyStringArrayList.EMPTY;
-        private void ensureEnsembleMemberIsMutable() {
-          if (!((bitField0_ & 0x00000001) == 0x00000001)) {
-            ensembleMember_ = new com.google.protobuf.LazyStringArrayList(ensembleMember_);
-            bitField0_ |= 0x00000001;
-           }
-        }
-        /**
-         * <code>repeated string ensembleMember = 1;</code>
-         */
-        public com.google.protobuf.ProtocolStringList
-            getEnsembleMemberList() {
-          return ensembleMember_.getUnmodifiableView();
-        }
-        /**
-         * <code>repeated string ensembleMember = 1;</code>
-         */
-        public int getEnsembleMemberCount() {
-          return ensembleMember_.size();
-        }
-        /**
-         * <code>repeated string ensembleMember = 1;</code>
-         */
-        public java.lang.String getEnsembleMember(int index) {
-          return ensembleMember_.get(index);
-        }
-        /**
-         * <code>repeated string ensembleMember = 1;</code>
-         */
-        public com.google.protobuf.ByteString
-            getEnsembleMemberBytes(int index) {
-          return ensembleMember_.getByteString(index);
-        }
-        /**
-         * <code>repeated string ensembleMember = 1;</code>
-         */
-        public Builder setEnsembleMember(
-            int index, java.lang.String value) {
-          if (value == null) {
-    throw new NullPointerException();
-  }
-  ensureEnsembleMemberIsMutable();
-          ensembleMember_.set(index, value);
-          onChanged();
-          return this;
-        }
-        /**
-         * <code>repeated string ensembleMember = 1;</code>
-         */
-        public Builder addEnsembleMember(
-            java.lang.String value) {
-          if (value == null) {
-    throw new NullPointerException();
-  }
-  ensureEnsembleMemberIsMutable();
-          ensembleMember_.add(value);
-          onChanged();
-          return this;
-        }
-        /**
-         * <code>repeated string ensembleMember = 1;</code>
-         */
-        public Builder addAllEnsembleMember(
-            java.lang.Iterable<java.lang.String> values) {
-          ensureEnsembleMemberIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, ensembleMember_);
-          onChanged();
-          return this;
-        }
-        /**
-         * <code>repeated string ensembleMember = 1;</code>
-         */
-        public Builder clearEnsembleMember() {
-          ensembleMember_ = com.google.protobuf.LazyStringArrayList.EMPTY;
-          bitField0_ = (bitField0_ & ~0x00000001);
-          onChanged();
-          return this;
-        }
-        /**
-         * <code>repeated string ensembleMember = 1;</code>
-         */
-        public Builder addEnsembleMemberBytes(
-            com.google.protobuf.ByteString value) {
-          if (value == null) {
-    throw new NullPointerException();
-  }
-  ensureEnsembleMemberIsMutable();
-          ensembleMember_.add(value);
-          onChanged();
-          return this;
-        }
-
-        private long firstEntryId_ ;
-        /**
-         * <code>required int64 firstEntryId = 2;</code>
-         */
-        public boolean hasFirstEntryId() {
-          return ((bitField0_ & 0x00000002) == 0x00000002);
-        }
-        /**
-         * <code>required int64 firstEntryId = 2;</code>
-         */
-        public long getFirstEntryId() {
-          return firstEntryId_;
-        }
-        /**
-         * <code>required int64 firstEntryId = 2;</code>
-         */
-        public Builder setFirstEntryId(long value) {
-          bitField0_ |= 0x00000002;
-          firstEntryId_ = value;
-          onChanged();
-          return this;
-        }
-        /**
-         * <code>required int64 firstEntryId = 2;</code>
-         */
-        public Builder clearFirstEntryId() {
-          bitField0_ = (bitField0_ & ~0x00000002);
-          firstEntryId_ = 0L;
-          onChanged();
-          return this;
-        }
-
-        // @@protoc_insertion_point(builder_scope:LedgerMetadataFormat.Segment)
-      }
-
-      static {
-        defaultInstance = new Segment(true);
-        defaultInstance.initFields();
-      }
-
-      // @@protoc_insertion_point(class_scope:LedgerMetadataFormat.Segment)
-    }
-
-    public interface cMetadataMapEntryOrBuilder extends
-        // @@protoc_insertion_point(interface_extends:LedgerMetadataFormat.cMetadataMapEntry)
-        com.google.protobuf.MessageOrBuilder {
-
-      /**
-       * <code>optional string key = 1;</code>
-       */
-      boolean hasKey();
-      /**
-       * <code>optional string key = 1;</code>
-       */
-      java.lang.String getKey();
-      /**
-       * <code>optional string key = 1;</code>
-       */
-      com.google.protobuf.ByteString
-          getKeyBytes();
-
-      /**
-       * <code>optional bytes value = 2;</code>
-       */
-      boolean hasValue();
-      /**
-       * <code>optional bytes value = 2;</code>
-       */
-      com.google.protobuf.ByteString getValue();
-    }
-    /**
-     * Protobuf type {@code LedgerMetadataFormat.cMetadataMapEntry}
-     */
-    public static final class cMetadataMapEntry extends
-        com.google.protobuf.GeneratedMessage implements
-        // @@protoc_insertion_point(message_implements:LedgerMetadataFormat.cMetadataMapEntry)
-        cMetadataMapEntryOrBuilder {
-      // Use cMetadataMapEntry.newBuilder() to construct.
-      private cMetadataMapEntry(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-        super(builder);
-        this.unknownFields = builder.getUnknownFields();
-      }
-      private cMetadataMapEntry(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-      private static final cMetadataMapEntry defaultInstance;
-      public static cMetadataMapEntry getDefaultInstance() {
-        return defaultInstance;
-      }
-
-      public cMetadataMapEntry getDefaultInstanceForType() {
-        return defaultInstance;
-      }
-
-      private final com.google.protobuf.UnknownFieldSet unknownFields;
-      @java.lang.Override
-      public final com.google.protobuf.UnknownFieldSet
-          getUnknownFields() {
-        return this.unknownFields;
-      }
-      private cMetadataMapEntry(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        initFields();
-        int mutable_bitField0_ = 0;
-        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-            com.google.protobuf.UnknownFieldSet.newBuilder();
-        try {
-          boolean done = false;
-          while (!done) {
-            int tag = input.readTag();
-            switch (tag) {
-              case 0:
-                done = true;
-                break;
-              default: {
-                if (!parseUnknownField(input, unknownFields,
-                                       extensionRegistry, tag)) {
-                  done = true;
-                }
-                break;
-              }
-              case 10: {
-                com.google.protobuf.ByteString bs = input.readBytes();
-                bitField0_ |= 0x00000001;
-                key_ = bs;
-                break;
-              }
-              case 18: {
-                bitField0_ |= 0x00000002;
-                value_ = input.readBytes();
-                break;
-              }
-            }
-          }
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          throw e.setUnfinishedMessage(this);
-        } catch (java.io.IOException e) {
-          throw new com.google.protobuf.InvalidProtocolBufferException(
-              e.getMessage()).setUnfinishedMessage(this);
-        } finally {
-          this.unknownFields = unknownFields.build();
-          makeExtensionsImmutable();
-        }
-      }
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_LedgerMetadataFormat_cMetadataMapEntry_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_LedgerMetadataFormat_cMetadataMapEntry_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry.class, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry.Builder.class);
-      }
-
-      public static com.google.protobuf.Parser<cMetadataMapEntry> PARSER =
-          new com.google.protobuf.AbstractParser<cMetadataMapEntry>() {
-        public cMetadataMapEntry parsePartialFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
-          return new cMetadataMapEntry(input, extensionRegistry);
-        }
-      };
-
-      @java.lang.Override
-      public com.google.protobuf.Parser<cMetadataMapEntry> getParserForType() {
-        return PARSER;
-      }
-
-      private int bitField0_;
-      public static final int KEY_FIELD_NUMBER = 1;
-      private java.lang.Object key_;
-      /**
-       * <code>optional string key = 1;</code>
-       */
-      public boolean hasKey() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>optional string key = 1;</code>
-       */
-      public java.lang.String getKey() {
-        java.lang.Object ref = key_;
-        if (ref instanceof java.lang.String) {
-          return (java.lang.String) ref;
-        } else {
-          com.google.protobuf.ByteString bs = 
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            key_ = s;
-          }
-          return s;
-        }
-      }
-      /**
-       * <code>optional string key = 1;</code>
-       */
-      public com.google.protobuf.ByteString
-          getKeyBytes() {
-        java.lang.Object ref = key_;
-        if (ref instanceof java.lang.String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (java.lang.String) ref);
-          key_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
-        }
-      }
-
-      public static final int VALUE_FIELD_NUMBER = 2;
-      private com.google.protobuf.ByteString value_;
-      /**
-       * <code>optional bytes value = 2;</code>
-       */
-      public boolean hasValue() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>optional bytes value = 2;</code>
-       */
-      public com.google.protobuf.ByteString getValue() {
-        return value_;
-      }
-
-      private void initFields() {
-        key_ = "";
-        value_ = com.google.protobuf.ByteString.EMPTY;
-      }
-      private byte memoizedIsInitialized = -1;
-      public final boolean isInitialized() {
-        byte isInitialized = memoizedIsInitialized;
-        if (isInitialized == 1) return true;
-        if (isInitialized == 0) return false;
-
-        memoizedIsInitialized = 1;
-        return true;
-      }
-
-      public void writeTo(com.google.protobuf.CodedOutputStream output)
-                          throws java.io.IOException {
-        getSerializedSize();
-        if (((bitField0_ & 0x00000001) == 0x00000001)) {
-          output.writeBytes(1, getKeyBytes());
-        }
-        if (((bitField0_ & 0x00000002) == 0x00000002)) {
-          output.writeBytes(2, value_);
-        }
-        getUnknownFields().writeTo(output);
-      }
-
-      private int memoizedSerializedSize = -1;
-      public int getSerializedSize() {
-        int size = memoizedSerializedSize;
-        if (size != -1) return size;
-
-        size = 0;
-        if (((bitField0_ & 0x00000001) == 0x00000001)) {
-          size += com.google.protobuf.CodedOutputStream
-            .computeBytesSize(1, getKeyBytes());
-        }
-        if (((bitField0_ & 0x00000002) == 0x00000002)) {
-          size += com.google.protobuf.CodedOutputStream
-            .computeBytesSize(2, value_);
-        }
-        size += getUnknownFields().getSerializedSize();
-        memoizedSerializedSize = size;
-        return size;
-      }
-
-      private static final long serialVersionUID = 0L;
-      @java.lang.Override
-      protected java.lang.Object writeReplace()
-          throws java.io.ObjectStreamException {
-        return super.writeReplace();
-      }
-
-      public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry parseFrom(
-          com.google.protobuf.ByteString data)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data);
-      }
-      public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry parseFrom(
-          com.google.protobuf.ByteString data,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data, extensionRegistry);
-      }
-      public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry parseFrom(byte[] data)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data);
-      }
-      public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry parseFrom(
-          byte[] data,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data, extensionRegistry);
-      }
-      public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry parseFrom(java.io.InputStream input)
-          throws java.io.IOException {
-        return PARSER.parseFrom(input);
-      }
-      public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry parseFrom(
-          java.io.InputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return PARSER.parseFrom(input, extensionRegistry);
-      }
-      public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry parseDelimitedFrom(java.io.InputStream input)
-          throws java.io.IOException {
-        return PARSER.parseDelimitedFrom(input);
-      }
-      public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry parseDelimitedFrom(
-          java.io.InputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return PARSER.parseDelimitedFrom(input, extensionRegistry);
-      }
-      public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry parseFrom(
-          com.google.protobuf.CodedInputStream input)
-          throws java.io.IOException {
-        return PARSER.parseFrom(input);
-      }
-      public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry parseFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return PARSER.parseFrom(input, extensionRegistry);
-      }
-
-      public static Builder newBuilder() { return Builder.create(); }
-      public Builder newBuilderForType() { return newBuilder(); }
-      public static Builder newBuilder(org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry prototype) {
-        return newBuilder().mergeFrom(prototype);
-      }
-      public Builder toBuilder() { return newBuilder(this); }
-
-      @java.lang.Override
-      protected Builder newBuilderForType(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        Builder builder = new Builder(parent);
-        return builder;
-      }
-      /**
-       * Protobuf type {@code LedgerMetadataFormat.cMetadataMapEntry}
-       */
-      public static final class Builder extends
-          com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-          // @@protoc_insertion_point(builder_implements:LedgerMetadataFormat.cMetadataMapEntry)
-          org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntryOrBuilder {
-        public static final com.google.protobuf.Descriptors.Descriptor
-            getDescriptor() {
-          return org.apache.bookkeeper.proto.DataFormats.internal_static_LedgerMetadataFormat_cMetadataMapEntry_descriptor;
-        }
-
-        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-            internalGetFieldAccessorTable() {
-          return org.apache.bookkeeper.proto.DataFormats.internal_static_LedgerMetadataFormat_cMetadataMapEntry_fieldAccessorTable
-              .ensureFieldAccessorsInitialized(
-                  org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry.class, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry.Builder.class);
-        }
-
-        // Construct using org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry.newBuilder()
-        private Builder() {
-          maybeForceBuilderInitialization();
-        }
-
-        private Builder(
-            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-          super(parent);
-          maybeForceBuilderInitialization();
-        }
-        private void maybeForceBuilderInitialization() {
-          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-          }
-        }
-        private static Builder create() {
-          return new Builder();
-        }
-
-        public Builder clear() {
-          super.clear();
-          key_ = "";
-          bitField0_ = (bitField0_ & ~0x00000001);
-          value_ = com.google.protobuf.ByteString.EMPTY;
-          bitField0_ = (bitField0_ & ~0x00000002);
-          return this;
-        }
-
-        public Builder clone() {
-          return create().mergeFrom(buildPartial());
-        }
-
-        public com.google.protobuf.Descriptors.Descriptor
-            getDescriptorForType() {
-          return org.apache.bookkeeper.proto.DataFormats.internal_static_LedgerMetadataFormat_cMetadataMapEntry_descriptor;
-        }
-
-        public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry getDefaultInstanceForType() {
-          return org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry.getDefaultInstance();
-        }
-
-        public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry build() {
-          org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry result = buildPartial();
-          if (!result.isInitialized()) {
-            throw newUninitializedMessageException(result);
-          }
-          return result;
-        }
-
-        public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry buildPartial() {
-          org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry result = new org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry(this);
-          int from_bitField0_ = bitField0_;
-          int to_bitField0_ = 0;
-          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-            to_bitField0_ |= 0x00000001;
-          }
-          result.key_ = key_;
-          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-            to_bitField0_ |= 0x00000002;
-          }
-          result.value_ = value_;
-          result.bitField0_ = to_bitField0_;
-          onBuilt();
-          return result;
-        }
-
-        public Builder mergeFrom(com.google.protobuf.Message other) {
-          if (other instanceof org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry) {
-            return mergeFrom((org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry)other);
-          } else {
-            super.mergeFrom(other);
-            return this;
-          }
-        }
-
-        public Builder mergeFrom(org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry other) {
-          if (other == org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry.getDefaultInstance()) return this;
-          if (other.hasKey()) {
-            bitField0_ |= 0x00000001;
-            key_ = other.key_;
-            onChanged();
-          }
-          if (other.hasValue()) {
-            setValue(other.getValue());
-          }
-          this.mergeUnknownFields(other.getUnknownFields());
-          return this;
-        }
-
-        public final boolean isInitialized() {
-          return true;
-        }
-
-        public Builder mergeFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
-          org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry parsedMessage = null;
-          try {
-            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-            parsedMessage = (org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry) e.getUnfinishedMessage();
-            throw e;
-          } finally {
-            if (parsedMessage != null) {
-              mergeFrom(parsedMessage);
-            }
-          }
-          return this;
-        }
-        private int bitField0_;
-
-        private java.lang.Object key_ = "";
-        /**
-         * <code>optional string key = 1;</code>
-         */
-        public boolean hasKey() {
-          return ((bitField0_ & 0x00000001) == 0x00000001);
-        }
-        /**
-         * <code>optional string key = 1;</code>
-         */
-        public java.lang.String getKey() {
-          java.lang.Object ref = key_;
-          if (!(ref instanceof java.lang.String)) {
-            com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
-            java.lang.String s = bs.toStringUtf8();
-            if (bs.isValidUtf8()) {
-              key_ = s;
-            }
-            return s;
-          } else {
-            return (java.lang.String) ref;
-          }
-        }
-        /**
-         * <code>optional string key = 1;</code>
-         */
-        public com.google.protobuf.ByteString
-            getKeyBytes() {
-          java.lang.Object ref = key_;
-          if (ref instanceof String) {
-            com.google.protobuf.ByteString b = 
-                com.google.protobuf.ByteString.copyFromUtf8(
-                    (java.lang.String) ref);
-            key_ = b;
-            return b;
-          } else {
-            return (com.google.protobuf.ByteString) ref;
-          }
-        }
-        /**
-         * <code>optional string key = 1;</code>
-         */
-        public Builder setKey(
-            java.lang.String value) {
-          if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-          key_ = value;
-          onChanged();
-          return this;
-        }
-        /**
-         * <code>optional string key = 1;</code>
-         */
-        public Builder clearKey() {
-          bitField0_ = (bitField0_ & ~0x00000001);
-          key_ = getDefaultInstance().getKey();
-          onChanged();
-          return this;
-        }
-        /**
-         * <code>optional string key = 1;</code>
-         */
-        public Builder setKeyBytes(
-            com.google.protobuf.ByteString value) {
-          if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-          key_ = value;
-          onChanged();
-          return this;
-        }
-
-        private com.google.protobuf.ByteString value_ = com.google.protobuf.ByteString.EMPTY;
-        /**
-         * <code>optional bytes value = 2;</code>
-         */
-        public boolean hasValue() {
-          return ((bitField0_ & 0x00000002) == 0x00000002);
-        }
-        /**
-         * <code>optional bytes value = 2;</code>
-         */
-        public com.google.protobuf.ByteString getValue() {
-          return value_;
-        }
-        /**
-         * <code>optional bytes value = 2;</code>
-         */
-        public Builder setValue(com.google.protobuf.ByteString value) {
-          if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000002;
-          value_ = value;
-          onChanged();
-          return this;
-        }
-        /**
-         * <code>optional bytes value = 2;</code>
-         */
-        public Builder clearValue() {
-          bitField0_ = (bitField0_ & ~0x00000002);
-          value_ = getDefaultInstance().getValue();
-          onChanged();
-          return this;
-        }
-
-        // @@protoc_insertion_point(builder_scope:LedgerMetadataFormat.cMetadataMapEntry)
-      }
-
-      static {
-        defaultInstance = new cMetadataMapEntry(true);
-        defaultInstance.initFields();
-      }
-
-      // @@protoc_insertion_point(class_scope:LedgerMetadataFormat.cMetadataMapEntry)
-    }
-
-    private int bitField0_;
-    public static final int QUORUMSIZE_FIELD_NUMBER = 1;
-    private int quorumSize_;
-    /**
-     * <code>required int32 quorumSize = 1;</code>
-     */
-    public boolean hasQuorumSize() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>required int32 quorumSize = 1;</code>
-     */
-    public int getQuorumSize() {
-      return quorumSize_;
-    }
-
-    public static final int ENSEMBLESIZE_FIELD_NUMBER = 2;
-    private int ensembleSize_;
-    /**
-     * <code>required int32 ensembleSize = 2;</code>
-     */
-    public boolean hasEnsembleSize() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * <code>required int32 ensembleSize = 2;</code>
-     */
-    public int getEnsembleSize() {
-      return ensembleSize_;
-    }
-
-    public static final int LENGTH_FIELD_NUMBER = 3;
-    private long length_;
-    /**
-     * <code>required int64 length = 3;</code>
-     */
-    public boolean hasLength() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    /**
-     * <code>required int64 length = 3;</code>
-     */
-    public long getLength() {
-      return length_;
-    }
-
-    public static final int LASTENTRYID_FIELD_NUMBER = 4;
-    private long lastEntryId_;
-    /**
-     * <code>optional int64 lastEntryId = 4;</code>
-     */
-    public boolean hasLastEntryId() {
-      return ((bitField0_ & 0x00000008) == 0x00000008);
-    }
-    /**
-     * <code>optional int64 lastEntryId = 4;</code>
-     */
-    public long getLastEntryId() {
-      return lastEntryId_;
-    }
-
-    public static final int STATE_FIELD_NUMBER = 5;
-    private org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.State state_;
-    /**
-     * <code>required .LedgerMetadataFormat.State state = 5 [default = OPEN];</code>
-     */
-    public boolean hasState() {
-      return ((bitField0_ & 0x00000010) == 0x00000010);
-    }
-    /**
-     * <code>required .LedgerMetadataFormat.State state = 5 [default = OPEN];</code>
-     */
-    public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.State getState() {
-      return state_;
-    }
-
-    public static final int SEGMENT_FIELD_NUMBER = 6;
-    private java.util.List<org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment> segment_;
-    /**
-     * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-     */
-    public java.util.List<org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment> getSegmentList() {
-      return segment_;
-    }
-    /**
-     * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-     */
-    public java.util.List<? extends org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.SegmentOrBuilder> 
-        getSegmentOrBuilderList() {
-      return segment_;
-    }
-    /**
-     * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-     */
-    public int getSegmentCount() {
-      return segment_.size();
-    }
-    /**
-     * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-     */
-    public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment getSegment(int index) {
-      return segment_.get(index);
-    }
-    /**
-     * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-     */
-    public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.SegmentOrBuilder getSegmentOrBuilder(
-        int index) {
-      return segment_.get(index);
-    }
-
-    public static final int DIGESTTYPE_FIELD_NUMBER = 7;
-    private org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.DigestType digestType_;
-    /**
-     * <code>optional .LedgerMetadataFormat.DigestType digestType = 7;</code>
-     */
-    public boolean hasDigestType() {
-      return ((bitField0_ & 0x00000020) == 0x00000020);
-    }
-    /**
-     * <code>optional .LedgerMetadataFormat.DigestType digestType = 7;</code>
-     */
-    public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.DigestType getDigestType() {
-      return digestType_;
-    }
-
-    public static final int PASSWORD_FIELD_NUMBER = 8;
-    private com.google.protobuf.ByteString password_;
-    /**
-     * <code>optional bytes password = 8;</code>
-     */
-    public boolean hasPassword() {
-      return ((bitField0_ & 0x00000040) == 0x00000040);
-    }
-    /**
-     * <code>optional bytes password = 8;</code>
-     */
-    public com.google.protobuf.ByteString getPassword() {
-      return password_;
-    }
-
-    public static final int ACKQUORUMSIZE_FIELD_NUMBER = 9;
-    private int ackQuorumSize_;
-    /**
-     * <code>optional int32 ackQuorumSize = 9;</code>
-     */
-    public boolean hasAckQuorumSize() {
-      return ((bitField0_ & 0x00000080) == 0x00000080);
-    }
-    /**
-     * <code>optional int32 ackQuorumSize = 9;</code>
-     */
-    public int getAckQuorumSize() {
-      return ackQuorumSize_;
-    }
-
-    public static final int CTIME_FIELD_NUMBER = 10;
-    private long ctime_;
-    /**
-     * <code>optional int64 ctime = 10;</code>
-     */
-    public boolean hasCtime() {
-      return ((bitField0_ & 0x00000100) == 0x00000100);
-    }
-    /**
-     * <code>optional int64 ctime = 10;</code>
-     */
-    public long getCtime() {
-      return ctime_;
-    }
-
-    public static final int CUSTOMMETADATA_FIELD_NUMBER = 11;
-    private java.util.List<org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry> customMetadata_;
-    /**
-     * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-     */
-    public java.util.List<org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry> getCustomMetadataList() {
-      return customMetadata_;
-    }
-    /**
-     * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-     */
-    public java.util.List<? extends org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntryOrBuilder> 
-        getCustomMetadataOrBuilderList() {
-      return customMetadata_;
-    }
-    /**
-     * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-     */
-    public int getCustomMetadataCount() {
-      return customMetadata_.size();
-    }
-    /**
-     * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-     */
-    public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry getCustomMetadata(int index) {
-      return customMetadata_.get(index);
-    }
-    /**
-     * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-     */
-    public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntryOrBuilder getCustomMetadataOrBuilder(
-        int index) {
-      return customMetadata_.get(index);
-    }
-
-    private void initFields() {
-      quorumSize_ = 0;
-      ensembleSize_ = 0;
-      length_ = 0L;
-      lastEntryId_ = 0L;
-      state_ = org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.State.OPEN;
-      segment_ = java.util.Collections.emptyList();
-      digestType_ = org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.DigestType.CRC32;
-      password_ = com.google.protobuf.ByteString.EMPTY;
-      ackQuorumSize_ = 0;
-      ctime_ = 0L;
-      customMetadata_ = java.util.Collections.emptyList();
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      if (!hasQuorumSize()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasEnsembleSize()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasLength()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasState()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      for (int i = 0; i < getSegmentCount(); i++) {
-        if (!getSegment(i).isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeInt32(1, quorumSize_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeInt32(2, ensembleSize_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeInt64(3, length_);
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        output.writeInt64(4, lastEntryId_);
-      }
-      if (((bitField0_ & 0x00000010) == 0x00000010)) {
-        output.writeEnum(5, state_.getNumber());
-      }
-      for (int i = 0; i < segment_.size(); i++) {
-        output.writeMessage(6, segment_.get(i));
-      }
-      if (((bitField0_ & 0x00000020) == 0x00000020)) {
-        output.writeEnum(7, digestType_.getNumber());
-      }
-      if (((bitField0_ & 0x00000040) == 0x00000040)) {
-        output.writeBytes(8, password_);
-      }
-      if (((bitField0_ & 0x00000080) == 0x00000080)) {
-        output.writeInt32(9, ackQuorumSize_);
-      }
-      if (((bitField0_ & 0x00000100) == 0x00000100)) {
-        output.writeInt64(10, ctime_);
-      }
-      for (int i = 0; i < customMetadata_.size(); i++) {
-        output.writeMessage(11, customMetadata_.get(i));
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt32Size(1, quorumSize_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt32Size(2, ensembleSize_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(3, length_);
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(4, lastEntryId_);
-      }
-      if (((bitField0_ & 0x00000010) == 0x00000010)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeEnumSize(5, state_.getNumber());
-      }
-      for (int i = 0; i < segment_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(6, segment_.get(i));
-      }
-      if (((bitField0_ & 0x00000020) == 0x00000020)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeEnumSize(7, digestType_.getNumber());
-      }
-      if (((bitField0_ & 0x00000040) == 0x00000040)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(8, password_);
-      }
-      if (((bitField0_ & 0x00000080) == 0x00000080)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt32Size(9, ackQuorumSize_);
-      }
-      if (((bitField0_ & 0x00000100) == 0x00000100)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(10, ctime_);
-      }
-      for (int i = 0; i < customMetadata_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(11, customMetadata_.get(i));
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code LedgerMetadataFormat}
-     *
-     * <pre>
-     **
-     * Metadata format for storing ledger information
-     * </pre>
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:LedgerMetadataFormat)
-        org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormatOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_LedgerMetadataFormat_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_LedgerMetadataFormat_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.class, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-          getSegmentFieldBuilder();
-          getCustomMetadataFieldBuilder();
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        quorumSize_ = 0;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        ensembleSize_ = 0;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        length_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000004);
-        lastEntryId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000008);
-        state_ = org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.State.OPEN;
-        bitField0_ = (bitField0_ & ~0x00000010);
-        if (segmentBuilder_ == null) {
-          segment_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000020);
-        } else {
-          segmentBuilder_.clear();
-        }
-        digestType_ = org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.DigestType.CRC32;
-        bitField0_ = (bitField0_ & ~0x00000040);
-        password_ = com.google.protobuf.ByteString.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000080);
-        ackQuorumSize_ = 0;
-        bitField0_ = (bitField0_ & ~0x00000100);
-        ctime_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000200);
-        if (customMetadataBuilder_ == null) {
-          customMetadata_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000400);
-        } else {
-          customMetadataBuilder_.clear();
-        }
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_LedgerMetadataFormat_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat build() {
-        org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat buildPartial() {
-        org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat result = new org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.quorumSize_ = quorumSize_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.ensembleSize_ = ensembleSize_;
-        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-          to_bitField0_ |= 0x00000004;
-        }
-        result.length_ = length_;
-        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
-          to_bitField0_ |= 0x00000008;
-        }
-        result.lastEntryId_ = lastEntryId_;
-        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
-          to_bitField0_ |= 0x00000010;
-        }
-        result.state_ = state_;
-        if (segmentBuilder_ == null) {
-          if (((bitField0_ & 0x00000020) == 0x00000020)) {
-            segment_ = java.util.Collections.unmodifiableList(segment_);
-            bitField0_ = (bitField0_ & ~0x00000020);
-          }
-          result.segment_ = segment_;
-        } else {
-          result.segment_ = segmentBuilder_.build();
-        }
-        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
-          to_bitField0_ |= 0x00000020;
-        }
-        result.digestType_ = digestType_;
-        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
-          to_bitField0_ |= 0x00000040;
-        }
-        result.password_ = password_;
-        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
-          to_bitField0_ |= 0x00000080;
-        }
-        result.ackQuorumSize_ = ackQuorumSize_;
-        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
-          to_bitField0_ |= 0x00000100;
-        }
-        result.ctime_ = ctime_;
-        if (customMetadataBuilder_ == null) {
-          if (((bitField0_ & 0x00000400) == 0x00000400)) {
-            customMetadata_ = java.util.Collections.unmodifiableList(customMetadata_);
-            bitField0_ = (bitField0_ & ~0x00000400);
-          }
-          result.customMetadata_ = customMetadata_;
-        } else {
-          result.customMetadata_ = customMetadataBuilder_.build();
-        }
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat) {
-          return mergeFrom((org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat other) {
-        if (other == org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.getDefaultInstance()) return this;
-        if (other.hasQuorumSize()) {
-          setQuorumSize(other.getQuorumSize());
-        }
-        if (other.hasEnsembleSize()) {
-          setEnsembleSize(other.getEnsembleSize());
-        }
-        if (other.hasLength()) {
-          setLength(other.getLength());
-        }
-        if (other.hasLastEntryId()) {
-          setLastEntryId(other.getLastEntryId());
-        }
-        if (other.hasState()) {
-          setState(other.getState());
-        }
-        if (segmentBuilder_ == null) {
-          if (!other.segment_.isEmpty()) {
-            if (segment_.isEmpty()) {
-              segment_ = other.segment_;
-              bitField0_ = (bitField0_ & ~0x00000020);
-            } else {
-              ensureSegmentIsMutable();
-              segment_.addAll(other.segment_);
-            }
-            onChanged();
-          }
-        } else {
-          if (!other.segment_.isEmpty()) {
-            if (segmentBuilder_.isEmpty()) {
-              segmentBuilder_.dispose();
-              segmentBuilder_ = null;
-              segment_ = other.segment_;
-              bitField0_ = (bitField0_ & ~0x00000020);
-              segmentBuilder_ = 
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
-                   getSegmentFieldBuilder() : null;
-            } else {
-              segmentBuilder_.addAllMessages(other.segment_);
-            }
-          }
-        }
-        if (other.hasDigestType()) {
-          setDigestType(other.getDigestType());
-        }
-        if (other.hasPassword()) {
-          setPassword(other.getPassword());
-        }
-        if (other.hasAckQuorumSize()) {
-          setAckQuorumSize(other.getAckQuorumSize());
-        }
-        if (other.hasCtime()) {
-          setCtime(other.getCtime());
-        }
-        if (customMetadataBuilder_ == null) {
-          if (!other.customMetadata_.isEmpty()) {
-            if (customMetadata_.isEmpty()) {
-              customMetadata_ = other.customMetadata_;
-              bitField0_ = (bitField0_ & ~0x00000400);
-            } else {
-              ensureCustomMetadataIsMutable();
-              customMetadata_.addAll(other.customMetadata_);
-            }
-            onChanged();
-          }
-        } else {
-          if (!other.customMetadata_.isEmpty()) {
-            if (customMetadataBuilder_.isEmpty()) {
-              customMetadataBuilder_.dispose();
-              customMetadataBuilder_ = null;
-              customMetadata_ = other.customMetadata_;
-              bitField0_ = (bitField0_ & ~0x00000400);
-              customMetadataBuilder_ = 
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
-                   getCustomMetadataFieldBuilder() : null;
-            } else {
-              customMetadataBuilder_.addAllMessages(other.customMetadata_);
-            }
-          }
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasQuorumSize()) {
-          
-          return false;
-        }
-        if (!hasEnsembleSize()) {
-          
-          return false;
-        }
-        if (!hasLength()) {
-          
-          return false;
-        }
-        if (!hasState()) {
-          
-          return false;
-        }
-        for (int i = 0; i < getSegmentCount(); i++) {
-          if (!getSegment(i).isInitialized()) {
-            
-            return false;
-          }
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      private int quorumSize_ ;
-      /**
-       * <code>required int32 quorumSize = 1;</code>
-       */
-      public boolean hasQuorumSize() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required int32 quorumSize = 1;</code>
-       */
-      public int getQuorumSize() {
-        return quorumSize_;
-      }
-      /**
-       * <code>required int32 quorumSize = 1;</code>
-       */
-      public Builder setQuorumSize(int value) {
-        bitField0_ |= 0x00000001;
-        quorumSize_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required int32 quorumSize = 1;</code>
-       */
-      public Builder clearQuorumSize() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        quorumSize_ = 0;
-        onChanged();
-        return this;
-      }
-
-      private int ensembleSize_ ;
-      /**
-       * <code>required int32 ensembleSize = 2;</code>
-       */
-      public boolean hasEnsembleSize() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>required int32 ensembleSize = 2;</code>
-       */
-      public int getEnsembleSize() {
-        return ensembleSize_;
-      }
-      /**
-       * <code>required int32 ensembleSize = 2;</code>
-       */
-      public Builder setEnsembleSize(int value) {
-        bitField0_ |= 0x00000002;
-        ensembleSize_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required int32 ensembleSize = 2;</code>
-       */
-      public Builder clearEnsembleSize() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        ensembleSize_ = 0;
-        onChanged();
-        return this;
-      }
-
-      private long length_ ;
-      /**
-       * <code>required int64 length = 3;</code>
-       */
-      public boolean hasLength() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
-      }
-      /**
-       * <code>required int64 length = 3;</code>
-       */
-      public long getLength() {
-        return length_;
-      }
-      /**
-       * <code>required int64 length = 3;</code>
-       */
-      public Builder setLength(long value) {
-        bitField0_ |= 0x00000004;
-        length_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required int64 length = 3;</code>
-       */
-      public Builder clearLength() {
-        bitField0_ = (bitField0_ & ~0x00000004);
-        length_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      private long lastEntryId_ ;
-      /**
-       * <code>optional int64 lastEntryId = 4;</code>
-       */
-      public boolean hasLastEntryId() {
-        return ((bitField0_ & 0x00000008) == 0x00000008);
-      }
-      /**
-       * <code>optional int64 lastEntryId = 4;</code>
-       */
-      public long getLastEntryId() {
-        return lastEntryId_;
-      }
-      /**
-       * <code>optional int64 lastEntryId = 4;</code>
-       */
-      public Builder setLastEntryId(long value) {
-        bitField0_ |= 0x00000008;
-        lastEntryId_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional int64 lastEntryId = 4;</code>
-       */
-      public Builder clearLastEntryId() {
-        bitField0_ = (bitField0_ & ~0x00000008);
-        lastEntryId_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      private org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.State state_ = org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.State.OPEN;
-      /**
-       * <code>required .LedgerMetadataFormat.State state = 5 [default = OPEN];</code>
-       */
-      public boolean hasState() {
-        return ((bitField0_ & 0x00000010) == 0x00000010);
-      }
-      /**
-       * <code>required .LedgerMetadataFormat.State state = 5 [default = OPEN];</code>
-       */
-      public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.State getState() {
-        return state_;
-      }
-      /**
-       * <code>required .LedgerMetadataFormat.State state = 5 [default = OPEN];</code>
-       */
-      public Builder setState(org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.State value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        bitField0_ |= 0x00000010;
-        state_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required .LedgerMetadataFormat.State state = 5 [default = OPEN];</code>
-       */
-      public Builder clearState() {
-        bitField0_ = (bitField0_ & ~0x00000010);
-        state_ = org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.State.OPEN;
-        onChanged();
-        return this;
-      }
-
-      private java.util.List<org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment> segment_ =
-        java.util.Collections.emptyList();
-      private void ensureSegmentIsMutable() {
-        if (!((bitField0_ & 0x00000020) == 0x00000020)) {
-          segment_ = new java.util.ArrayList<org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment>(segment_);
-          bitField0_ |= 0x00000020;
-         }
-      }
-
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment.Builder, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.SegmentOrBuilder> segmentBuilder_;
-
-      /**
-       * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-       */
-      public java.util.List<org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment> getSegmentList() {
-        if (segmentBuilder_ == null) {
-          return java.util.Collections.unmodifiableList(segment_);
-        } else {
-          return segmentBuilder_.getMessageList();
-        }
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-       */
-      public int getSegmentCount() {
-        if (segmentBuilder_ == null) {
-          return segment_.size();
-        } else {
-          return segmentBuilder_.getCount();
-        }
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-       */
-      public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment getSegment(int index) {
-        if (segmentBuilder_ == null) {
-          return segment_.get(index);
-        } else {
-          return segmentBuilder_.getMessage(index);
-        }
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-       */
-      public Builder setSegment(
-          int index, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment value) {
-        if (segmentBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureSegmentIsMutable();
-          segment_.set(index, value);
-          onChanged();
-        } else {
-          segmentBuilder_.setMessage(index, value);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-       */
-      public Builder setSegment(
-          int index, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment.Builder builderForValue) {
-        if (segmentBuilder_ == null) {
-          ensureSegmentIsMutable();
-          segment_.set(index, builderForValue.build());
-          onChanged();
-        } else {
-          segmentBuilder_.setMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-       */
-      public Builder addSegment(org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment value) {
-        if (segmentBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureSegmentIsMutable();
-          segment_.add(value);
-          onChanged();
-        } else {
-          segmentBuilder_.addMessage(value);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-       */
-      public Builder addSegment(
-          int index, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment value) {
-        if (segmentBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureSegmentIsMutable();
-          segment_.add(index, value);
-          onChanged();
-        } else {
-          segmentBuilder_.addMessage(index, value);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-       */
-      public Builder addSegment(
-          org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment.Builder builderForValue) {
-        if (segmentBuilder_ == null) {
-          ensureSegmentIsMutable();
-          segment_.add(builderForValue.build());
-          onChanged();
-        } else {
-          segmentBuilder_.addMessage(builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-       */
-      public Builder addSegment(
-          int index, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment.Builder builderForValue) {
-        if (segmentBuilder_ == null) {
-          ensureSegmentIsMutable();
-          segment_.add(index, builderForValue.build());
-          onChanged();
-        } else {
-          segmentBuilder_.addMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-       */
-      public Builder addAllSegment(
-          java.lang.Iterable<? extends org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment> values) {
-        if (segmentBuilder_ == null) {
-          ensureSegmentIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, segment_);
-          onChanged();
-        } else {
-          segmentBuilder_.addAllMessages(values);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-       */
-      public Builder clearSegment() {
-        if (segmentBuilder_ == null) {
-          segment_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000020);
-          onChanged();
-        } else {
-          segmentBuilder_.clear();
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-       */
-      public Builder removeSegment(int index) {
-        if (segmentBuilder_ == null) {
-          ensureSegmentIsMutable();
-          segment_.remove(index);
-          onChanged();
-        } else {
-          segmentBuilder_.remove(index);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-       */
-      public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment.Builder getSegmentBuilder(
-          int index) {
-        return getSegmentFieldBuilder().getBuilder(index);
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-       */
-      public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.SegmentOrBuilder getSegmentOrBuilder(
-          int index) {
-        if (segmentBuilder_ == null) {
-          return segment_.get(index);  } else {
-          return segmentBuilder_.getMessageOrBuilder(index);
-        }
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-       */
-      public java.util.List<? extends org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.SegmentOrBuilder> 
-           getSegmentOrBuilderList() {
-        if (segmentBuilder_ != null) {
-          return segmentBuilder_.getMessageOrBuilderList();
-        } else {
-          return java.util.Collections.unmodifiableList(segment_);
-        }
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-       */
-      public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment.Builder addSegmentBuilder() {
-        return getSegmentFieldBuilder().addBuilder(
-            org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment.getDefaultInstance());
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-       */
-      public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment.Builder addSegmentBuilder(
-          int index) {
-        return getSegmentFieldBuilder().addBuilder(
-            index, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment.getDefaultInstance());
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.Segment segment = 6;</code>
-       */
-      public java.util.List<org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment.Builder> 
-           getSegmentBuilderList() {
-        return getSegmentFieldBuilder().getBuilderList();
-      }
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment.Builder, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.SegmentOrBuilder> 
-          getSegmentFieldBuilder() {
-        if (segmentBuilder_ == null) {
-          segmentBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.Segment.Builder, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.SegmentOrBuilder>(
-                  segment_,
-                  ((bitField0_ & 0x00000020) == 0x00000020),
-                  getParentForChildren(),
-                  isClean());
-          segment_ = null;
-        }
-        return segmentBuilder_;
-      }
-
-      private org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.DigestType digestType_ = org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.DigestType.CRC32;
-      /**
-       * <code>optional .LedgerMetadataFormat.DigestType digestType = 7;</code>
-       */
-      public boolean hasDigestType() {
-        return ((bitField0_ & 0x00000040) == 0x00000040);
-      }
-      /**
-       * <code>optional .LedgerMetadataFormat.DigestType digestType = 7;</code>
-       */
-      public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.DigestType getDigestType() {
-        return digestType_;
-      }
-      /**
-       * <code>optional .LedgerMetadataFormat.DigestType digestType = 7;</code>
-       */
-      public Builder setDigestType(org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.DigestType value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        bitField0_ |= 0x00000040;
-        digestType_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional .LedgerMetadataFormat.DigestType digestType = 7;</code>
-       */
-      public Builder clearDigestType() {
-        bitField0_ = (bitField0_ & ~0x00000040);
-        digestType_ = org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.DigestType.CRC32;
-        onChanged();
-        return this;
-      }
-
-      private com.google.protobuf.ByteString password_ = com.google.protobuf.ByteString.EMPTY;
-      /**
-       * <code>optional bytes password = 8;</code>
-       */
-      public boolean hasPassword() {
-        return ((bitField0_ & 0x00000080) == 0x00000080);
-      }
-      /**
-       * <code>optional bytes password = 8;</code>
-       */
-      public com.google.protobuf.ByteString getPassword() {
-        return password_;
-      }
-      /**
-       * <code>optional bytes password = 8;</code>
-       */
-      public Builder setPassword(com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000080;
-        password_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional bytes password = 8;</code>
-       */
-      public Builder clearPassword() {
-        bitField0_ = (bitField0_ & ~0x00000080);
-        password_ = getDefaultInstance().getPassword();
-        onChanged();
-        return this;
-      }
-
-      private int ackQuorumSize_ ;
-      /**
-       * <code>optional int32 ackQuorumSize = 9;</code>
-       */
-      public boolean hasAckQuorumSize() {
-        return ((bitField0_ & 0x00000100) == 0x00000100);
-      }
-      /**
-       * <code>optional int32 ackQuorumSize = 9;</code>
-       */
-      public int getAckQuorumSize() {
-        return ackQuorumSize_;
-      }
-      /**
-       * <code>optional int32 ackQuorumSize = 9;</code>
-       */
-      public Builder setAckQuorumSize(int value) {
-        bitField0_ |= 0x00000100;
-        ackQuorumSize_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional int32 ackQuorumSize = 9;</code>
-       */
-      public Builder clearAckQuorumSize() {
-        bitField0_ = (bitField0_ & ~0x00000100);
-        ackQuorumSize_ = 0;
-        onChanged();
-        return this;
-      }
-
-      private long ctime_ ;
-      /**
-       * <code>optional int64 ctime = 10;</code>
-       */
-      public boolean hasCtime() {
-        return ((bitField0_ & 0x00000200) == 0x00000200);
-      }
-      /**
-       * <code>optional int64 ctime = 10;</code>
-       */
-      public long getCtime() {
-        return ctime_;
-      }
-      /**
-       * <code>optional int64 ctime = 10;</code>
-       */
-      public Builder setCtime(long value) {
-        bitField0_ |= 0x00000200;
-        ctime_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional int64 ctime = 10;</code>
-       */
-      public Builder clearCtime() {
-        bitField0_ = (bitField0_ & ~0x00000200);
-        ctime_ = 0L;
-        onChanged();
-        return this;
-      }
-
-      private java.util.List<org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry> customMetadata_ =
-        java.util.Collections.emptyList();
-      private void ensureCustomMetadataIsMutable() {
-        if (!((bitField0_ & 0x00000400) == 0x00000400)) {
-          customMetadata_ = new java.util.ArrayList<org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry>(customMetadata_);
-          bitField0_ |= 0x00000400;
-         }
-      }
-
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry.Builder, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntryOrBuilder> customMetadataBuilder_;
-
-      /**
-       * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-       */
-      public java.util.List<org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry> getCustomMetadataList() {
-        if (customMetadataBuilder_ == null) {
-          return java.util.Collections.unmodifiableList(customMetadata_);
-        } else {
-          return customMetadataBuilder_.getMessageList();
-        }
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-       */
-      public int getCustomMetadataCount() {
-        if (customMetadataBuilder_ == null) {
-          return customMetadata_.size();
-        } else {
-          return customMetadataBuilder_.getCount();
-        }
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-       */
-      public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry getCustomMetadata(int index) {
-        if (customMetadataBuilder_ == null) {
-          return customMetadata_.get(index);
-        } else {
-          return customMetadataBuilder_.getMessage(index);
-        }
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-       */
-      public Builder setCustomMetadata(
-          int index, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry value) {
-        if (customMetadataBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureCustomMetadataIsMutable();
-          customMetadata_.set(index, value);
-          onChanged();
-        } else {
-          customMetadataBuilder_.setMessage(index, value);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-       */
-      public Builder setCustomMetadata(
-          int index, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry.Builder builderForValue) {
-        if (customMetadataBuilder_ == null) {
-          ensureCustomMetadataIsMutable();
-          customMetadata_.set(index, builderForValue.build());
-          onChanged();
-        } else {
-          customMetadataBuilder_.setMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-       */
-      public Builder addCustomMetadata(org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry value) {
-        if (customMetadataBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureCustomMetadataIsMutable();
-          customMetadata_.add(value);
-          onChanged();
-        } else {
-          customMetadataBuilder_.addMessage(value);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-       */
-      public Builder addCustomMetadata(
-          int index, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry value) {
-        if (customMetadataBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureCustomMetadataIsMutable();
-          customMetadata_.add(index, value);
-          onChanged();
-        } else {
-          customMetadataBuilder_.addMessage(index, value);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-       */
-      public Builder addCustomMetadata(
-          org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry.Builder builderForValue) {
-        if (customMetadataBuilder_ == null) {
-          ensureCustomMetadataIsMutable();
-          customMetadata_.add(builderForValue.build());
-          onChanged();
-        } else {
-          customMetadataBuilder_.addMessage(builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-       */
-      public Builder addCustomMetadata(
-          int index, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry.Builder builderForValue) {
-        if (customMetadataBuilder_ == null) {
-          ensureCustomMetadataIsMutable();
-          customMetadata_.add(index, builderForValue.build());
-          onChanged();
-        } else {
-          customMetadataBuilder_.addMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-       */
-      public Builder addAllCustomMetadata(
-          java.lang.Iterable<? extends org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry> values) {
-        if (customMetadataBuilder_ == null) {
-          ensureCustomMetadataIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, customMetadata_);
-          onChanged();
-        } else {
-          customMetadataBuilder_.addAllMessages(values);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-       */
-      public Builder clearCustomMetadata() {
-        if (customMetadataBuilder_ == null) {
-          customMetadata_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000400);
-          onChanged();
-        } else {
-          customMetadataBuilder_.clear();
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-       */
-      public Builder removeCustomMetadata(int index) {
-        if (customMetadataBuilder_ == null) {
-          ensureCustomMetadataIsMutable();
-          customMetadata_.remove(index);
-          onChanged();
-        } else {
-          customMetadataBuilder_.remove(index);
-        }
-        return this;
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-       */
-      public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry.Builder getCustomMetadataBuilder(
-          int index) {
-        return getCustomMetadataFieldBuilder().getBuilder(index);
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-       */
-      public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntryOrBuilder getCustomMetadataOrBuilder(
-          int index) {
-        if (customMetadataBuilder_ == null) {
-          return customMetadata_.get(index);  } else {
-          return customMetadataBuilder_.getMessageOrBuilder(index);
-        }
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-       */
-      public java.util.List<? extends org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntryOrBuilder> 
-           getCustomMetadataOrBuilderList() {
-        if (customMetadataBuilder_ != null) {
-          return customMetadataBuilder_.getMessageOrBuilderList();
-        } else {
-          return java.util.Collections.unmodifiableList(customMetadata_);
-        }
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-       */
-      public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry.Builder addCustomMetadataBuilder() {
-        return getCustomMetadataFieldBuilder().addBuilder(
-            org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry.getDefaultInstance());
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-       */
-      public org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry.Builder addCustomMetadataBuilder(
-          int index) {
-        return getCustomMetadataFieldBuilder().addBuilder(
-            index, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry.getDefaultInstance());
-      }
-      /**
-       * <code>repeated .LedgerMetadataFormat.cMetadataMapEntry customMetadata = 11;</code>
-       */
-      public java.util.List<org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry.Builder> 
-           getCustomMetadataBuilderList() {
-        return getCustomMetadataFieldBuilder().getBuilderList();
-      }
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry.Builder, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntryOrBuilder> 
-          getCustomMetadataFieldBuilder() {
-        if (customMetadataBuilder_ == null) {
-          customMetadataBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntry.Builder, org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.cMetadataMapEntryOrBuilder>(
-                  customMetadata_,
-                  ((bitField0_ & 0x00000400) == 0x00000400),
-                  getParentForChildren(),
-                  isClean());
-          customMetadata_ = null;
-        }
-        return customMetadataBuilder_;
-      }
-
-      // @@protoc_insertion_point(builder_scope:LedgerMetadataFormat)
-    }
-
-    static {
-      defaultInstance = new LedgerMetadataFormat(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:LedgerMetadataFormat)
-  }
-
-  public interface LedgerRereplicationLayoutFormatOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:LedgerRereplicationLayoutFormat)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>required string type = 1;</code>
-     */
-    boolean hasType();
-    /**
-     * <code>required string type = 1;</code>
-     */
-    java.lang.String getType();
-    /**
-     * <code>required string type = 1;</code>
-     */
-    com.google.protobuf.ByteString
-        getTypeBytes();
-
-    /**
-     * <code>required int32 version = 2;</code>
-     */
-    boolean hasVersion();
-    /**
-     * <code>required int32 version = 2;</code>
-     */
-    int getVersion();
-  }
-  /**
-   * Protobuf type {@code LedgerRereplicationLayoutFormat}
-   */
-  public static final class LedgerRereplicationLayoutFormat extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:LedgerRereplicationLayoutFormat)
-      LedgerRereplicationLayoutFormatOrBuilder {
-    // Use LedgerRereplicationLayoutFormat.newBuilder() to construct.
-    private LedgerRereplicationLayoutFormat(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private LedgerRereplicationLayoutFormat(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final LedgerRereplicationLayoutFormat defaultInstance;
-    public static LedgerRereplicationLayoutFormat getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public LedgerRereplicationLayoutFormat getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private LedgerRereplicationLayoutFormat(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 10: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000001;
-              type_ = bs;
-              break;
-            }
-            case 16: {
-              bitField0_ |= 0x00000002;
-              version_ = input.readInt32();
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.DataFormats.internal_static_LedgerRereplicationLayoutFormat_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.DataFormats.internal_static_LedgerRereplicationLayoutFormat_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat.class, org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<LedgerRereplicationLayoutFormat> PARSER =
-        new com.google.protobuf.AbstractParser<LedgerRereplicationLayoutFormat>() {
-      public LedgerRereplicationLayoutFormat parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new LedgerRereplicationLayoutFormat(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<LedgerRereplicationLayoutFormat> getParserForType() {
-      return PARSER;
-    }
-
-    private int bitField0_;
-    public static final int TYPE_FIELD_NUMBER = 1;
-    private java.lang.Object type_;
-    /**
-     * <code>required string type = 1;</code>
-     */
-    public boolean hasType() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>required string type = 1;</code>
-     */
-    public java.lang.String getType() {
-      java.lang.Object ref = type_;
-      if (ref instanceof java.lang.String) {
-        return (java.lang.String) ref;
-      } else {
-        com.google.protobuf.ByteString bs = 
-            (com.google.protobuf.ByteString) ref;
-        java.lang.String s = bs.toStringUtf8();
-        if (bs.isValidUtf8()) {
-          type_ = s;
-        }
-        return s;
-      }
-    }
-    /**
-     * <code>required string type = 1;</code>
-     */
-    public com.google.protobuf.ByteString
-        getTypeBytes() {
-      java.lang.Object ref = type_;
-      if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        type_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-
-    public static final int VERSION_FIELD_NUMBER = 2;
-    private int version_;
-    /**
-     * <code>required int32 version = 2;</code>
-     */
-    public boolean hasVersion() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * <code>required int32 version = 2;</code>
-     */
-    public int getVersion() {
-      return version_;
-    }
-
-    private void initFields() {
-      type_ = "";
-      version_ = 0;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      if (!hasType()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasVersion()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeBytes(1, getTypeBytes());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeInt32(2, version_);
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(1, getTypeBytes());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt32Size(2, version_);
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code LedgerRereplicationLayoutFormat}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:LedgerRereplicationLayoutFormat)
-        org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormatOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_LedgerRereplicationLayoutFormat_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_LedgerRereplicationLayoutFormat_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat.class, org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        type_ = "";
-        bitField0_ = (bitField0_ & ~0x00000001);
-        version_ = 0;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_LedgerRereplicationLayoutFormat_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat build() {
-        org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat buildPartial() {
-        org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat result = new org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat(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;
-        }
-        result.version_ = version_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat) {
-          return mergeFrom((org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat other) {
-        if (other == org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat.getDefaultInstance()) return this;
-        if (other.hasType()) {
-          bitField0_ |= 0x00000001;
-          type_ = other.type_;
-          onChanged();
-        }
-        if (other.hasVersion()) {
-          setVersion(other.getVersion());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasType()) {
-          
-          return false;
-        }
-        if (!hasVersion()) {
-          
-          return false;
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.DataFormats.LedgerRereplicationLayoutFormat) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      private java.lang.Object type_ = "";
-      /**
-       * <code>required string type = 1;</code>
-       */
-      public boolean hasType() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required string type = 1;</code>
-       */
-      public java.lang.String getType() {
-        java.lang.Object ref = type_;
-        if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            type_ = s;
-          }
-          return s;
-        } else {
-          return (java.lang.String) ref;
-        }
-      }
-      /**
-       * <code>required string type = 1;</code>
-       */
-      public com.google.protobuf.ByteString
-          getTypeBytes() {
-        java.lang.Object ref = type_;
-        if (ref instanceof String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (java.lang.String) ref);
-          type_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
-        }
-      }
-      /**
-       * <code>required string type = 1;</code>
-       */
-      public Builder setType(
-          java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        type_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required string type = 1;</code>
-       */
-      public Builder clearType() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        type_ = getDefaultInstance().getType();
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required string type = 1;</code>
-       */
-      public Builder setTypeBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        type_ = value;
-        onChanged();
-        return this;
-      }
-
-      private int version_ ;
-      /**
-       * <code>required int32 version = 2;</code>
-       */
-      public boolean hasVersion() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>required int32 version = 2;</code>
-       */
-      public int getVersion() {
-        return version_;
-      }
-      /**
-       * <code>required int32 version = 2;</code>
-       */
-      public Builder setVersion(int value) {
-        bitField0_ |= 0x00000002;
-        version_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required int32 version = 2;</code>
-       */
-      public Builder clearVersion() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        version_ = 0;
-        onChanged();
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:LedgerRereplicationLayoutFormat)
-    }
-
-    static {
-      defaultInstance = new LedgerRereplicationLayoutFormat(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:LedgerRereplicationLayoutFormat)
-  }
-
-  public interface UnderreplicatedLedgerFormatOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:UnderreplicatedLedgerFormat)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>repeated string replica = 1;</code>
-     */
-    com.google.protobuf.ProtocolStringList
-        getReplicaList();
-    /**
-     * <code>repeated string replica = 1;</code>
-     */
-    int getReplicaCount();
-    /**
-     * <code>repeated string replica = 1;</code>
-     */
-    java.lang.String getReplica(int index);
-    /**
-     * <code>repeated string replica = 1;</code>
-     */
-    com.google.protobuf.ByteString
-        getReplicaBytes(int index);
-  }
-  /**
-   * Protobuf type {@code UnderreplicatedLedgerFormat}
-   */
-  public static final class UnderreplicatedLedgerFormat extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:UnderreplicatedLedgerFormat)
-      UnderreplicatedLedgerFormatOrBuilder {
-    // Use UnderreplicatedLedgerFormat.newBuilder() to construct.
-    private UnderreplicatedLedgerFormat(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private UnderreplicatedLedgerFormat(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final UnderreplicatedLedgerFormat defaultInstance;
-    public static UnderreplicatedLedgerFormat getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public UnderreplicatedLedgerFormat getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private UnderreplicatedLedgerFormat(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 10: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
-                replica_ = new com.google.protobuf.LazyStringArrayList();
-                mutable_bitField0_ |= 0x00000001;
-              }
-              replica_.add(bs);
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
-          replica_ = replica_.getUnmodifiableView();
-        }
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.DataFormats.internal_static_UnderreplicatedLedgerFormat_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.DataFormats.internal_static_UnderreplicatedLedgerFormat_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat.class, org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<UnderreplicatedLedgerFormat> PARSER =
-        new com.google.protobuf.AbstractParser<UnderreplicatedLedgerFormat>() {
-      public UnderreplicatedLedgerFormat parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new UnderreplicatedLedgerFormat(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<UnderreplicatedLedgerFormat> getParserForType() {
-      return PARSER;
-    }
-
-    public static final int REPLICA_FIELD_NUMBER = 1;
-    private com.google.protobuf.LazyStringList replica_;
-    /**
-     * <code>repeated string replica = 1;</code>
-     */
-    public com.google.protobuf.ProtocolStringList
-        getReplicaList() {
-      return replica_;
-    }
-    /**
-     * <code>repeated string replica = 1;</code>
-     */
-    public int getReplicaCount() {
-      return replica_.size();
-    }
-    /**
-     * <code>repeated string replica = 1;</code>
-     */
-    public java.lang.String getReplica(int index) {
-      return replica_.get(index);
-    }
-    /**
-     * <code>repeated string replica = 1;</code>
-     */
-    public com.google.protobuf.ByteString
-        getReplicaBytes(int index) {
-      return replica_.getByteString(index);
-    }
-
-    private void initFields() {
-      replica_ = com.google.protobuf.LazyStringArrayList.EMPTY;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      for (int i = 0; i < replica_.size(); i++) {
-        output.writeBytes(1, replica_.getByteString(i));
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      {
-        int dataSize = 0;
-        for (int i = 0; i < replica_.size(); i++) {
-          dataSize += com.google.protobuf.CodedOutputStream
-            .computeBytesSizeNoTag(replica_.getByteString(i));
-        }
-        size += dataSize;
-        size += 1 * getReplicaList().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 org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code UnderreplicatedLedgerFormat}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:UnderreplicatedLedgerFormat)
-        org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormatOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_UnderreplicatedLedgerFormat_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_UnderreplicatedLedgerFormat_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat.class, org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        replica_ = com.google.protobuf.LazyStringArrayList.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_UnderreplicatedLedgerFormat_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat build() {
-        org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat buildPartial() {
-        org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat result = new org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat(this);
-        int from_bitField0_ = bitField0_;
-        if (((bitField0_ & 0x00000001) == 0x00000001)) {
-          replica_ = replica_.getUnmodifiableView();
-          bitField0_ = (bitField0_ & ~0x00000001);
-        }
-        result.replica_ = replica_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat) {
-          return mergeFrom((org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat other) {
-        if (other == org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat.getDefaultInstance()) return this;
-        if (!other.replica_.isEmpty()) {
-          if (replica_.isEmpty()) {
-            replica_ = other.replica_;
-            bitField0_ = (bitField0_ & ~0x00000001);
-          } else {
-            ensureReplicaIsMutable();
-            replica_.addAll(other.replica_);
-          }
-          onChanged();
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.DataFormats.UnderreplicatedLedgerFormat) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      private com.google.protobuf.LazyStringList replica_ = com.google.protobuf.LazyStringArrayList.EMPTY;
-      private void ensureReplicaIsMutable() {
-        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
-          replica_ = new com.google.protobuf.LazyStringArrayList(replica_);
-          bitField0_ |= 0x00000001;
-         }
-      }
-      /**
-       * <code>repeated string replica = 1;</code>
-       */
-      public com.google.protobuf.ProtocolStringList
-          getReplicaList() {
-        return replica_.getUnmodifiableView();
-      }
-      /**
-       * <code>repeated string replica = 1;</code>
-       */
-      public int getReplicaCount() {
-        return replica_.size();
-      }
-      /**
-       * <code>repeated string replica = 1;</code>
-       */
-      public java.lang.String getReplica(int index) {
-        return replica_.get(index);
-      }
-      /**
-       * <code>repeated string replica = 1;</code>
-       */
-      public com.google.protobuf.ByteString
-          getReplicaBytes(int index) {
-        return replica_.getByteString(index);
-      }
-      /**
-       * <code>repeated string replica = 1;</code>
-       */
-      public Builder setReplica(
-          int index, java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  ensureReplicaIsMutable();
-        replica_.set(index, value);
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>repeated string replica = 1;</code>
-       */
-      public Builder addReplica(
-          java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  ensureReplicaIsMutable();
-        replica_.add(value);
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>repeated string replica = 1;</code>
-       */
-      public Builder addAllReplica(
-          java.lang.Iterable<java.lang.String> values) {
-        ensureReplicaIsMutable();
-        com.google.protobuf.AbstractMessageLite.Builder.addAll(
-            values, replica_);
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>repeated string replica = 1;</code>
-       */
-      public Builder clearReplica() {
-        replica_ = com.google.protobuf.LazyStringArrayList.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>repeated string replica = 1;</code>
-       */
-      public Builder addReplicaBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  ensureReplicaIsMutable();
-        replica_.add(value);
-        onChanged();
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:UnderreplicatedLedgerFormat)
-    }
-
-    static {
-      defaultInstance = new UnderreplicatedLedgerFormat(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:UnderreplicatedLedgerFormat)
-  }
-
-  public interface CookieFormatOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:CookieFormat)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>required string bookieHost = 1;</code>
-     */
-    boolean hasBookieHost();
-    /**
-     * <code>required string bookieHost = 1;</code>
-     */
-    java.lang.String getBookieHost();
-    /**
-     * <code>required string bookieHost = 1;</code>
-     */
-    com.google.protobuf.ByteString
-        getBookieHostBytes();
-
-    /**
-     * <code>required string journalDir = 2;</code>
-     */
-    boolean hasJournalDir();
-    /**
-     * <code>required string journalDir = 2;</code>
-     */
-    java.lang.String getJournalDir();
-    /**
-     * <code>required string journalDir = 2;</code>
-     */
-    com.google.protobuf.ByteString
-        getJournalDirBytes();
-
-    /**
-     * <code>required string ledgerDirs = 3;</code>
-     */
-    boolean hasLedgerDirs();
-    /**
-     * <code>required string ledgerDirs = 3;</code>
-     */
-    java.lang.String getLedgerDirs();
-    /**
-     * <code>required string ledgerDirs = 3;</code>
-     */
-    com.google.protobuf.ByteString
-        getLedgerDirsBytes();
-
-    /**
-     * <code>optional string instanceId = 4;</code>
-     */
-    boolean hasInstanceId();
-    /**
-     * <code>optional string instanceId = 4;</code>
-     */
-    java.lang.String getInstanceId();
-    /**
-     * <code>optional string instanceId = 4;</code>
-     */
-    com.google.protobuf.ByteString
-        getInstanceIdBytes();
-  }
-  /**
-   * Protobuf type {@code CookieFormat}
-   *
-   * <pre>
-   **
-   * Cookie format for storing cookie information
-   * </pre>
-   */
-  public static final class CookieFormat extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:CookieFormat)
-      CookieFormatOrBuilder {
-    // Use CookieFormat.newBuilder() to construct.
-    private CookieFormat(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private CookieFormat(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final CookieFormat defaultInstance;
-    public static CookieFormat getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public CookieFormat getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private CookieFormat(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 10: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000001;
-              bookieHost_ = bs;
-              break;
-            }
-            case 18: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000002;
-              journalDir_ = bs;
-              break;
-            }
-            case 26: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000004;
-              ledgerDirs_ = bs;
-              break;
-            }
-            case 34: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000008;
-              instanceId_ = bs;
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.DataFormats.internal_static_CookieFormat_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.DataFormats.internal_static_CookieFormat_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.DataFormats.CookieFormat.class, org.apache.bookkeeper.proto.DataFormats.CookieFormat.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<CookieFormat> PARSER =
-        new com.google.protobuf.AbstractParser<CookieFormat>() {
-      public CookieFormat parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new CookieFormat(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<CookieFormat> getParserForType() {
-      return PARSER;
-    }
-
-    private int bitField0_;
-    public static final int BOOKIEHOST_FIELD_NUMBER = 1;
-    private java.lang.Object bookieHost_;
-    /**
-     * <code>required string bookieHost = 1;</code>
-     */
-    public boolean hasBookieHost() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>required string bookieHost = 1;</code>
-     */
-    public java.lang.String getBookieHost() {
-      java.lang.Object ref = bookieHost_;
-      if (ref instanceof java.lang.String) {
-        return (java.lang.String) ref;
-      } else {
-        com.google.protobuf.ByteString bs = 
-            (com.google.protobuf.ByteString) ref;
-        java.lang.String s = bs.toStringUtf8();
-        if (bs.isValidUtf8()) {
-          bookieHost_ = s;
-        }
-        return s;
-      }
-    }
-    /**
-     * <code>required string bookieHost = 1;</code>
-     */
-    public com.google.protobuf.ByteString
-        getBookieHostBytes() {
-      java.lang.Object ref = bookieHost_;
-      if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        bookieHost_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-
-    public static final int JOURNALDIR_FIELD_NUMBER = 2;
-    private java.lang.Object journalDir_;
-    /**
-     * <code>required string journalDir = 2;</code>
-     */
-    public boolean hasJournalDir() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * <code>required string journalDir = 2;</code>
-     */
-    public java.lang.String getJournalDir() {
-      java.lang.Object ref = journalDir_;
-      if (ref instanceof java.lang.String) {
-        return (java.lang.String) ref;
-      } else {
-        com.google.protobuf.ByteString bs = 
-            (com.google.protobuf.ByteString) ref;
-        java.lang.String s = bs.toStringUtf8();
-        if (bs.isValidUtf8()) {
-          journalDir_ = s;
-        }
-        return s;
-      }
-    }
-    /**
-     * <code>required string journalDir = 2;</code>
-     */
-    public com.google.protobuf.ByteString
-        getJournalDirBytes() {
-      java.lang.Object ref = journalDir_;
-      if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        journalDir_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-
-    public static final int LEDGERDIRS_FIELD_NUMBER = 3;
-    private java.lang.Object ledgerDirs_;
-    /**
-     * <code>required string ledgerDirs = 3;</code>
-     */
-    public boolean hasLedgerDirs() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    /**
-     * <code>required string ledgerDirs = 3;</code>
-     */
-    public java.lang.String getLedgerDirs() {
-      java.lang.Object ref = ledgerDirs_;
-      if (ref instanceof java.lang.String) {
-        return (java.lang.String) ref;
-      } else {
-        com.google.protobuf.ByteString bs = 
-            (com.google.protobuf.ByteString) ref;
-        java.lang.String s = bs.toStringUtf8();
-        if (bs.isValidUtf8()) {
-          ledgerDirs_ = s;
-        }
-        return s;
-      }
-    }
-    /**
-     * <code>required string ledgerDirs = 3;</code>
-     */
-    public com.google.protobuf.ByteString
-        getLedgerDirsBytes() {
-      java.lang.Object ref = ledgerDirs_;
-      if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        ledgerDirs_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-
-    public static final int INSTANCEID_FIELD_NUMBER = 4;
-    private java.lang.Object instanceId_;
-    /**
-     * <code>optional string instanceId = 4;</code>
-     */
-    public boolean hasInstanceId() {
-      return ((bitField0_ & 0x00000008) == 0x00000008);
-    }
-    /**
-     * <code>optional string instanceId = 4;</code>
-     */
-    public java.lang.String getInstanceId() {
-      java.lang.Object ref = instanceId_;
-      if (ref instanceof java.lang.String) {
-        return (java.lang.String) ref;
-      } else {
-        com.google.protobuf.ByteString bs = 
-            (com.google.protobuf.ByteString) ref;
-        java.lang.String s = bs.toStringUtf8();
-        if (bs.isValidUtf8()) {
-          instanceId_ = s;
-        }
-        return s;
-      }
-    }
-    /**
-     * <code>optional string instanceId = 4;</code>
-     */
-    public com.google.protobuf.ByteString
-        getInstanceIdBytes() {
-      java.lang.Object ref = instanceId_;
-      if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        instanceId_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-
-    private void initFields() {
-      bookieHost_ = "";
-      journalDir_ = "";
-      ledgerDirs_ = "";
-      instanceId_ = "";
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      if (!hasBookieHost()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasJournalDir()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasLedgerDirs()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeBytes(1, getBookieHostBytes());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeBytes(2, getJournalDirBytes());
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeBytes(3, getLedgerDirsBytes());
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        output.writeBytes(4, getInstanceIdBytes());
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(1, getBookieHostBytes());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(2, getJournalDirBytes());
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(3, getLedgerDirsBytes());
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(4, getInstanceIdBytes());
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static org.apache.bookkeeper.proto.DataFormats.CookieFormat parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.CookieFormat parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.CookieFormat parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.CookieFormat parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.CookieFormat parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.CookieFormat parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.CookieFormat parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.CookieFormat parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.CookieFormat parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.CookieFormat parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.DataFormats.CookieFormat prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code CookieFormat}
-     *
-     * <pre>
-     **
-     * Cookie format for storing cookie information
-     * </pre>
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:CookieFormat)
-        org.apache.bookkeeper.proto.DataFormats.CookieFormatOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_CookieFormat_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_CookieFormat_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.DataFormats.CookieFormat.class, org.apache.bookkeeper.proto.DataFormats.CookieFormat.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.DataFormats.CookieFormat.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        bookieHost_ = "";
-        bitField0_ = (bitField0_ & ~0x00000001);
-        journalDir_ = "";
-        bitField0_ = (bitField0_ & ~0x00000002);
-        ledgerDirs_ = "";
-        bitField0_ = (bitField0_ & ~0x00000004);
-        instanceId_ = "";
-        bitField0_ = (bitField0_ & ~0x00000008);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_CookieFormat_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.DataFormats.CookieFormat getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.DataFormats.CookieFormat.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.DataFormats.CookieFormat build() {
-        org.apache.bookkeeper.proto.DataFormats.CookieFormat result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.DataFormats.CookieFormat buildPartial() {
-        org.apache.bookkeeper.proto.DataFormats.CookieFormat result = new org.apache.bookkeeper.proto.DataFormats.CookieFormat(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.bookieHost_ = bookieHost_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.journalDir_ = journalDir_;
-        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-          to_bitField0_ |= 0x00000004;
-        }
-        result.ledgerDirs_ = ledgerDirs_;
-        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
-          to_bitField0_ |= 0x00000008;
-        }
-        result.instanceId_ = instanceId_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.DataFormats.CookieFormat) {
-          return mergeFrom((org.apache.bookkeeper.proto.DataFormats.CookieFormat)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.DataFormats.CookieFormat other) {
-        if (other == org.apache.bookkeeper.proto.DataFormats.CookieFormat.getDefaultInstance()) return this;
-        if (other.hasBookieHost()) {
-          bitField0_ |= 0x00000001;
-          bookieHost_ = other.bookieHost_;
-          onChanged();
-        }
-        if (other.hasJournalDir()) {
-          bitField0_ |= 0x00000002;
-          journalDir_ = other.journalDir_;
-          onChanged();
-        }
-        if (other.hasLedgerDirs()) {
-          bitField0_ |= 0x00000004;
-          ledgerDirs_ = other.ledgerDirs_;
-          onChanged();
-        }
-        if (other.hasInstanceId()) {
-          bitField0_ |= 0x00000008;
-          instanceId_ = other.instanceId_;
-          onChanged();
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        if (!hasBookieHost()) {
-          
-          return false;
-        }
-        if (!hasJournalDir()) {
-          
-          return false;
-        }
-        if (!hasLedgerDirs()) {
-          
-          return false;
-        }
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.DataFormats.CookieFormat parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.DataFormats.CookieFormat) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      private java.lang.Object bookieHost_ = "";
-      /**
-       * <code>required string bookieHost = 1;</code>
-       */
-      public boolean hasBookieHost() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>required string bookieHost = 1;</code>
-       */
-      public java.lang.String getBookieHost() {
-        java.lang.Object ref = bookieHost_;
-        if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            bookieHost_ = s;
-          }
-          return s;
-        } else {
-          return (java.lang.String) ref;
-        }
-      }
-      /**
-       * <code>required string bookieHost = 1;</code>
-       */
-      public com.google.protobuf.ByteString
-          getBookieHostBytes() {
-        java.lang.Object ref = bookieHost_;
-        if (ref instanceof String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (java.lang.String) ref);
-          bookieHost_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
-        }
-      }
-      /**
-       * <code>required string bookieHost = 1;</code>
-       */
-      public Builder setBookieHost(
-          java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        bookieHost_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required string bookieHost = 1;</code>
-       */
-      public Builder clearBookieHost() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        bookieHost_ = getDefaultInstance().getBookieHost();
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required string bookieHost = 1;</code>
-       */
-      public Builder setBookieHostBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        bookieHost_ = value;
-        onChanged();
-        return this;
-      }
-
-      private java.lang.Object journalDir_ = "";
-      /**
-       * <code>required string journalDir = 2;</code>
-       */
-      public boolean hasJournalDir() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * <code>required string journalDir = 2;</code>
-       */
-      public java.lang.String getJournalDir() {
-        java.lang.Object ref = journalDir_;
-        if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            journalDir_ = s;
-          }
-          return s;
-        } else {
-          return (java.lang.String) ref;
-        }
-      }
-      /**
-       * <code>required string journalDir = 2;</code>
-       */
-      public com.google.protobuf.ByteString
-          getJournalDirBytes() {
-        java.lang.Object ref = journalDir_;
-        if (ref instanceof String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (java.lang.String) ref);
-          journalDir_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
-        }
-      }
-      /**
-       * <code>required string journalDir = 2;</code>
-       */
-      public Builder setJournalDir(
-          java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000002;
-        journalDir_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required string journalDir = 2;</code>
-       */
-      public Builder clearJournalDir() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        journalDir_ = getDefaultInstance().getJournalDir();
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required string journalDir = 2;</code>
-       */
-      public Builder setJournalDirBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000002;
-        journalDir_ = value;
-        onChanged();
-        return this;
-      }
-
-      private java.lang.Object ledgerDirs_ = "";
-      /**
-       * <code>required string ledgerDirs = 3;</code>
-       */
-      public boolean hasLedgerDirs() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
-      }
-      /**
-       * <code>required string ledgerDirs = 3;</code>
-       */
-      public java.lang.String getLedgerDirs() {
-        java.lang.Object ref = ledgerDirs_;
-        if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            ledgerDirs_ = s;
-          }
-          return s;
-        } else {
-          return (java.lang.String) ref;
-        }
-      }
-      /**
-       * <code>required string ledgerDirs = 3;</code>
-       */
-      public com.google.protobuf.ByteString
-          getLedgerDirsBytes() {
-        java.lang.Object ref = ledgerDirs_;
-        if (ref instanceof String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (java.lang.String) ref);
-          ledgerDirs_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
-        }
-      }
-      /**
-       * <code>required string ledgerDirs = 3;</code>
-       */
-      public Builder setLedgerDirs(
-          java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000004;
-        ledgerDirs_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required string ledgerDirs = 3;</code>
-       */
-      public Builder clearLedgerDirs() {
-        bitField0_ = (bitField0_ & ~0x00000004);
-        ledgerDirs_ = getDefaultInstance().getLedgerDirs();
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>required string ledgerDirs = 3;</code>
-       */
-      public Builder setLedgerDirsBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000004;
-        ledgerDirs_ = value;
-        onChanged();
-        return this;
-      }
-
-      private java.lang.Object instanceId_ = "";
-      /**
-       * <code>optional string instanceId = 4;</code>
-       */
-      public boolean hasInstanceId() {
-        return ((bitField0_ & 0x00000008) == 0x00000008);
-      }
-      /**
-       * <code>optional string instanceId = 4;</code>
-       */
-      public java.lang.String getInstanceId() {
-        java.lang.Object ref = instanceId_;
-        if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            instanceId_ = s;
-          }
-          return s;
-        } else {
-          return (java.lang.String) ref;
-        }
-      }
-      /**
-       * <code>optional string instanceId = 4;</code>
-       */
-      public com.google.protobuf.ByteString
-          getInstanceIdBytes() {
-        java.lang.Object ref = instanceId_;
-        if (ref instanceof String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (java.lang.String) ref);
-          instanceId_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
-        }
-      }
-      /**
-       * <code>optional string instanceId = 4;</code>
-       */
-      public Builder setInstanceId(
-          java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000008;
-        instanceId_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional string instanceId = 4;</code>
-       */
-      public Builder clearInstanceId() {
-        bitField0_ = (bitField0_ & ~0x00000008);
-        instanceId_ = getDefaultInstance().getInstanceId();
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional string instanceId = 4;</code>
-       */
-      public Builder setInstanceIdBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000008;
-        instanceId_ = value;
-        onChanged();
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:CookieFormat)
-    }
-
-    static {
-      defaultInstance = new CookieFormat(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:CookieFormat)
-  }
-
-  public interface LockDataFormatOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:LockDataFormat)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>optional string bookieId = 1;</code>
-     */
-    boolean hasBookieId();
-    /**
-     * <code>optional string bookieId = 1;</code>
-     */
-    java.lang.String getBookieId();
-    /**
-     * <code>optional string bookieId = 1;</code>
-     */
-    com.google.protobuf.ByteString
-        getBookieIdBytes();
-  }
-  /**
-   * Protobuf type {@code LockDataFormat}
-   *
-   * <pre>
-   **
-   * Debug information for locks
-   * </pre>
-   */
-  public static final class LockDataFormat extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:LockDataFormat)
-      LockDataFormatOrBuilder {
-    // Use LockDataFormat.newBuilder() to construct.
-    private LockDataFormat(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private LockDataFormat(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final LockDataFormat defaultInstance;
-    public static LockDataFormat getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public LockDataFormat getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private LockDataFormat(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 10: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000001;
-              bookieId_ = bs;
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.DataFormats.internal_static_LockDataFormat_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.DataFormats.internal_static_LockDataFormat_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.DataFormats.LockDataFormat.class, org.apache.bookkeeper.proto.DataFormats.LockDataFormat.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<LockDataFormat> PARSER =
-        new com.google.protobuf.AbstractParser<LockDataFormat>() {
-      public LockDataFormat parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new LockDataFormat(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<LockDataFormat> getParserForType() {
-      return PARSER;
-    }
-
-    private int bitField0_;
-    public static final int BOOKIEID_FIELD_NUMBER = 1;
-    private java.lang.Object bookieId_;
-    /**
-     * <code>optional string bookieId = 1;</code>
-     */
-    public boolean hasBookieId() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>optional string bookieId = 1;</code>
-     */
-    public java.lang.String getBookieId() {
-      java.lang.Object ref = bookieId_;
-      if (ref instanceof java.lang.String) {
-        return (java.lang.String) ref;
-      } else {
-        com.google.protobuf.ByteString bs = 
-            (com.google.protobuf.ByteString) ref;
-        java.lang.String s = bs.toStringUtf8();
-        if (bs.isValidUtf8()) {
-          bookieId_ = s;
-        }
-        return s;
-      }
-    }
-    /**
-     * <code>optional string bookieId = 1;</code>
-     */
-    public com.google.protobuf.ByteString
-        getBookieIdBytes() {
-      java.lang.Object ref = bookieId_;
-      if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        bookieId_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-
-    private void initFields() {
-      bookieId_ = "";
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeBytes(1, getBookieIdBytes());
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(1, getBookieIdBytes());
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static org.apache.bookkeeper.proto.DataFormats.LockDataFormat parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LockDataFormat parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LockDataFormat parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LockDataFormat parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LockDataFormat parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LockDataFormat parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LockDataFormat parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LockDataFormat parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LockDataFormat parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.LockDataFormat parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.DataFormats.LockDataFormat prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code LockDataFormat}
-     *
-     * <pre>
-     **
-     * Debug information for locks
-     * </pre>
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:LockDataFormat)
-        org.apache.bookkeeper.proto.DataFormats.LockDataFormatOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_LockDataFormat_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_LockDataFormat_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.DataFormats.LockDataFormat.class, org.apache.bookkeeper.proto.DataFormats.LockDataFormat.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.DataFormats.LockDataFormat.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        bookieId_ = "";
-        bitField0_ = (bitField0_ & ~0x00000001);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_LockDataFormat_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.DataFormats.LockDataFormat getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.DataFormats.LockDataFormat.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.DataFormats.LockDataFormat build() {
-        org.apache.bookkeeper.proto.DataFormats.LockDataFormat result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.DataFormats.LockDataFormat buildPartial() {
-        org.apache.bookkeeper.proto.DataFormats.LockDataFormat result = new org.apache.bookkeeper.proto.DataFormats.LockDataFormat(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.bookieId_ = bookieId_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.DataFormats.LockDataFormat) {
-          return mergeFrom((org.apache.bookkeeper.proto.DataFormats.LockDataFormat)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.DataFormats.LockDataFormat other) {
-        if (other == org.apache.bookkeeper.proto.DataFormats.LockDataFormat.getDefaultInstance()) return this;
-        if (other.hasBookieId()) {
-          bitField0_ |= 0x00000001;
-          bookieId_ = other.bookieId_;
-          onChanged();
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.DataFormats.LockDataFormat parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.DataFormats.LockDataFormat) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      private java.lang.Object bookieId_ = "";
-      /**
-       * <code>optional string bookieId = 1;</code>
-       */
-      public boolean hasBookieId() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>optional string bookieId = 1;</code>
-       */
-      public java.lang.String getBookieId() {
-        java.lang.Object ref = bookieId_;
-        if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            bookieId_ = s;
-          }
-          return s;
-        } else {
-          return (java.lang.String) ref;
-        }
-      }
-      /**
-       * <code>optional string bookieId = 1;</code>
-       */
-      public com.google.protobuf.ByteString
-          getBookieIdBytes() {
-        java.lang.Object ref = bookieId_;
-        if (ref instanceof String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (java.lang.String) ref);
-          bookieId_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
-        }
-      }
-      /**
-       * <code>optional string bookieId = 1;</code>
-       */
-      public Builder setBookieId(
-          java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        bookieId_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional string bookieId = 1;</code>
-       */
-      public Builder clearBookieId() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        bookieId_ = getDefaultInstance().getBookieId();
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional string bookieId = 1;</code>
-       */
-      public Builder setBookieIdBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        bookieId_ = value;
-        onChanged();
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:LockDataFormat)
-    }
-
-    static {
-      defaultInstance = new LockDataFormat(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:LockDataFormat)
-  }
-
-  public interface AuditorVoteFormatOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:AuditorVoteFormat)
-      com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>optional string bookieId = 1;</code>
-     */
-    boolean hasBookieId();
-    /**
-     * <code>optional string bookieId = 1;</code>
-     */
-    java.lang.String getBookieId();
-    /**
-     * <code>optional string bookieId = 1;</code>
-     */
-    com.google.protobuf.ByteString
-        getBookieIdBytes();
-  }
-  /**
-   * Protobuf type {@code AuditorVoteFormat}
-   *
-   * <pre>
-   **
-   * Debug information for auditor votes
-   * </pre>
-   */
-  public static final class AuditorVoteFormat extends
-      com.google.protobuf.GeneratedMessage implements
-      // @@protoc_insertion_point(message_implements:AuditorVoteFormat)
-      AuditorVoteFormatOrBuilder {
-    // Use AuditorVoteFormat.newBuilder() to construct.
-    private AuditorVoteFormat(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
-      super(builder);
-      this.unknownFields = builder.getUnknownFields();
-    }
-    private AuditorVoteFormat(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
-
-    private static final AuditorVoteFormat defaultInstance;
-    public static AuditorVoteFormat getDefaultInstance() {
-      return defaultInstance;
-    }
-
-    public AuditorVoteFormat getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-
-    private final com.google.protobuf.UnknownFieldSet unknownFields;
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-        getUnknownFields() {
-      return this.unknownFields;
-    }
-    private AuditorVoteFormat(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      initFields();
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-            case 10: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000001;
-              bookieId_ = bs;
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e.getMessage()).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.proto.DataFormats.internal_static_AuditorVoteFormat_descriptor;
-    }
-
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.proto.DataFormats.internal_static_AuditorVoteFormat_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat.class, org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat.Builder.class);
-    }
-
-    public static com.google.protobuf.Parser<AuditorVoteFormat> PARSER =
-        new com.google.protobuf.AbstractParser<AuditorVoteFormat>() {
-      public AuditorVoteFormat parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return new AuditorVoteFormat(input, extensionRegistry);
-      }
-    };
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<AuditorVoteFormat> getParserForType() {
-      return PARSER;
-    }
-
-    private int bitField0_;
-    public static final int BOOKIEID_FIELD_NUMBER = 1;
-    private java.lang.Object bookieId_;
-    /**
-     * <code>optional string bookieId = 1;</code>
-     */
-    public boolean hasBookieId() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * <code>optional string bookieId = 1;</code>
-     */
-    public java.lang.String getBookieId() {
-      java.lang.Object ref = bookieId_;
-      if (ref instanceof java.lang.String) {
-        return (java.lang.String) ref;
-      } else {
-        com.google.protobuf.ByteString bs = 
-            (com.google.protobuf.ByteString) ref;
-        java.lang.String s = bs.toStringUtf8();
-        if (bs.isValidUtf8()) {
-          bookieId_ = s;
-        }
-        return s;
-      }
-    }
-    /**
-     * <code>optional string bookieId = 1;</code>
-     */
-    public com.google.protobuf.ByteString
-        getBookieIdBytes() {
-      java.lang.Object ref = bookieId_;
-      if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        bookieId_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-
-    private void initFields() {
-      bookieId_ = "";
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized == 1) return true;
-      if (isInitialized == 0) return false;
-
-      memoizedIsInitialized = 1;
-      return true;
-    }
-
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeBytes(1, getBookieIdBytes());
-      }
-      getUnknownFields().writeTo(output);
-    }
-
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-
-      size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(1, getBookieIdBytes());
-      }
-      size += getUnknownFields().getSerializedSize();
-      memoizedSerializedSize = size;
-      return size;
-    }
-
-    private static final long serialVersionUID = 0L;
-    @java.lang.Override
-    protected java.lang.Object writeReplace()
-        throws java.io.ObjectStreamException {
-      return super.writeReplace();
-    }
-
-    public static org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return PARSER.parseFrom(data, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input);
-    }
-    public static org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
-    }
-
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-      Builder builder = new Builder(parent);
-      return builder;
-    }
-    /**
-     * Protobuf type {@code AuditorVoteFormat}
-     *
-     * <pre>
-     **
-     * Debug information for auditor votes
-     * </pre>
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
-        // @@protoc_insertion_point(builder_implements:AuditorVoteFormat)
-        org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormatOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_AuditorVoteFormat_descriptor;
-      }
-
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_AuditorVoteFormat_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat.class, org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat.Builder.class);
-      }
-
-      // Construct using org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-
-      private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-
-      public Builder clear() {
-        super.clear();
-        bookieId_ = "";
-        bitField0_ = (bitField0_ & ~0x00000001);
-        return this;
-      }
-
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.proto.DataFormats.internal_static_AuditorVoteFormat_descriptor;
-      }
-
-      public org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat getDefaultInstanceForType() {
-        return org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat.getDefaultInstance();
-      }
-
-      public org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat build() {
-        org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-
-      public org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat buildPartial() {
-        org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat result = new org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.bookieId_ = bookieId_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat) {
-          return mergeFrom((org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-
-      public Builder mergeFrom(org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat other) {
-        if (other == org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat.getDefaultInstance()) return this;
-        if (other.hasBookieId()) {
-          bitField0_ |= 0x00000001;
-          bookieId_ = other.bookieId_;
-          onChanged();
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-
-      public final boolean isInitialized() {
-        return true;
-      }
-
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat parsedMessage = null;
-        try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.bookkeeper.proto.DataFormats.AuditorVoteFormat) e.getUnfinishedMessage();
-          throw e;
-        } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
-        return this;
-      }
-      private int bitField0_;
-
-      private java.lang.Object bookieId_ = "";
-      /**
-       * <code>optional string bookieId = 1;</code>
-       */
-      public boolean hasBookieId() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * <code>optional string bookieId = 1;</code>
-       */
-      public java.lang.String getBookieId() {
-        java.lang.Object ref = bookieId_;
-        if (!(ref instanceof java.lang.String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
-          java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            bookieId_ = s;
-          }
-          return s;
-        } else {
-          return (java.lang.String) ref;
-        }
-      }
-      /**
-       * <code>optional string bookieId = 1;</code>
-       */
-      public com.google.protobuf.ByteString
-          getBookieIdBytes() {
-        java.lang.Object ref = bookieId_;
-        if (ref instanceof String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (java.lang.String) ref);
-          bookieId_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
-        }
-      }
-      /**
-       * <code>optional string bookieId = 1;</code>
-       */
-      public Builder setBookieId(
-          java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        bookieId_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional string bookieId = 1;</code>
-       */
-      public Builder clearBookieId() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        bookieId_ = getDefaultInstance().getBookieId();
-        onChanged();
-        return this;
-      }
-      /**
-       * <code>optional string bookieId = 1;</code>
-       */
-      public Builder setBookieIdBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        bookieId_ = value;
-        onChanged();
-        return this;
-      }
-
-      // @@protoc_insertion_point(builder_scope:AuditorVoteFormat)
-    }
-
-    static {
-      defaultInstance = new AuditorVoteFormat(true);
-      defaultInstance.initFields();
-    }
-
-    // @@protoc_insertion_point(class_scope:AuditorVoteFormat)
-  }
-
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_LedgerMetadataFormat_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_LedgerMetadataFormat_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_LedgerMetadataFormat_Segment_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_LedgerMetadataFormat_Segment_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_LedgerMetadataFormat_cMetadataMapEntry_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_LedgerMetadataFormat_cMetadataMapEntry_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_LedgerRereplicationLayoutFormat_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_LedgerRereplicationLayoutFormat_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_UnderreplicatedLedgerFormat_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_UnderreplicatedLedgerFormat_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_CookieFormat_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_CookieFormat_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_LockDataFormat_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_LockDataFormat_fieldAccessorTable;
-  private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_AuditorVoteFormat_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_AuditorVoteFormat_fieldAccessorTable;
-
-  public static com.google.protobuf.Descriptors.FileDescriptor
-      getDescriptor() {
-    return descriptor;
-  }
-  private static com.google.protobuf.Descriptors.FileDescriptor
-      descriptor;
-  static {
-    java.lang.String[] descriptorData = {
-      "\n src/main/proto/DataFormats.proto\"\263\004\n\024L" +
-      "edgerMetadataFormat\022\022\n\nquorumSize\030\001 \002(\005\022" +
-      "\024\n\014ensembleSize\030\002 \002(\005\022\016\n\006length\030\003 \002(\003\022\023\n" +
-      "\013lastEntryId\030\004 \001(\003\0220\n\005state\030\005 \002(\0162\033.Ledg" +
-      "erMetadataFormat.State:\004OPEN\022.\n\007segment\030" +
-      "\006 \003(\0132\035.LedgerMetadataFormat.Segment\0224\n\n" +
-      "digestType\030\007 \001(\0162 .LedgerMetadataFormat." +
-      "DigestType\022\020\n\010password\030\010 \001(\014\022\025\n\rackQuoru" +
-      "mSize\030\t \001(\005\022\r\n\005ctime\030\n \001(\003\022?\n\016customMeta" +
-      "data\030\013 \003(\0132\'.LedgerMetadataFormat.cMetad",
-      "ataMapEntry\0327\n\007Segment\022\026\n\016ensembleMember" +
-      "\030\001 \003(\t\022\024\n\014firstEntryId\030\002 \002(\003\032/\n\021cMetadat" +
-      "aMapEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\014\".\n" +
-      "\005State\022\010\n\004OPEN\020\001\022\017\n\013IN_RECOVERY\020\002\022\n\n\006CLO" +
-      "SED\020\003\"!\n\nDigestType\022\t\n\005CRC32\020\001\022\010\n\004HMAC\020\002" +
-      "\"@\n\037LedgerRereplicationLayoutFormat\022\014\n\004t" +
-      "ype\030\001 \002(\t\022\017\n\007version\030\002 \002(\005\".\n\033Underrepli" +
-      "catedLedgerFormat\022\017\n\007replica\030\001 \003(\t\"^\n\014Co" +
-      "okieFormat\022\022\n\nbookieHost\030\001 \002(\t\022\022\n\njourna" +
-      "lDir\030\002 \002(\t\022\022\n\nledgerDirs\030\003 \002(\t\022\022\n\ninstan",
-      "ceId\030\004 \001(\t\"\"\n\016LockDataFormat\022\020\n\010bookieId" +
-      "\030\001 \001(\t\"%\n\021AuditorVoteFormat\022\020\n\010bookieId\030" +
-      "\001 \001(\tB\037\n\033org.apache.bookkeeper.protoH\001"
-    };
-    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
-        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
-          public com.google.protobuf.ExtensionRegistry assignDescriptors(
-              com.google.protobuf.Descriptors.FileDescriptor root) {
-            descriptor = root;
-            return null;
-          }
-        };
-    com.google.protobuf.Descriptors.FileDescriptor
-      .internalBuildGeneratedFileFrom(descriptorData,
-        new com.google.protobuf.Descriptors.FileDescriptor[] {
-        }, assigner);
-    internal_static_LedgerMetadataFormat_descriptor =
-      getDescriptor().getMessageTypes().get(0);
-    internal_static_LedgerMetadataFormat_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_LedgerMetadataFormat_descriptor,
-        new java.lang.String[] { "QuorumSize", "EnsembleSize", "Length", "LastEntryId", "State", "Segment", "DigestType", "Password", "AckQuorumSize", "Ctime", "CustomMetadata", });
-    internal_static_LedgerMetadataFormat_Segment_descriptor =
-      internal_static_LedgerMetadataFormat_descriptor.getNestedTypes().get(0);
-    internal_static_LedgerMetadataFormat_Segment_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_LedgerMetadataFormat_Segment_descriptor,
-        new java.lang.String[] { "EnsembleMember", "FirstEntryId", });
-    internal_static_LedgerMetadataFormat_cMetadataMapEntry_descriptor =
-      internal_static_LedgerMetadataFormat_descriptor.getNestedTypes().get(1);
-    internal_static_LedgerMetadataFormat_cMetadataMapEntry_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_LedgerMetadataFormat_cMetadataMapEntry_descriptor,
-        new java.lang.String[] { "Key", "Value", });
-    internal_static_LedgerRereplicationLayoutFormat_descriptor =
-      getDescriptor().getMessageTypes().get(1);
-    internal_static_LedgerRereplicationLayoutFormat_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_LedgerRereplicationLayoutFormat_descriptor,
-        new java.lang.String[] { "Type", "Version", });
-    internal_static_UnderreplicatedLedgerFormat_descriptor =
-      getDescriptor().getMessageTypes().get(2);
-    internal_static_UnderreplicatedLedgerFormat_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_UnderreplicatedLedgerFormat_descriptor,
-        new java.lang.String[] { "Replica", });
-    internal_static_CookieFormat_descriptor =
-      getDescriptor().getMessageTypes().get(3);
-    internal_static_CookieFormat_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_CookieFormat_descriptor,
-        new java.lang.String[] { "BookieHost", "JournalDir", "LedgerDirs", "InstanceId", });
-    internal_static_LockDataFormat_descriptor =
-      getDescriptor().getMessageTypes().get(4);
-    internal_static_LockDataFormat_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_LockDataFormat_descriptor,
-        new java.lang.String[] { "BookieId", });
-    internal_static_AuditorVoteFormat_descriptor =
-      getDescriptor().getMessageTypes().get(5);
-    internal_static_AuditorVoteFormat_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_AuditorVoteFormat_descriptor,
-        new java.lang.String[] { "BookieId", });
-  }
-
-  // @@protoc_insertion_point(outer_class_scope)
-}
diff --git a/pom.xml b/pom.xml
index c85e981..91d2405 100644
--- a/pom.xml
+++ b/pom.xml
@@ -98,7 +98,7 @@
     <guava.version>20.0</guava.version>
     <hamcrest.version>1.3</hamcrest.version>
     <junit.version>4.12</junit.version>
-    <protobuf.version>2.6.1</protobuf.version>
+    <protobuf.version>3.4.0</protobuf.version>
     <netty.version>4.1.12.Final</netty.version>
     <netty-boringssl.version>2.0.3.Final</netty-boringssl.version>
     <slf4j.version>1.7.25</slf4j.version>
@@ -111,6 +111,7 @@
     <maven-deploy-plugin.version>2.7</maven-deploy-plugin.version>
     <maven-jar-plugin.version>2.2</maven-jar-plugin.version>
     <maven-javadoc-plugin.version>2.10.4</maven-javadoc-plugin.version>
+    <maven-shade-plugin.version>2.4.3</maven-shade-plugin.version>
     <maven-source-plugin.version>2.2.1</maven-source-plugin.version>
     <maven-surefire-plugin.version>2.19.1</maven-surefire-plugin.version>
   </properties>

-- 
To stop receiving notification emails like this one, please contact
['"commits@bookkeeper.apache.org" <commits@bookkeeper.apache.org>'].

Mime
View raw message