You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2018/05/19 02:04:06 UTC

[incubator-pulsar] branch master updated: Used protobuf-3.x and auto-generation for ManagedLedger and schema registry protobuf (#1812)

This is an automated email from the ASF dual-hosted git repository.

mmerli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new d7d6ea7  Used protobuf-3.x and auto-generation for ManagedLedger and schema registry protobuf (#1812)
d7d6ea7 is described below

commit d7d6ea78384b6882fed1ba00e0f7dbb1cdb19179
Author: Matteo Merli <mm...@apache.org>
AuthorDate: Fri May 18 19:04:03 2018 -0700

    Used protobuf-3.x and auto-generation for ManagedLedger and schema registry protobuf (#1812)
---
 managed-ledger/pom.xml                             |   48 +-
 .../bookkeeper/mledger/proto/MLDataFormats.java    | 5638 --------------------
 pom.xml                                            |    3 +
 pulsar-broker/pom.xml                              |   26 +-
 .../broker/service/schema/SchemaStorageFormat.java | 1785 -------
 .../service/schema/proto/SchemaRegistryFormat.java | 1349 -----
 .../src/main/proto/SchemaRegistryFormat.proto      |    2 +-
 .../src/main/proto/SchemaStorageFormat.proto       |    2 +-
 pulsar-functions/proto/pom.xml                     |    2 +-
 9 files changed, 48 insertions(+), 8807 deletions(-)

diff --git a/managed-ledger/pom.xml b/managed-ledger/pom.xml
index 67f2a07..7b0f701 100644
--- a/managed-ledger/pom.xml
+++ b/managed-ledger/pom.xml
@@ -41,7 +41,7 @@
     <dependency>
       <groupId>com.google.protobuf</groupId>
       <artifactId>protobuf-java</artifactId>
-      <version>${protobuf2.version}</version>
+      <version>${protobuf3.version}</version>
     </dependency>
 
     <dependency>
@@ -111,36 +111,22 @@
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <groupId>org.xolstice.maven.plugins</groupId>
+        <artifactId>protobuf-maven-plugin</artifactId>
+        <version>${protobuf-maven-plugin.version}</version>
+        <configuration>
+          <protocArtifact>com.google.protobuf:protoc:${protobuf3.version}:exe:${os.detected.classifier}</protocArtifact>
+          <checkStaleness>true</checkStaleness>
+        </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/MLDataFormats.proto" />
-                    </exec>
-                  </target>
-                </configuration>
-                <goals>
-                  <goal>run</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
 </project>
diff --git a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/proto/MLDataFormats.java b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/proto/MLDataFormats.java
deleted file mode 100644
index fc607b9..0000000
--- a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/proto/MLDataFormats.java
+++ /dev/null
@@ -1,5638 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: src/main/proto/MLDataFormats.proto
-
-package org.apache.bookkeeper.mledger.proto;
-
-public final class MLDataFormats {
-  private MLDataFormats() {}
-  public static void registerAllExtensions(
-      com.google.protobuf.ExtensionRegistry registry) {
-  }
-  public interface OffloadContextOrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
-    
-    // optional int64 uidMsb = 1;
-    boolean hasUidMsb();
-    long getUidMsb();
-    
-    // optional int64 uidLsb = 2;
-    boolean hasUidLsb();
-    long getUidLsb();
-    
-    // optional bool complete = 3;
-    boolean hasComplete();
-    boolean getComplete();
-    
-    // optional bool bookkeeperDeleted = 4;
-    boolean hasBookkeeperDeleted();
-    boolean getBookkeeperDeleted();
-    
-    // optional int64 timestamp = 5;
-    boolean hasTimestamp();
-    long getTimestamp();
-  }
-  public static final class OffloadContext extends
-      com.google.protobuf.GeneratedMessage
-      implements OffloadContextOrBuilder {
-    // Use OffloadContext.newBuilder() to construct.
-    private OffloadContext(Builder builder) {
-      super(builder);
-    }
-    private OffloadContext(boolean noInit) {}
-    
-    private static final OffloadContext defaultInstance;
-    public static OffloadContext getDefaultInstance() {
-      return defaultInstance;
-    }
-    
-    public OffloadContext getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-    
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_OffloadContext_descriptor;
-    }
-    
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_OffloadContext_fieldAccessorTable;
-    }
-    
-    private int bitField0_;
-    // optional int64 uidMsb = 1;
-    public static final int UIDMSB_FIELD_NUMBER = 1;
-    private long uidMsb_;
-    public boolean hasUidMsb() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    public long getUidMsb() {
-      return uidMsb_;
-    }
-    
-    // optional int64 uidLsb = 2;
-    public static final int UIDLSB_FIELD_NUMBER = 2;
-    private long uidLsb_;
-    public boolean hasUidLsb() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    public long getUidLsb() {
-      return uidLsb_;
-    }
-    
-    // optional bool complete = 3;
-    public static final int COMPLETE_FIELD_NUMBER = 3;
-    private boolean complete_;
-    public boolean hasComplete() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    public boolean getComplete() {
-      return complete_;
-    }
-    
-    // optional bool bookkeeperDeleted = 4;
-    public static final int BOOKKEEPERDELETED_FIELD_NUMBER = 4;
-    private boolean bookkeeperDeleted_;
-    public boolean hasBookkeeperDeleted() {
-      return ((bitField0_ & 0x00000008) == 0x00000008);
-    }
-    public boolean getBookkeeperDeleted() {
-      return bookkeeperDeleted_;
-    }
-    
-    // optional int64 timestamp = 5;
-    public static final int TIMESTAMP_FIELD_NUMBER = 5;
-    private long timestamp_;
-    public boolean hasTimestamp() {
-      return ((bitField0_ & 0x00000010) == 0x00000010);
-    }
-    public long getTimestamp() {
-      return timestamp_;
-    }
-    
-    private void initFields() {
-      uidMsb_ = 0L;
-      uidLsb_ = 0L;
-      complete_ = false;
-      bookkeeperDeleted_ = false;
-      timestamp_ = 0L;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-      
-      memoizedIsInitialized = 1;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeInt64(1, uidMsb_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeInt64(2, uidLsb_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeBool(3, complete_);
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        output.writeBool(4, bookkeeperDeleted_);
-      }
-      if (((bitField0_ & 0x00000010) == 0x00000010)) {
-        output.writeInt64(5, timestamp_);
-      }
-      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, uidMsb_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(2, uidLsb_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBoolSize(3, complete_);
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBoolSize(4, bookkeeperDeleted_);
-      }
-      if (((bitField0_ & 0x00000010) == 0x00000010)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(5, timestamp_);
-      }
-      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.mledger.proto.MLDataFormats.OffloadContext parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext 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;
-    }
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder>
-       implements org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContextOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_OffloadContext_descriptor;
-      }
-      
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_OffloadContext_fieldAccessorTable;
-      }
-      
-      // Construct using org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-      
-      private Builder(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();
-        uidMsb_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        uidLsb_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        complete_ = false;
-        bitField0_ = (bitField0_ & ~0x00000004);
-        bookkeeperDeleted_ = false;
-        bitField0_ = (bitField0_ & ~0x00000008);
-        timestamp_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000010);
-        return this;
-      }
-      
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-      
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.getDescriptor();
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext getDefaultInstanceForType() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.getDefaultInstance();
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext build() {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-      
-      private org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext buildParsed()
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(
-            result).asInvalidProtocolBufferException();
-        }
-        return result;
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext buildPartial() {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext result = new org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.uidMsb_ = uidMsb_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.uidLsb_ = uidLsb_;
-        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-          to_bitField0_ |= 0x00000004;
-        }
-        result.complete_ = complete_;
-        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
-          to_bitField0_ |= 0x00000008;
-        }
-        result.bookkeeperDeleted_ = bookkeeperDeleted_;
-        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
-          to_bitField0_ |= 0x00000010;
-        }
-        result.timestamp_ = timestamp_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-      
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext) {
-          return mergeFrom((org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-      
-      public Builder mergeFrom(org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext other) {
-        if (other == org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.getDefaultInstance()) return this;
-        if (other.hasUidMsb()) {
-          setUidMsb(other.getUidMsb());
-        }
-        if (other.hasUidLsb()) {
-          setUidLsb(other.getUidLsb());
-        }
-        if (other.hasComplete()) {
-          setComplete(other.getComplete());
-        }
-        if (other.hasBookkeeperDeleted()) {
-          setBookkeeperDeleted(other.getBookkeeperDeleted());
-        }
-        if (other.hasTimestamp()) {
-          setTimestamp(other.getTimestamp());
-        }
-        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 {
-        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder(
-            this.getUnknownFields());
-        while (true) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              this.setUnknownFields(unknownFields.build());
-              onChanged();
-              return this;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                this.setUnknownFields(unknownFields.build());
-                onChanged();
-                return this;
-              }
-              break;
-            }
-            case 8: {
-              bitField0_ |= 0x00000001;
-              uidMsb_ = input.readInt64();
-              break;
-            }
-            case 16: {
-              bitField0_ |= 0x00000002;
-              uidLsb_ = input.readInt64();
-              break;
-            }
-            case 24: {
-              bitField0_ |= 0x00000004;
-              complete_ = input.readBool();
-              break;
-            }
-            case 32: {
-              bitField0_ |= 0x00000008;
-              bookkeeperDeleted_ = input.readBool();
-              break;
-            }
-            case 40: {
-              bitField0_ |= 0x00000010;
-              timestamp_ = input.readInt64();
-              break;
-            }
-          }
-        }
-      }
-      
-      private int bitField0_;
-      
-      // optional int64 uidMsb = 1;
-      private long uidMsb_ ;
-      public boolean hasUidMsb() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      public long getUidMsb() {
-        return uidMsb_;
-      }
-      public Builder setUidMsb(long value) {
-        bitField0_ |= 0x00000001;
-        uidMsb_ = value;
-        onChanged();
-        return this;
-      }
-      public Builder clearUidMsb() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        uidMsb_ = 0L;
-        onChanged();
-        return this;
-      }
-      
-      // optional int64 uidLsb = 2;
-      private long uidLsb_ ;
-      public boolean hasUidLsb() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      public long getUidLsb() {
-        return uidLsb_;
-      }
-      public Builder setUidLsb(long value) {
-        bitField0_ |= 0x00000002;
-        uidLsb_ = value;
-        onChanged();
-        return this;
-      }
-      public Builder clearUidLsb() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        uidLsb_ = 0L;
-        onChanged();
-        return this;
-      }
-      
-      // optional bool complete = 3;
-      private boolean complete_ ;
-      public boolean hasComplete() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
-      }
-      public boolean getComplete() {
-        return complete_;
-      }
-      public Builder setComplete(boolean value) {
-        bitField0_ |= 0x00000004;
-        complete_ = value;
-        onChanged();
-        return this;
-      }
-      public Builder clearComplete() {
-        bitField0_ = (bitField0_ & ~0x00000004);
-        complete_ = false;
-        onChanged();
-        return this;
-      }
-      
-      // optional bool bookkeeperDeleted = 4;
-      private boolean bookkeeperDeleted_ ;
-      public boolean hasBookkeeperDeleted() {
-        return ((bitField0_ & 0x00000008) == 0x00000008);
-      }
-      public boolean getBookkeeperDeleted() {
-        return bookkeeperDeleted_;
-      }
-      public Builder setBookkeeperDeleted(boolean value) {
-        bitField0_ |= 0x00000008;
-        bookkeeperDeleted_ = value;
-        onChanged();
-        return this;
-      }
-      public Builder clearBookkeeperDeleted() {
-        bitField0_ = (bitField0_ & ~0x00000008);
-        bookkeeperDeleted_ = false;
-        onChanged();
-        return this;
-      }
-      
-      // optional int64 timestamp = 5;
-      private long timestamp_ ;
-      public boolean hasTimestamp() {
-        return ((bitField0_ & 0x00000010) == 0x00000010);
-      }
-      public long getTimestamp() {
-        return timestamp_;
-      }
-      public Builder setTimestamp(long value) {
-        bitField0_ |= 0x00000010;
-        timestamp_ = value;
-        onChanged();
-        return this;
-      }
-      public Builder clearTimestamp() {
-        bitField0_ = (bitField0_ & ~0x00000010);
-        timestamp_ = 0L;
-        onChanged();
-        return this;
-      }
-      
-      // @@protoc_insertion_point(builder_scope:OffloadContext)
-    }
-    
-    static {
-      defaultInstance = new OffloadContext(true);
-      defaultInstance.initFields();
-    }
-    
-    // @@protoc_insertion_point(class_scope:OffloadContext)
-  }
-  
-  public interface ManagedLedgerInfoOrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
-    
-    // repeated .ManagedLedgerInfo.LedgerInfo ledgerInfo = 1;
-    java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo> 
-        getLedgerInfoList();
-    org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo getLedgerInfo(int index);
-    int getLedgerInfoCount();
-    java.util.List<? extends org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfoOrBuilder> 
-        getLedgerInfoOrBuilderList();
-    org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfoOrBuilder getLedgerInfoOrBuilder(
-        int index);
-    
-    // optional .NestedPositionInfo terminatedPosition = 2;
-    boolean hasTerminatedPosition();
-    org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo getTerminatedPosition();
-    org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfoOrBuilder getTerminatedPositionOrBuilder();
-  }
-  public static final class ManagedLedgerInfo extends
-      com.google.protobuf.GeneratedMessage
-      implements ManagedLedgerInfoOrBuilder {
-    // Use ManagedLedgerInfo.newBuilder() to construct.
-    private ManagedLedgerInfo(Builder builder) {
-      super(builder);
-    }
-    private ManagedLedgerInfo(boolean noInit) {}
-    
-    private static final ManagedLedgerInfo defaultInstance;
-    public static ManagedLedgerInfo getDefaultInstance() {
-      return defaultInstance;
-    }
-    
-    public ManagedLedgerInfo getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-    
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_ManagedLedgerInfo_descriptor;
-    }
-    
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_ManagedLedgerInfo_fieldAccessorTable;
-    }
-    
-    public interface LedgerInfoOrBuilder
-        extends com.google.protobuf.MessageOrBuilder {
-      
-      // required int64 ledgerId = 1;
-      boolean hasLedgerId();
-      long getLedgerId();
-      
-      // optional int64 entries = 2;
-      boolean hasEntries();
-      long getEntries();
-      
-      // optional int64 size = 3;
-      boolean hasSize();
-      long getSize();
-      
-      // optional int64 timestamp = 4;
-      boolean hasTimestamp();
-      long getTimestamp();
-      
-      // optional .OffloadContext offloadContext = 5;
-      boolean hasOffloadContext();
-      org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext getOffloadContext();
-      org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContextOrBuilder getOffloadContextOrBuilder();
-    }
-    public static final class LedgerInfo extends
-        com.google.protobuf.GeneratedMessage
-        implements LedgerInfoOrBuilder {
-      // Use LedgerInfo.newBuilder() to construct.
-      private LedgerInfo(Builder builder) {
-        super(builder);
-      }
-      private LedgerInfo(boolean noInit) {}
-      
-      private static final LedgerInfo defaultInstance;
-      public static LedgerInfo getDefaultInstance() {
-        return defaultInstance;
-      }
-      
-      public LedgerInfo getDefaultInstanceForType() {
-        return defaultInstance;
-      }
-      
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_ManagedLedgerInfo_LedgerInfo_descriptor;
-      }
-      
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_ManagedLedgerInfo_LedgerInfo_fieldAccessorTable;
-      }
-      
-      private int bitField0_;
-      // required int64 ledgerId = 1;
-      public static final int LEDGERID_FIELD_NUMBER = 1;
-      private long ledgerId_;
-      public boolean hasLedgerId() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      public long getLedgerId() {
-        return ledgerId_;
-      }
-      
-      // optional int64 entries = 2;
-      public static final int ENTRIES_FIELD_NUMBER = 2;
-      private long entries_;
-      public boolean hasEntries() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      public long getEntries() {
-        return entries_;
-      }
-      
-      // optional int64 size = 3;
-      public static final int SIZE_FIELD_NUMBER = 3;
-      private long size_;
-      public boolean hasSize() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
-      }
-      public long getSize() {
-        return size_;
-      }
-      
-      // optional int64 timestamp = 4;
-      public static final int TIMESTAMP_FIELD_NUMBER = 4;
-      private long timestamp_;
-      public boolean hasTimestamp() {
-        return ((bitField0_ & 0x00000008) == 0x00000008);
-      }
-      public long getTimestamp() {
-        return timestamp_;
-      }
-      
-      // optional .OffloadContext offloadContext = 5;
-      public static final int OFFLOADCONTEXT_FIELD_NUMBER = 5;
-      private org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext offloadContext_;
-      public boolean hasOffloadContext() {
-        return ((bitField0_ & 0x00000010) == 0x00000010);
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext getOffloadContext() {
-        return offloadContext_;
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContextOrBuilder getOffloadContextOrBuilder() {
-        return offloadContext_;
-      }
-      
-      private void initFields() {
-        ledgerId_ = 0L;
-        entries_ = 0L;
-        size_ = 0L;
-        timestamp_ = 0L;
-        offloadContext_ = org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.getDefaultInstance();
-      }
-      private byte memoizedIsInitialized = -1;
-      public final boolean isInitialized() {
-        byte isInitialized = memoizedIsInitialized;
-        if (isInitialized != -1) return isInitialized == 1;
-        
-        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_);
-        }
-        if (((bitField0_ & 0x00000002) == 0x00000002)) {
-          output.writeInt64(2, entries_);
-        }
-        if (((bitField0_ & 0x00000004) == 0x00000004)) {
-          output.writeInt64(3, size_);
-        }
-        if (((bitField0_ & 0x00000008) == 0x00000008)) {
-          output.writeInt64(4, timestamp_);
-        }
-        if (((bitField0_ & 0x00000010) == 0x00000010)) {
-          output.writeMessage(5, offloadContext_);
-        }
-        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, entries_);
-        }
-        if (((bitField0_ & 0x00000004) == 0x00000004)) {
-          size += com.google.protobuf.CodedOutputStream
-            .computeInt64Size(3, size_);
-        }
-        if (((bitField0_ & 0x00000008) == 0x00000008)) {
-          size += com.google.protobuf.CodedOutputStream
-            .computeInt64Size(4, timestamp_);
-        }
-        if (((bitField0_ & 0x00000010) == 0x00000010)) {
-          size += com.google.protobuf.CodedOutputStream
-            .computeMessageSize(5, offloadContext_);
-        }
-        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.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo parseFrom(
-          com.google.protobuf.ByteString data)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return newBuilder().mergeFrom(data).buildParsed();
-      }
-      public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo parseFrom(
-          com.google.protobuf.ByteString data,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return newBuilder().mergeFrom(data, extensionRegistry)
-                 .buildParsed();
-      }
-      public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo parseFrom(byte[] data)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return newBuilder().mergeFrom(data).buildParsed();
-      }
-      public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo parseFrom(
-          byte[] data,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return newBuilder().mergeFrom(data, extensionRegistry)
-                 .buildParsed();
-      }
-      public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo parseFrom(java.io.InputStream input)
-          throws java.io.IOException {
-        return newBuilder().mergeFrom(input).buildParsed();
-      }
-      public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo parseFrom(
-          java.io.InputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return newBuilder().mergeFrom(input, extensionRegistry)
-                 .buildParsed();
-      }
-      public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo parseDelimitedFrom(java.io.InputStream input)
-          throws java.io.IOException {
-        Builder builder = newBuilder();
-        if (builder.mergeDelimitedFrom(input)) {
-          return builder.buildParsed();
-        } else {
-          return null;
-        }
-      }
-      public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo parseDelimitedFrom(
-          java.io.InputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        Builder builder = newBuilder();
-        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
-          return builder.buildParsed();
-        } else {
-          return null;
-        }
-      }
-      public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo parseFrom(
-          com.google.protobuf.CodedInputStream input)
-          throws java.io.IOException {
-        return newBuilder().mergeFrom(input).buildParsed();
-      }
-      public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo parseFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return newBuilder().mergeFrom(input, extensionRegistry)
-                 .buildParsed();
-      }
-      
-      public static Builder newBuilder() { return Builder.create(); }
-      public Builder newBuilderForType() { return newBuilder(); }
-      public static Builder newBuilder(org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo 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;
-      }
-      public static final class Builder extends
-          com.google.protobuf.GeneratedMessage.Builder<Builder>
-         implements org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfoOrBuilder {
-        public static final com.google.protobuf.Descriptors.Descriptor
-            getDescriptor() {
-          return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_ManagedLedgerInfo_LedgerInfo_descriptor;
-        }
-        
-        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-            internalGetFieldAccessorTable() {
-          return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_ManagedLedgerInfo_LedgerInfo_fieldAccessorTable;
-        }
-        
-        // Construct using org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo.newBuilder()
-        private Builder() {
-          maybeForceBuilderInitialization();
-        }
-        
-        private Builder(BuilderParent parent) {
-          super(parent);
-          maybeForceBuilderInitialization();
-        }
-        private void maybeForceBuilderInitialization() {
-          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-            getOffloadContextFieldBuilder();
-          }
-        }
-        private static Builder create() {
-          return new Builder();
-        }
-        
-        public Builder clear() {
-          super.clear();
-          ledgerId_ = 0L;
-          bitField0_ = (bitField0_ & ~0x00000001);
-          entries_ = 0L;
-          bitField0_ = (bitField0_ & ~0x00000002);
-          size_ = 0L;
-          bitField0_ = (bitField0_ & ~0x00000004);
-          timestamp_ = 0L;
-          bitField0_ = (bitField0_ & ~0x00000008);
-          if (offloadContextBuilder_ == null) {
-            offloadContext_ = org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.getDefaultInstance();
-          } else {
-            offloadContextBuilder_.clear();
-          }
-          bitField0_ = (bitField0_ & ~0x00000010);
-          return this;
-        }
-        
-        public Builder clone() {
-          return create().mergeFrom(buildPartial());
-        }
-        
-        public com.google.protobuf.Descriptors.Descriptor
-            getDescriptorForType() {
-          return org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo.getDescriptor();
-        }
-        
-        public org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo getDefaultInstanceForType() {
-          return org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo.getDefaultInstance();
-        }
-        
-        public org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo build() {
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo result = buildPartial();
-          if (!result.isInitialized()) {
-            throw newUninitializedMessageException(result);
-          }
-          return result;
-        }
-        
-        private org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo buildParsed()
-            throws com.google.protobuf.InvalidProtocolBufferException {
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo result = buildPartial();
-          if (!result.isInitialized()) {
-            throw newUninitializedMessageException(
-              result).asInvalidProtocolBufferException();
-          }
-          return result;
-        }
-        
-        public org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo buildPartial() {
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo result = new org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo(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.entries_ = entries_;
-          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-            to_bitField0_ |= 0x00000004;
-          }
-          result.size_ = size_;
-          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
-            to_bitField0_ |= 0x00000008;
-          }
-          result.timestamp_ = timestamp_;
-          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
-            to_bitField0_ |= 0x00000010;
-          }
-          if (offloadContextBuilder_ == null) {
-            result.offloadContext_ = offloadContext_;
-          } else {
-            result.offloadContext_ = offloadContextBuilder_.build();
-          }
-          result.bitField0_ = to_bitField0_;
-          onBuilt();
-          return result;
-        }
-        
-        public Builder mergeFrom(com.google.protobuf.Message other) {
-          if (other instanceof org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo) {
-            return mergeFrom((org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo)other);
-          } else {
-            super.mergeFrom(other);
-            return this;
-          }
-        }
-        
-        public Builder mergeFrom(org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo other) {
-          if (other == org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo.getDefaultInstance()) return this;
-          if (other.hasLedgerId()) {
-            setLedgerId(other.getLedgerId());
-          }
-          if (other.hasEntries()) {
-            setEntries(other.getEntries());
-          }
-          if (other.hasSize()) {
-            setSize(other.getSize());
-          }
-          if (other.hasTimestamp()) {
-            setTimestamp(other.getTimestamp());
-          }
-          if (other.hasOffloadContext()) {
-            mergeOffloadContext(other.getOffloadContext());
-          }
-          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 {
-          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-            com.google.protobuf.UnknownFieldSet.newBuilder(
-              this.getUnknownFields());
-          while (true) {
-            int tag = input.readTag();
-            switch (tag) {
-              case 0:
-                this.setUnknownFields(unknownFields.build());
-                onChanged();
-                return this;
-              default: {
-                if (!parseUnknownField(input, unknownFields,
-                                       extensionRegistry, tag)) {
-                  this.setUnknownFields(unknownFields.build());
-                  onChanged();
-                  return this;
-                }
-                break;
-              }
-              case 8: {
-                bitField0_ |= 0x00000001;
-                ledgerId_ = input.readInt64();
-                break;
-              }
-              case 16: {
-                bitField0_ |= 0x00000002;
-                entries_ = input.readInt64();
-                break;
-              }
-              case 24: {
-                bitField0_ |= 0x00000004;
-                size_ = input.readInt64();
-                break;
-              }
-              case 32: {
-                bitField0_ |= 0x00000008;
-                timestamp_ = input.readInt64();
-                break;
-              }
-              case 42: {
-                org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.Builder subBuilder = org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.newBuilder();
-                if (hasOffloadContext()) {
-                  subBuilder.mergeFrom(getOffloadContext());
-                }
-                input.readMessage(subBuilder, extensionRegistry);
-                setOffloadContext(subBuilder.buildPartial());
-                break;
-              }
-            }
-          }
-        }
-        
-        private int bitField0_;
-        
-        // required int64 ledgerId = 1;
-        private long ledgerId_ ;
-        public boolean hasLedgerId() {
-          return ((bitField0_ & 0x00000001) == 0x00000001);
-        }
-        public long getLedgerId() {
-          return ledgerId_;
-        }
-        public Builder setLedgerId(long value) {
-          bitField0_ |= 0x00000001;
-          ledgerId_ = value;
-          onChanged();
-          return this;
-        }
-        public Builder clearLedgerId() {
-          bitField0_ = (bitField0_ & ~0x00000001);
-          ledgerId_ = 0L;
-          onChanged();
-          return this;
-        }
-        
-        // optional int64 entries = 2;
-        private long entries_ ;
-        public boolean hasEntries() {
-          return ((bitField0_ & 0x00000002) == 0x00000002);
-        }
-        public long getEntries() {
-          return entries_;
-        }
-        public Builder setEntries(long value) {
-          bitField0_ |= 0x00000002;
-          entries_ = value;
-          onChanged();
-          return this;
-        }
-        public Builder clearEntries() {
-          bitField0_ = (bitField0_ & ~0x00000002);
-          entries_ = 0L;
-          onChanged();
-          return this;
-        }
-        
-        // optional int64 size = 3;
-        private long size_ ;
-        public boolean hasSize() {
-          return ((bitField0_ & 0x00000004) == 0x00000004);
-        }
-        public long getSize() {
-          return size_;
-        }
-        public Builder setSize(long value) {
-          bitField0_ |= 0x00000004;
-          size_ = value;
-          onChanged();
-          return this;
-        }
-        public Builder clearSize() {
-          bitField0_ = (bitField0_ & ~0x00000004);
-          size_ = 0L;
-          onChanged();
-          return this;
-        }
-        
-        // optional int64 timestamp = 4;
-        private long timestamp_ ;
-        public boolean hasTimestamp() {
-          return ((bitField0_ & 0x00000008) == 0x00000008);
-        }
-        public long getTimestamp() {
-          return timestamp_;
-        }
-        public Builder setTimestamp(long value) {
-          bitField0_ |= 0x00000008;
-          timestamp_ = value;
-          onChanged();
-          return this;
-        }
-        public Builder clearTimestamp() {
-          bitField0_ = (bitField0_ & ~0x00000008);
-          timestamp_ = 0L;
-          onChanged();
-          return this;
-        }
-        
-        // optional .OffloadContext offloadContext = 5;
-        private org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext offloadContext_ = org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.getDefaultInstance();
-        private com.google.protobuf.SingleFieldBuilder<
-            org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext, org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContextOrBuilder> offloadContextBuilder_;
-        public boolean hasOffloadContext() {
-          return ((bitField0_ & 0x00000010) == 0x00000010);
-        }
-        public org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext getOffloadContext() {
-          if (offloadContextBuilder_ == null) {
-            return offloadContext_;
-          } else {
-            return offloadContextBuilder_.getMessage();
-          }
-        }
-        public Builder setOffloadContext(org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext value) {
-          if (offloadContextBuilder_ == null) {
-            if (value == null) {
-              throw new NullPointerException();
-            }
-            offloadContext_ = value;
-            onChanged();
-          } else {
-            offloadContextBuilder_.setMessage(value);
-          }
-          bitField0_ |= 0x00000010;
-          return this;
-        }
-        public Builder setOffloadContext(
-            org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.Builder builderForValue) {
-          if (offloadContextBuilder_ == null) {
-            offloadContext_ = builderForValue.build();
-            onChanged();
-          } else {
-            offloadContextBuilder_.setMessage(builderForValue.build());
-          }
-          bitField0_ |= 0x00000010;
-          return this;
-        }
-        public Builder mergeOffloadContext(org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext value) {
-          if (offloadContextBuilder_ == null) {
-            if (((bitField0_ & 0x00000010) == 0x00000010) &&
-                offloadContext_ != org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.getDefaultInstance()) {
-              offloadContext_ =
-                org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.newBuilder(offloadContext_).mergeFrom(value).buildPartial();
-            } else {
-              offloadContext_ = value;
-            }
-            onChanged();
-          } else {
-            offloadContextBuilder_.mergeFrom(value);
-          }
-          bitField0_ |= 0x00000010;
-          return this;
-        }
-        public Builder clearOffloadContext() {
-          if (offloadContextBuilder_ == null) {
-            offloadContext_ = org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.getDefaultInstance();
-            onChanged();
-          } else {
-            offloadContextBuilder_.clear();
-          }
-          bitField0_ = (bitField0_ & ~0x00000010);
-          return this;
-        }
-        public org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.Builder getOffloadContextBuilder() {
-          bitField0_ |= 0x00000010;
-          onChanged();
-          return getOffloadContextFieldBuilder().getBuilder();
-        }
-        public org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContextOrBuilder getOffloadContextOrBuilder() {
-          if (offloadContextBuilder_ != null) {
-            return offloadContextBuilder_.getMessageOrBuilder();
-          } else {
-            return offloadContext_;
-          }
-        }
-        private com.google.protobuf.SingleFieldBuilder<
-            org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext, org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContextOrBuilder> 
-            getOffloadContextFieldBuilder() {
-          if (offloadContextBuilder_ == null) {
-            offloadContextBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-                org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext, org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContextOrBuilder>(
-                    offloadContext_,
-                    getParentForChildren(),
-                    isClean());
-            offloadContext_ = null;
-          }
-          return offloadContextBuilder_;
-        }
-        
-        // @@protoc_insertion_point(builder_scope:ManagedLedgerInfo.LedgerInfo)
-      }
-      
-      static {
-        defaultInstance = new LedgerInfo(true);
-        defaultInstance.initFields();
-      }
-      
-      // @@protoc_insertion_point(class_scope:ManagedLedgerInfo.LedgerInfo)
-    }
-    
-    private int bitField0_;
-    // repeated .ManagedLedgerInfo.LedgerInfo ledgerInfo = 1;
-    public static final int LEDGERINFO_FIELD_NUMBER = 1;
-    private java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo> ledgerInfo_;
-    public java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo> getLedgerInfoList() {
-      return ledgerInfo_;
-    }
-    public java.util.List<? extends org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfoOrBuilder> 
-        getLedgerInfoOrBuilderList() {
-      return ledgerInfo_;
-    }
-    public int getLedgerInfoCount() {
-      return ledgerInfo_.size();
-    }
-    public org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo getLedgerInfo(int index) {
-      return ledgerInfo_.get(index);
-    }
-    public org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfoOrBuilder getLedgerInfoOrBuilder(
-        int index) {
-      return ledgerInfo_.get(index);
-    }
-    
-    // optional .NestedPositionInfo terminatedPosition = 2;
-    public static final int TERMINATEDPOSITION_FIELD_NUMBER = 2;
-    private org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo terminatedPosition_;
-    public boolean hasTerminatedPosition() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    public org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo getTerminatedPosition() {
-      return terminatedPosition_;
-    }
-    public org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfoOrBuilder getTerminatedPositionOrBuilder() {
-      return terminatedPosition_;
-    }
-    
-    private void initFields() {
-      ledgerInfo_ = java.util.Collections.emptyList();
-      terminatedPosition_ = org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.getDefaultInstance();
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-      
-      for (int i = 0; i < getLedgerInfoCount(); i++) {
-        if (!getLedgerInfo(i).isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      if (hasTerminatedPosition()) {
-        if (!getTerminatedPosition().isInitialized()) {
-          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 < ledgerInfo_.size(); i++) {
-        output.writeMessage(1, ledgerInfo_.get(i));
-      }
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeMessage(2, terminatedPosition_);
-      }
-      getUnknownFields().writeTo(output);
-    }
-    
-    private int memoizedSerializedSize = -1;
-    public int getSerializedSize() {
-      int size = memoizedSerializedSize;
-      if (size != -1) return size;
-    
-      size = 0;
-      for (int i = 0; i < ledgerInfo_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(1, ledgerInfo_.get(i));
-      }
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(2, terminatedPosition_);
-      }
-      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.mledger.proto.MLDataFormats.ManagedLedgerInfo parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo 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;
-    }
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder>
-       implements org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfoOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_ManagedLedgerInfo_descriptor;
-      }
-      
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_ManagedLedgerInfo_fieldAccessorTable;
-      }
-      
-      // Construct using org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-      
-      private Builder(BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-          getLedgerInfoFieldBuilder();
-          getTerminatedPositionFieldBuilder();
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-      
-      public Builder clear() {
-        super.clear();
-        if (ledgerInfoBuilder_ == null) {
-          ledgerInfo_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000001);
-        } else {
-          ledgerInfoBuilder_.clear();
-        }
-        if (terminatedPositionBuilder_ == null) {
-          terminatedPosition_ = org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.getDefaultInstance();
-        } else {
-          terminatedPositionBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000002);
-        return this;
-      }
-      
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-      
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.getDescriptor();
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo getDefaultInstanceForType() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.getDefaultInstance();
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo build() {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-      
-      private org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo buildParsed()
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(
-            result).asInvalidProtocolBufferException();
-        }
-        return result;
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo buildPartial() {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo result = new org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (ledgerInfoBuilder_ == null) {
-          if (((bitField0_ & 0x00000001) == 0x00000001)) {
-            ledgerInfo_ = java.util.Collections.unmodifiableList(ledgerInfo_);
-            bitField0_ = (bitField0_ & ~0x00000001);
-          }
-          result.ledgerInfo_ = ledgerInfo_;
-        } else {
-          result.ledgerInfo_ = ledgerInfoBuilder_.build();
-        }
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        if (terminatedPositionBuilder_ == null) {
-          result.terminatedPosition_ = terminatedPosition_;
-        } else {
-          result.terminatedPosition_ = terminatedPositionBuilder_.build();
-        }
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-      
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo) {
-          return mergeFrom((org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-      
-      public Builder mergeFrom(org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo other) {
-        if (other == org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.getDefaultInstance()) return this;
-        if (ledgerInfoBuilder_ == null) {
-          if (!other.ledgerInfo_.isEmpty()) {
-            if (ledgerInfo_.isEmpty()) {
-              ledgerInfo_ = other.ledgerInfo_;
-              bitField0_ = (bitField0_ & ~0x00000001);
-            } else {
-              ensureLedgerInfoIsMutable();
-              ledgerInfo_.addAll(other.ledgerInfo_);
-            }
-            onChanged();
-          }
-        } else {
-          if (!other.ledgerInfo_.isEmpty()) {
-            if (ledgerInfoBuilder_.isEmpty()) {
-              ledgerInfoBuilder_.dispose();
-              ledgerInfoBuilder_ = null;
-              ledgerInfo_ = other.ledgerInfo_;
-              bitField0_ = (bitField0_ & ~0x00000001);
-              ledgerInfoBuilder_ = 
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
-                   getLedgerInfoFieldBuilder() : null;
-            } else {
-              ledgerInfoBuilder_.addAllMessages(other.ledgerInfo_);
-            }
-          }
-        }
-        if (other.hasTerminatedPosition()) {
-          mergeTerminatedPosition(other.getTerminatedPosition());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-      
-      public final boolean isInitialized() {
-        for (int i = 0; i < getLedgerInfoCount(); i++) {
-          if (!getLedgerInfo(i).isInitialized()) {
-            
-            return false;
-          }
-        }
-        if (hasTerminatedPosition()) {
-          if (!getTerminatedPosition().isInitialized()) {
-            
-            return false;
-          }
-        }
-        return true;
-      }
-      
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder(
-            this.getUnknownFields());
-        while (true) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              this.setUnknownFields(unknownFields.build());
-              onChanged();
-              return this;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                this.setUnknownFields(unknownFields.build());
-                onChanged();
-                return this;
-              }
-              break;
-            }
-            case 10: {
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo.Builder subBuilder = org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo.newBuilder();
-              input.readMessage(subBuilder, extensionRegistry);
-              addLedgerInfo(subBuilder.buildPartial());
-              break;
-            }
-            case 18: {
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.Builder subBuilder = org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.newBuilder();
-              if (hasTerminatedPosition()) {
-                subBuilder.mergeFrom(getTerminatedPosition());
-              }
-              input.readMessage(subBuilder, extensionRegistry);
-              setTerminatedPosition(subBuilder.buildPartial());
-              break;
-            }
-          }
-        }
-      }
-      
-      private int bitField0_;
-      
-      // repeated .ManagedLedgerInfo.LedgerInfo ledgerInfo = 1;
-      private java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo> ledgerInfo_ =
-        java.util.Collections.emptyList();
-      private void ensureLedgerInfoIsMutable() {
-        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
-          ledgerInfo_ = new java.util.ArrayList<org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo>(ledgerInfo_);
-          bitField0_ |= 0x00000001;
-         }
-      }
-      
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo, org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfoOrBuilder> ledgerInfoBuilder_;
-      
-      public java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo> getLedgerInfoList() {
-        if (ledgerInfoBuilder_ == null) {
-          return java.util.Collections.unmodifiableList(ledgerInfo_);
-        } else {
-          return ledgerInfoBuilder_.getMessageList();
-        }
-      }
-      public int getLedgerInfoCount() {
-        if (ledgerInfoBuilder_ == null) {
-          return ledgerInfo_.size();
-        } else {
-          return ledgerInfoBuilder_.getCount();
-        }
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo getLedgerInfo(int index) {
-        if (ledgerInfoBuilder_ == null) {
-          return ledgerInfo_.get(index);
-        } else {
-          return ledgerInfoBuilder_.getMessage(index);
-        }
-      }
-      public Builder setLedgerInfo(
-          int index, org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo value) {
-        if (ledgerInfoBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureLedgerInfoIsMutable();
-          ledgerInfo_.set(index, value);
-          onChanged();
-        } else {
-          ledgerInfoBuilder_.setMessage(index, value);
-        }
-        return this;
-      }
-      public Builder setLedgerInfo(
-          int index, org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo.Builder builderForValue) {
-        if (ledgerInfoBuilder_ == null) {
-          ensureLedgerInfoIsMutable();
-          ledgerInfo_.set(index, builderForValue.build());
-          onChanged();
-        } else {
-          ledgerInfoBuilder_.setMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      public Builder addLedgerInfo(org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo value) {
-        if (ledgerInfoBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureLedgerInfoIsMutable();
-          ledgerInfo_.add(value);
-          onChanged();
-        } else {
-          ledgerInfoBuilder_.addMessage(value);
-        }
-        return this;
-      }
-      public Builder addLedgerInfo(
-          int index, org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo value) {
-        if (ledgerInfoBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureLedgerInfoIsMutable();
-          ledgerInfo_.add(index, value);
-          onChanged();
-        } else {
-          ledgerInfoBuilder_.addMessage(index, value);
-        }
-        return this;
-      }
-      public Builder addLedgerInfo(
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo.Builder builderForValue) {
-        if (ledgerInfoBuilder_ == null) {
-          ensureLedgerInfoIsMutable();
-          ledgerInfo_.add(builderForValue.build());
-          onChanged();
-        } else {
-          ledgerInfoBuilder_.addMessage(builderForValue.build());
-        }
-        return this;
-      }
-      public Builder addLedgerInfo(
-          int index, org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo.Builder builderForValue) {
-        if (ledgerInfoBuilder_ == null) {
-          ensureLedgerInfoIsMutable();
-          ledgerInfo_.add(index, builderForValue.build());
-          onChanged();
-        } else {
-          ledgerInfoBuilder_.addMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      public Builder addAllLedgerInfo(
-          java.lang.Iterable<? extends org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo> values) {
-        if (ledgerInfoBuilder_ == null) {
-          ensureLedgerInfoIsMutable();
-          super.addAll(values, ledgerInfo_);
-          onChanged();
-        } else {
-          ledgerInfoBuilder_.addAllMessages(values);
-        }
-        return this;
-      }
-      public Builder clearLedgerInfo() {
-        if (ledgerInfoBuilder_ == null) {
-          ledgerInfo_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000001);
-          onChanged();
-        } else {
-          ledgerInfoBuilder_.clear();
-        }
-        return this;
-      }
-      public Builder removeLedgerInfo(int index) {
-        if (ledgerInfoBuilder_ == null) {
-          ensureLedgerInfoIsMutable();
-          ledgerInfo_.remove(index);
-          onChanged();
-        } else {
-          ledgerInfoBuilder_.remove(index);
-        }
-        return this;
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo.Builder getLedgerInfoBuilder(
-          int index) {
-        return getLedgerInfoFieldBuilder().getBuilder(index);
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfoOrBuilder getLedgerInfoOrBuilder(
-          int index) {
-        if (ledgerInfoBuilder_ == null) {
-          return ledgerInfo_.get(index);  } else {
-          return ledgerInfoBuilder_.getMessageOrBuilder(index);
-        }
-      }
-      public java.util.List<? extends org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfoOrBuilder> 
-           getLedgerInfoOrBuilderList() {
-        if (ledgerInfoBuilder_ != null) {
-          return ledgerInfoBuilder_.getMessageOrBuilderList();
-        } else {
-          return java.util.Collections.unmodifiableList(ledgerInfo_);
-        }
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo.Builder addLedgerInfoBuilder() {
-        return getLedgerInfoFieldBuilder().addBuilder(
-            org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo.getDefaultInstance());
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo.Builder addLedgerInfoBuilder(
-          int index) {
-        return getLedgerInfoFieldBuilder().addBuilder(
-            index, org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo.getDefaultInstance());
-      }
-      public java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo.Builder> 
-           getLedgerInfoBuilderList() {
-        return getLedgerInfoFieldBuilder().getBuilderList();
-      }
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo, org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfoOrBuilder> 
-          getLedgerInfoFieldBuilder() {
-        if (ledgerInfoBuilder_ == null) {
-          ledgerInfoBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo, org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfoOrBuilder>(
-                  ledgerInfo_,
-                  ((bitField0_ & 0x00000001) == 0x00000001),
-                  getParentForChildren(),
-                  isClean());
-          ledgerInfo_ = null;
-        }
-        return ledgerInfoBuilder_;
-      }
-      
-      // optional .NestedPositionInfo terminatedPosition = 2;
-      private org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo terminatedPosition_ = org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.getDefaultInstance();
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo, org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfoOrBuilder> terminatedPositionBuilder_;
-      public boolean hasTerminatedPosition() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo getTerminatedPosition() {
-        if (terminatedPositionBuilder_ == null) {
-          return terminatedPosition_;
-        } else {
-          return terminatedPositionBuilder_.getMessage();
-        }
-      }
-      public Builder setTerminatedPosition(org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo value) {
-        if (terminatedPositionBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          terminatedPosition_ = value;
-          onChanged();
-        } else {
-          terminatedPositionBuilder_.setMessage(value);
-        }
-        bitField0_ |= 0x00000002;
-        return this;
-      }
-      public Builder setTerminatedPosition(
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.Builder builderForValue) {
-        if (terminatedPositionBuilder_ == null) {
-          terminatedPosition_ = builderForValue.build();
-          onChanged();
-        } else {
-          terminatedPositionBuilder_.setMessage(builderForValue.build());
-        }
-        bitField0_ |= 0x00000002;
-        return this;
-      }
-      public Builder mergeTerminatedPosition(org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo value) {
-        if (terminatedPositionBuilder_ == null) {
-          if (((bitField0_ & 0x00000002) == 0x00000002) &&
-              terminatedPosition_ != org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.getDefaultInstance()) {
-            terminatedPosition_ =
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.newBuilder(terminatedPosition_).mergeFrom(value).buildPartial();
-          } else {
-            terminatedPosition_ = value;
-          }
-          onChanged();
-        } else {
-          terminatedPositionBuilder_.mergeFrom(value);
-        }
-        bitField0_ |= 0x00000002;
-        return this;
-      }
-      public Builder clearTerminatedPosition() {
-        if (terminatedPositionBuilder_ == null) {
-          terminatedPosition_ = org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.getDefaultInstance();
-          onChanged();
-        } else {
-          terminatedPositionBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000002);
-        return this;
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.Builder getTerminatedPositionBuilder() {
-        bitField0_ |= 0x00000002;
-        onChanged();
-        return getTerminatedPositionFieldBuilder().getBuilder();
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfoOrBuilder getTerminatedPositionOrBuilder() {
-        if (terminatedPositionBuilder_ != null) {
-          return terminatedPositionBuilder_.getMessageOrBuilder();
-        } else {
-          return terminatedPosition_;
-        }
-      }
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo, org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfoOrBuilder> 
-          getTerminatedPositionFieldBuilder() {
-        if (terminatedPositionBuilder_ == null) {
-          terminatedPositionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo, org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfoOrBuilder>(
-                  terminatedPosition_,
-                  getParentForChildren(),
-                  isClean());
-          terminatedPosition_ = null;
-        }
-        return terminatedPositionBuilder_;
-      }
-      
-      // @@protoc_insertion_point(builder_scope:ManagedLedgerInfo)
-    }
-    
-    static {
-      defaultInstance = new ManagedLedgerInfo(true);
-      defaultInstance.initFields();
-    }
-    
-    // @@protoc_insertion_point(class_scope:ManagedLedgerInfo)
-  }
-  
-  public interface PositionInfoOrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
-    
-    // required int64 ledgerId = 1;
-    boolean hasLedgerId();
-    long getLedgerId();
-    
-    // required int64 entryId = 2;
-    boolean hasEntryId();
-    long getEntryId();
-    
-    // repeated .MessageRange individualDeletedMessages = 3;
-    java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange> 
-        getIndividualDeletedMessagesList();
-    org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange getIndividualDeletedMessages(int index);
-    int getIndividualDeletedMessagesCount();
-    java.util.List<? extends org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRangeOrBuilder> 
-        getIndividualDeletedMessagesOrBuilderList();
-    org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRangeOrBuilder getIndividualDeletedMessagesOrBuilder(
-        int index);
-    
-    // repeated .LongProperty properties = 4;
-    java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty> 
-        getPropertiesList();
-    org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty getProperties(int index);
-    int getPropertiesCount();
-    java.util.List<? extends org.apache.bookkeeper.mledger.proto.MLDataFormats.LongPropertyOrBuilder> 
-        getPropertiesOrBuilderList();
-    org.apache.bookkeeper.mledger.proto.MLDataFormats.LongPropertyOrBuilder getPropertiesOrBuilder(
-        int index);
-  }
-  public static final class PositionInfo extends
-      com.google.protobuf.GeneratedMessage
-      implements PositionInfoOrBuilder {
-    // Use PositionInfo.newBuilder() to construct.
-    private PositionInfo(Builder builder) {
-      super(builder);
-    }
-    private PositionInfo(boolean noInit) {}
-    
-    private static final PositionInfo defaultInstance;
-    public static PositionInfo getDefaultInstance() {
-      return defaultInstance;
-    }
-    
-    public PositionInfo getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-    
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_PositionInfo_descriptor;
-    }
-    
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_PositionInfo_fieldAccessorTable;
-    }
-    
-    private int bitField0_;
-    // required int64 ledgerId = 1;
-    public static final int LEDGERID_FIELD_NUMBER = 1;
-    private long ledgerId_;
-    public boolean hasLedgerId() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    public long getLedgerId() {
-      return ledgerId_;
-    }
-    
-    // required int64 entryId = 2;
-    public static final int ENTRYID_FIELD_NUMBER = 2;
-    private long entryId_;
-    public boolean hasEntryId() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    public long getEntryId() {
-      return entryId_;
-    }
-    
-    // repeated .MessageRange individualDeletedMessages = 3;
-    public static final int INDIVIDUALDELETEDMESSAGES_FIELD_NUMBER = 3;
-    private java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange> individualDeletedMessages_;
-    public java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange> getIndividualDeletedMessagesList() {
-      return individualDeletedMessages_;
-    }
-    public java.util.List<? extends org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRangeOrBuilder> 
-        getIndividualDeletedMessagesOrBuilderList() {
-      return individualDeletedMessages_;
-    }
-    public int getIndividualDeletedMessagesCount() {
-      return individualDeletedMessages_.size();
-    }
-    public org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange getIndividualDeletedMessages(int index) {
-      return individualDeletedMessages_.get(index);
-    }
-    public org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRangeOrBuilder getIndividualDeletedMessagesOrBuilder(
-        int index) {
-      return individualDeletedMessages_.get(index);
-    }
-    
-    // repeated .LongProperty properties = 4;
-    public static final int PROPERTIES_FIELD_NUMBER = 4;
-    private java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty> properties_;
-    public java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty> getPropertiesList() {
-      return properties_;
-    }
-    public java.util.List<? extends org.apache.bookkeeper.mledger.proto.MLDataFormats.LongPropertyOrBuilder> 
-        getPropertiesOrBuilderList() {
-      return properties_;
-    }
-    public int getPropertiesCount() {
-      return properties_.size();
-    }
-    public org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty getProperties(int index) {
-      return properties_.get(index);
-    }
-    public org.apache.bookkeeper.mledger.proto.MLDataFormats.LongPropertyOrBuilder getPropertiesOrBuilder(
-        int index) {
-      return properties_.get(index);
-    }
-    
-    private void initFields() {
-      ledgerId_ = 0L;
-      entryId_ = 0L;
-      individualDeletedMessages_ = java.util.Collections.emptyList();
-      properties_ = java.util.Collections.emptyList();
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-      
-      if (!hasLedgerId()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasEntryId()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      for (int i = 0; i < getIndividualDeletedMessagesCount(); i++) {
-        if (!getIndividualDeletedMessages(i).isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      for (int i = 0; i < getPropertiesCount(); i++) {
-        if (!getProperties(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.writeInt64(1, ledgerId_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeInt64(2, entryId_);
-      }
-      for (int i = 0; i < individualDeletedMessages_.size(); i++) {
-        output.writeMessage(3, individualDeletedMessages_.get(i));
-      }
-      for (int i = 0; i < properties_.size(); i++) {
-        output.writeMessage(4, properties_.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
-          .computeInt64Size(1, ledgerId_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(2, entryId_);
-      }
-      for (int i = 0; i < individualDeletedMessages_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(3, individualDeletedMessages_.get(i));
-      }
-      for (int i = 0; i < properties_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(4, properties_.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.mledger.proto.MLDataFormats.PositionInfo parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo 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;
-    }
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder>
-       implements org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfoOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_PositionInfo_descriptor;
-      }
-      
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_PositionInfo_fieldAccessorTable;
-      }
-      
-      // Construct using org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-      
-      private Builder(BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-          getIndividualDeletedMessagesFieldBuilder();
-          getPropertiesFieldBuilder();
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-      
-      public Builder clear() {
-        super.clear();
-        ledgerId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        entryId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        if (individualDeletedMessagesBuilder_ == null) {
-          individualDeletedMessages_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000004);
-        } else {
-          individualDeletedMessagesBuilder_.clear();
-        }
-        if (propertiesBuilder_ == null) {
-          properties_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000008);
-        } else {
-          propertiesBuilder_.clear();
-        }
-        return this;
-      }
-      
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-      
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo.getDescriptor();
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo getDefaultInstanceForType() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo.getDefaultInstance();
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo build() {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-      
-      private org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo buildParsed()
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(
-            result).asInvalidProtocolBufferException();
-        }
-        return result;
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo buildPartial() {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo result = new org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo(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.entryId_ = entryId_;
-        if (individualDeletedMessagesBuilder_ == null) {
-          if (((bitField0_ & 0x00000004) == 0x00000004)) {
-            individualDeletedMessages_ = java.util.Collections.unmodifiableList(individualDeletedMessages_);
-            bitField0_ = (bitField0_ & ~0x00000004);
-          }
-          result.individualDeletedMessages_ = individualDeletedMessages_;
-        } else {
-          result.individualDeletedMessages_ = individualDeletedMessagesBuilder_.build();
-        }
-        if (propertiesBuilder_ == null) {
-          if (((bitField0_ & 0x00000008) == 0x00000008)) {
-            properties_ = java.util.Collections.unmodifiableList(properties_);
-            bitField0_ = (bitField0_ & ~0x00000008);
-          }
-          result.properties_ = properties_;
-        } else {
-          result.properties_ = propertiesBuilder_.build();
-        }
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-      
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo) {
-          return mergeFrom((org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-      
-      public Builder mergeFrom(org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo other) {
-        if (other == org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo.getDefaultInstance()) return this;
-        if (other.hasLedgerId()) {
-          setLedgerId(other.getLedgerId());
-        }
-        if (other.hasEntryId()) {
-          setEntryId(other.getEntryId());
-        }
-        if (individualDeletedMessagesBuilder_ == null) {
-          if (!other.individualDeletedMessages_.isEmpty()) {
-            if (individualDeletedMessages_.isEmpty()) {
-              individualDeletedMessages_ = other.individualDeletedMessages_;
-              bitField0_ = (bitField0_ & ~0x00000004);
-            } else {
-              ensureIndividualDeletedMessagesIsMutable();
-              individualDeletedMessages_.addAll(other.individualDeletedMessages_);
-            }
-            onChanged();
-          }
-        } else {
-          if (!other.individualDeletedMessages_.isEmpty()) {
-            if (individualDeletedMessagesBuilder_.isEmpty()) {
-              individualDeletedMessagesBuilder_.dispose();
-              individualDeletedMessagesBuilder_ = null;
-              individualDeletedMessages_ = other.individualDeletedMessages_;
-              bitField0_ = (bitField0_ & ~0x00000004);
-              individualDeletedMessagesBuilder_ = 
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
-                   getIndividualDeletedMessagesFieldBuilder() : null;
-            } else {
-              individualDeletedMessagesBuilder_.addAllMessages(other.individualDeletedMessages_);
-            }
-          }
-        }
-        if (propertiesBuilder_ == null) {
-          if (!other.properties_.isEmpty()) {
-            if (properties_.isEmpty()) {
-              properties_ = other.properties_;
-              bitField0_ = (bitField0_ & ~0x00000008);
-            } else {
-              ensurePropertiesIsMutable();
-              properties_.addAll(other.properties_);
-            }
-            onChanged();
-          }
-        } else {
-          if (!other.properties_.isEmpty()) {
-            if (propertiesBuilder_.isEmpty()) {
-              propertiesBuilder_.dispose();
-              propertiesBuilder_ = null;
-              properties_ = other.properties_;
-              bitField0_ = (bitField0_ & ~0x00000008);
-              propertiesBuilder_ = 
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
-                   getPropertiesFieldBuilder() : null;
-            } else {
-              propertiesBuilder_.addAllMessages(other.properties_);
-            }
-          }
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-      
-      public final boolean isInitialized() {
-        if (!hasLedgerId()) {
-          
-          return false;
-        }
-        if (!hasEntryId()) {
-          
-          return false;
-        }
-        for (int i = 0; i < getIndividualDeletedMessagesCount(); i++) {
-          if (!getIndividualDeletedMessages(i).isInitialized()) {
-            
-            return false;
-          }
-        }
-        for (int i = 0; i < getPropertiesCount(); i++) {
-          if (!getProperties(i).isInitialized()) {
-            
-            return false;
-          }
-        }
-        return true;
-      }
-      
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder(
-            this.getUnknownFields());
-        while (true) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              this.setUnknownFields(unknownFields.build());
-              onChanged();
-              return this;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                this.setUnknownFields(unknownFields.build());
-                onChanged();
-                return this;
-              }
-              break;
-            }
-            case 8: {
-              bitField0_ |= 0x00000001;
-              ledgerId_ = input.readInt64();
-              break;
-            }
-            case 16: {
-              bitField0_ |= 0x00000002;
-              entryId_ = input.readInt64();
-              break;
-            }
-            case 26: {
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder subBuilder = org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.newBuilder();
-              input.readMessage(subBuilder, extensionRegistry);
-              addIndividualDeletedMessages(subBuilder.buildPartial());
-              break;
-            }
-            case 34: {
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder subBuilder = org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.newBuilder();
-              input.readMessage(subBuilder, extensionRegistry);
-              addProperties(subBuilder.buildPartial());
-              break;
-            }
-          }
-        }
-      }
-      
-      private int bitField0_;
-      
-      // required int64 ledgerId = 1;
-      private long ledgerId_ ;
-      public boolean hasLedgerId() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      public long getLedgerId() {
-        return ledgerId_;
-      }
-      public Builder setLedgerId(long value) {
-        bitField0_ |= 0x00000001;
-        ledgerId_ = value;
-        onChanged();
-        return this;
-      }
-      public Builder clearLedgerId() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        ledgerId_ = 0L;
-        onChanged();
-        return this;
-      }
-      
-      // required int64 entryId = 2;
-      private long entryId_ ;
-      public boolean hasEntryId() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      public long getEntryId() {
-        return entryId_;
-      }
-      public Builder setEntryId(long value) {
-        bitField0_ |= 0x00000002;
-        entryId_ = value;
-        onChanged();
-        return this;
-      }
-      public Builder clearEntryId() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        entryId_ = 0L;
-        onChanged();
-        return this;
-      }
-      
-      // repeated .MessageRange individualDeletedMessages = 3;
-      private java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange> individualDeletedMessages_ =
-        java.util.Collections.emptyList();
-      private void ensureIndividualDeletedMessagesIsMutable() {
-        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
-          individualDeletedMessages_ = new java.util.ArrayList<org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange>(individualDeletedMessages_);
-          bitField0_ |= 0x00000004;
-         }
-      }
-      
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRangeOrBuilder> individualDeletedMessagesBuilder_;
-      
-      public java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange> getIndividualDeletedMessagesList() {
-        if (individualDeletedMessagesBuilder_ == null) {
-          return java.util.Collections.unmodifiableList(individualDeletedMessages_);
-        } else {
-          return individualDeletedMessagesBuilder_.getMessageList();
-        }
-      }
-      public int getIndividualDeletedMessagesCount() {
-        if (individualDeletedMessagesBuilder_ == null) {
-          return individualDeletedMessages_.size();
-        } else {
-          return individualDeletedMessagesBuilder_.getCount();
-        }
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange getIndividualDeletedMessages(int index) {
-        if (individualDeletedMessagesBuilder_ == null) {
-          return individualDeletedMessages_.get(index);
-        } else {
-          return individualDeletedMessagesBuilder_.getMessage(index);
-        }
-      }
-      public Builder setIndividualDeletedMessages(
-          int index, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange value) {
-        if (individualDeletedMessagesBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureIndividualDeletedMessagesIsMutable();
-          individualDeletedMessages_.set(index, value);
-          onChanged();
-        } else {
-          individualDeletedMessagesBuilder_.setMessage(index, value);
-        }
-        return this;
-      }
-      public Builder setIndividualDeletedMessages(
-          int index, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder builderForValue) {
-        if (individualDeletedMessagesBuilder_ == null) {
-          ensureIndividualDeletedMessagesIsMutable();
-          individualDeletedMessages_.set(index, builderForValue.build());
-          onChanged();
-        } else {
-          individualDeletedMessagesBuilder_.setMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      public Builder addIndividualDeletedMessages(org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange value) {
-        if (individualDeletedMessagesBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureIndividualDeletedMessagesIsMutable();
-          individualDeletedMessages_.add(value);
-          onChanged();
-        } else {
-          individualDeletedMessagesBuilder_.addMessage(value);
-        }
-        return this;
-      }
-      public Builder addIndividualDeletedMessages(
-          int index, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange value) {
-        if (individualDeletedMessagesBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureIndividualDeletedMessagesIsMutable();
-          individualDeletedMessages_.add(index, value);
-          onChanged();
-        } else {
-          individualDeletedMessagesBuilder_.addMessage(index, value);
-        }
-        return this;
-      }
-      public Builder addIndividualDeletedMessages(
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder builderForValue) {
-        if (individualDeletedMessagesBuilder_ == null) {
-          ensureIndividualDeletedMessagesIsMutable();
-          individualDeletedMessages_.add(builderForValue.build());
-          onChanged();
-        } else {
-          individualDeletedMessagesBuilder_.addMessage(builderForValue.build());
-        }
-        return this;
-      }
-      public Builder addIndividualDeletedMessages(
-          int index, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder builderForValue) {
-        if (individualDeletedMessagesBuilder_ == null) {
-          ensureIndividualDeletedMessagesIsMutable();
-          individualDeletedMessages_.add(index, builderForValue.build());
-          onChanged();
-        } else {
-          individualDeletedMessagesBuilder_.addMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      public Builder addAllIndividualDeletedMessages(
-          java.lang.Iterable<? extends org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange> values) {
-        if (individualDeletedMessagesBuilder_ == null) {
-          ensureIndividualDeletedMessagesIsMutable();
-          super.addAll(values, individualDeletedMessages_);
-          onChanged();
-        } else {
-          individualDeletedMessagesBuilder_.addAllMessages(values);
-        }
-        return this;
-      }
-      public Builder clearIndividualDeletedMessages() {
-        if (individualDeletedMessagesBuilder_ == null) {
-          individualDeletedMessages_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000004);
-          onChanged();
-        } else {
-          individualDeletedMessagesBuilder_.clear();
-        }
-        return this;
-      }
-      public Builder removeIndividualDeletedMessages(int index) {
-        if (individualDeletedMessagesBuilder_ == null) {
-          ensureIndividualDeletedMessagesIsMutable();
-          individualDeletedMessages_.remove(index);
-          onChanged();
-        } else {
-          individualDeletedMessagesBuilder_.remove(index);
-        }
-        return this;
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder getIndividualDeletedMessagesBuilder(
-          int index) {
-        return getIndividualDeletedMessagesFieldBuilder().getBuilder(index);
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRangeOrBuilder getIndividualDeletedMessagesOrBuilder(
-          int index) {
-        if (individualDeletedMessagesBuilder_ == null) {
-          return individualDeletedMessages_.get(index);  } else {
-          return individualDeletedMessagesBuilder_.getMessageOrBuilder(index);
-        }
-      }
-      public java.util.List<? extends org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRangeOrBuilder> 
-           getIndividualDeletedMessagesOrBuilderList() {
-        if (individualDeletedMessagesBuilder_ != null) {
-          return individualDeletedMessagesBuilder_.getMessageOrBuilderList();
-        } else {
-          return java.util.Collections.unmodifiableList(individualDeletedMessages_);
-        }
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder addIndividualDeletedMessagesBuilder() {
-        return getIndividualDeletedMessagesFieldBuilder().addBuilder(
-            org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.getDefaultInstance());
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder addIndividualDeletedMessagesBuilder(
-          int index) {
-        return getIndividualDeletedMessagesFieldBuilder().addBuilder(
-            index, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.getDefaultInstance());
-      }
-      public java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder> 
-           getIndividualDeletedMessagesBuilderList() {
-        return getIndividualDeletedMessagesFieldBuilder().getBuilderList();
-      }
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRangeOrBuilder> 
-          getIndividualDeletedMessagesFieldBuilder() {
-        if (individualDeletedMessagesBuilder_ == null) {
-          individualDeletedMessagesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRangeOrBuilder>(
-                  individualDeletedMessages_,
-                  ((bitField0_ & 0x00000004) == 0x00000004),
-                  getParentForChildren(),
-                  isClean());
-          individualDeletedMessages_ = null;
-        }
-        return individualDeletedMessagesBuilder_;
-      }
-      
-      // repeated .LongProperty properties = 4;
-      private java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty> properties_ =
-        java.util.Collections.emptyList();
-      private void ensurePropertiesIsMutable() {
-        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
-          properties_ = new java.util.ArrayList<org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty>(properties_);
-          bitField0_ |= 0x00000008;
-         }
-      }
-      
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongPropertyOrBuilder> propertiesBuilder_;
-      
-      public java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty> getPropertiesList() {
-        if (propertiesBuilder_ == null) {
-          return java.util.Collections.unmodifiableList(properties_);
-        } else {
-          return propertiesBuilder_.getMessageList();
-        }
-      }
-      public int getPropertiesCount() {
-        if (propertiesBuilder_ == null) {
-          return properties_.size();
-        } else {
-          return propertiesBuilder_.getCount();
-        }
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty getProperties(int index) {
-        if (propertiesBuilder_ == null) {
-          return properties_.get(index);
-        } else {
-          return propertiesBuilder_.getMessage(index);
-        }
-      }
-      public Builder setProperties(
-          int index, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty value) {
-        if (propertiesBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensurePropertiesIsMutable();
-          properties_.set(index, value);
-          onChanged();
-        } else {
-          propertiesBuilder_.setMessage(index, value);
-        }
-        return this;
-      }
-      public Builder setProperties(
-          int index, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder builderForValue) {
-        if (propertiesBuilder_ == null) {
-          ensurePropertiesIsMutable();
-          properties_.set(index, builderForValue.build());
-          onChanged();
-        } else {
-          propertiesBuilder_.setMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      public Builder addProperties(org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty value) {
-        if (propertiesBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensurePropertiesIsMutable();
-          properties_.add(value);
-          onChanged();
-        } else {
-          propertiesBuilder_.addMessage(value);
-        }
-        return this;
-      }
-      public Builder addProperties(
-          int index, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty value) {
-        if (propertiesBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensurePropertiesIsMutable();
-          properties_.add(index, value);
-          onChanged();
-        } else {
-          propertiesBuilder_.addMessage(index, value);
-        }
-        return this;
-      }
-      public Builder addProperties(
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder builderForValue) {
-        if (propertiesBuilder_ == null) {
-          ensurePropertiesIsMutable();
-          properties_.add(builderForValue.build());
-          onChanged();
-        } else {
-          propertiesBuilder_.addMessage(builderForValue.build());
-        }
-        return this;
-      }
-      public Builder addProperties(
-          int index, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder builderForValue) {
-        if (propertiesBuilder_ == null) {
-          ensurePropertiesIsMutable();
-          properties_.add(index, builderForValue.build());
-          onChanged();
-        } else {
-          propertiesBuilder_.addMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      public Builder addAllProperties(
-          java.lang.Iterable<? extends org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty> values) {
-        if (propertiesBuilder_ == null) {
-          ensurePropertiesIsMutable();
-          super.addAll(values, properties_);
-          onChanged();
-        } else {
-          propertiesBuilder_.addAllMessages(values);
-        }
-        return this;
-      }
-      public Builder clearProperties() {
-        if (propertiesBuilder_ == null) {
-          properties_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000008);
-          onChanged();
-        } else {
-          propertiesBuilder_.clear();
-        }
-        return this;
-      }
-      public Builder removeProperties(int index) {
-        if (propertiesBuilder_ == null) {
-          ensurePropertiesIsMutable();
-          properties_.remove(index);
-          onChanged();
-        } else {
-          propertiesBuilder_.remove(index);
-        }
-        return this;
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder getPropertiesBuilder(
-          int index) {
-        return getPropertiesFieldBuilder().getBuilder(index);
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.LongPropertyOrBuilder getPropertiesOrBuilder(
-          int index) {
-        if (propertiesBuilder_ == null) {
-          return properties_.get(index);  } else {
-          return propertiesBuilder_.getMessageOrBuilder(index);
-        }
-      }
-      public java.util.List<? extends org.apache.bookkeeper.mledger.proto.MLDataFormats.LongPropertyOrBuilder> 
-           getPropertiesOrBuilderList() {
-        if (propertiesBuilder_ != null) {
-          return propertiesBuilder_.getMessageOrBuilderList();
-        } else {
-          return java.util.Collections.unmodifiableList(properties_);
-        }
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder addPropertiesBuilder() {
-        return getPropertiesFieldBuilder().addBuilder(
-            org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.getDefaultInstance());
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder addPropertiesBuilder(
-          int index) {
-        return getPropertiesFieldBuilder().addBuilder(
-            index, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.getDefaultInstance());
-      }
-      public java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder> 
-           getPropertiesBuilderList() {
-        return getPropertiesFieldBuilder().getBuilderList();
-      }
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongPropertyOrBuilder> 
-          getPropertiesFieldBuilder() {
-        if (propertiesBuilder_ == null) {
-          propertiesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongPropertyOrBuilder>(
-                  properties_,
-                  ((bitField0_ & 0x00000008) == 0x00000008),
-                  getParentForChildren(),
-                  isClean());
-          properties_ = null;
-        }
-        return propertiesBuilder_;
-      }
-      
-      // @@protoc_insertion_point(builder_scope:PositionInfo)
-    }
-    
-    static {
-      defaultInstance = new PositionInfo(true);
-      defaultInstance.initFields();
-    }
-    
-    // @@protoc_insertion_point(class_scope:PositionInfo)
-  }
-  
-  public interface NestedPositionInfoOrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
-    
-    // required int64 ledgerId = 1;
-    boolean hasLedgerId();
-    long getLedgerId();
-    
-    // required int64 entryId = 2;
-    boolean hasEntryId();
-    long getEntryId();
-  }
-  public static final class NestedPositionInfo extends
-      com.google.protobuf.GeneratedMessage
-      implements NestedPositionInfoOrBuilder {
-    // Use NestedPositionInfo.newBuilder() to construct.
-    private NestedPositionInfo(Builder builder) {
-      super(builder);
-    }
-    private NestedPositionInfo(boolean noInit) {}
-    
-    private static final NestedPositionInfo defaultInstance;
-    public static NestedPositionInfo getDefaultInstance() {
-      return defaultInstance;
-    }
-    
-    public NestedPositionInfo getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-    
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_NestedPositionInfo_descriptor;
-    }
-    
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_NestedPositionInfo_fieldAccessorTable;
-    }
-    
-    private int bitField0_;
-    // required int64 ledgerId = 1;
-    public static final int LEDGERID_FIELD_NUMBER = 1;
-    private long ledgerId_;
-    public boolean hasLedgerId() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    public long getLedgerId() {
-      return ledgerId_;
-    }
-    
-    // required int64 entryId = 2;
-    public static final int ENTRYID_FIELD_NUMBER = 2;
-    private long entryId_;
-    public boolean hasEntryId() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    public long getEntryId() {
-      return entryId_;
-    }
-    
-    private void initFields() {
-      ledgerId_ = 0L;
-      entryId_ = 0L;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-      
-      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.writeInt64(1, ledgerId_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeInt64(2, 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
-          .computeInt64Size(1, ledgerId_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(2, 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.mledger.proto.MLDataFormats.NestedPositionInfo parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo 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;
-    }
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder>
-       implements org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfoOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_NestedPositionInfo_descriptor;
-      }
-      
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_NestedPositionInfo_fieldAccessorTable;
-      }
-      
-      // Construct using org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-      
-      private Builder(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);
-        entryId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        return this;
-      }
-      
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-      
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.getDescriptor();
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo getDefaultInstanceForType() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.getDefaultInstance();
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo build() {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-      
-      private org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo buildParsed()
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(
-            result).asInvalidProtocolBufferException();
-        }
-        return result;
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo buildPartial() {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo result = new org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo(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.entryId_ = entryId_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-      
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo) {
-          return mergeFrom((org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-      
-      public Builder mergeFrom(org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo other) {
-        if (other == org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.getDefaultInstance()) return this;
-        if (other.hasLedgerId()) {
-          setLedgerId(other.getLedgerId());
-        }
-        if (other.hasEntryId()) {
-          setEntryId(other.getEntryId());
-        }
-        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 {
-        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder(
-            this.getUnknownFields());
-        while (true) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              this.setUnknownFields(unknownFields.build());
-              onChanged();
-              return this;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                this.setUnknownFields(unknownFields.build());
-                onChanged();
-                return this;
-              }
-              break;
-            }
-            case 8: {
-              bitField0_ |= 0x00000001;
-              ledgerId_ = input.readInt64();
-              break;
-            }
-            case 16: {
-              bitField0_ |= 0x00000002;
-              entryId_ = input.readInt64();
-              break;
-            }
-          }
-        }
-      }
-      
-      private int bitField0_;
-      
-      // required int64 ledgerId = 1;
-      private long ledgerId_ ;
-      public boolean hasLedgerId() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      public long getLedgerId() {
-        return ledgerId_;
-      }
-      public Builder setLedgerId(long value) {
-        bitField0_ |= 0x00000001;
-        ledgerId_ = value;
-        onChanged();
-        return this;
-      }
-      public Builder clearLedgerId() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        ledgerId_ = 0L;
-        onChanged();
-        return this;
-      }
-      
-      // required int64 entryId = 2;
-      private long entryId_ ;
-      public boolean hasEntryId() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      public long getEntryId() {
-        return entryId_;
-      }
-      public Builder setEntryId(long value) {
-        bitField0_ |= 0x00000002;
-        entryId_ = value;
-        onChanged();
-        return this;
-      }
-      public Builder clearEntryId() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        entryId_ = 0L;
-        onChanged();
-        return this;
-      }
-      
-      // @@protoc_insertion_point(builder_scope:NestedPositionInfo)
-    }
-    
-    static {
-      defaultInstance = new NestedPositionInfo(true);
-      defaultInstance.initFields();
-    }
-    
-    // @@protoc_insertion_point(class_scope:NestedPositionInfo)
-  }
-  
-  public interface MessageRangeOrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
-    
-    // required .NestedPositionInfo lowerEndpoint = 1;
-    boolean hasLowerEndpoint();
-    org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo getLowerEndpoint();
-    org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfoOrBuilder getLowerEndpointOrBuilder();
-    
-    // required .NestedPositionInfo upperEndpoint = 2;
-    boolean hasUpperEndpoint();
-    org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo getUpperEndpoint();
-    org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfoOrBuilder getUpperEndpointOrBuilder();
-  }
-  public static final class MessageRange extends
-      com.google.protobuf.GeneratedMessage
-      implements MessageRangeOrBuilder {
-    // Use MessageRange.newBuilder() to construct.
-    private MessageRange(Builder builder) {
-      super(builder);
-    }
-    private MessageRange(boolean noInit) {}
-    
-    private static final MessageRange defaultInstance;
-    public static MessageRange getDefaultInstance() {
-      return defaultInstance;
-    }
-    
-    public MessageRange getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-    
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_MessageRange_descriptor;
-    }
-    
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_MessageRange_fieldAccessorTable;
-    }
-    
-    private int bitField0_;
-    // required .NestedPositionInfo lowerEndpoint = 1;
-    public static final int LOWERENDPOINT_FIELD_NUMBER = 1;
-    private org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo lowerEndpoint_;
-    public boolean hasLowerEndpoint() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    public org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo getLowerEndpoint() {
-      return lowerEndpoint_;
-    }
-    public org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfoOrBuilder getLowerEndpointOrBuilder() {
-      return lowerEndpoint_;
-    }
-    
-    // required .NestedPositionInfo upperEndpoint = 2;
-    public static final int UPPERENDPOINT_FIELD_NUMBER = 2;
-    private org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo upperEndpoint_;
-    public boolean hasUpperEndpoint() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    public org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo getUpperEndpoint() {
-      return upperEndpoint_;
-    }
-    public org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfoOrBuilder getUpperEndpointOrBuilder() {
-      return upperEndpoint_;
-    }
-    
-    private void initFields() {
-      lowerEndpoint_ = org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.getDefaultInstance();
-      upperEndpoint_ = org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.getDefaultInstance();
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-      
-      if (!hasLowerEndpoint()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasUpperEndpoint()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!getLowerEndpoint().isInitialized()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!getUpperEndpoint().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, lowerEndpoint_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeMessage(2, upperEndpoint_);
-      }
-      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, lowerEndpoint_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(2, upperEndpoint_);
-      }
-      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.mledger.proto.MLDataFormats.MessageRange parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange 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;
-    }
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder>
-       implements org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRangeOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_MessageRange_descriptor;
-      }
-      
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_MessageRange_fieldAccessorTable;
-      }
-      
-      // Construct using org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-      
-      private Builder(BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-          getLowerEndpointFieldBuilder();
-          getUpperEndpointFieldBuilder();
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-      
-      public Builder clear() {
-        super.clear();
-        if (lowerEndpointBuilder_ == null) {
-          lowerEndpoint_ = org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.getDefaultInstance();
-        } else {
-          lowerEndpointBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000001);
-        if (upperEndpointBuilder_ == null) {
-          upperEndpoint_ = org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.getDefaultInstance();
-        } else {
-          upperEndpointBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000002);
-        return this;
-      }
-      
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-      
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.getDescriptor();
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange getDefaultInstanceForType() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.getDefaultInstance();
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange build() {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-      
-      private org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange buildParsed()
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(
-            result).asInvalidProtocolBufferException();
-        }
-        return result;
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange buildPartial() {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange result = new org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        if (lowerEndpointBuilder_ == null) {
-          result.lowerEndpoint_ = lowerEndpoint_;
-        } else {
-          result.lowerEndpoint_ = lowerEndpointBuilder_.build();
-        }
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        if (upperEndpointBuilder_ == null) {
-          result.upperEndpoint_ = upperEndpoint_;
-        } else {
-          result.upperEndpoint_ = upperEndpointBuilder_.build();
-        }
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-      
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange) {
-          return mergeFrom((org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-      
-      public Builder mergeFrom(org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange other) {
-        if (other == org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.getDefaultInstance()) return this;
-        if (other.hasLowerEndpoint()) {
-          mergeLowerEndpoint(other.getLowerEndpoint());
-        }
-        if (other.hasUpperEndpoint()) {
-          mergeUpperEndpoint(other.getUpperEndpoint());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-      
-      public final boolean isInitialized() {
-        if (!hasLowerEndpoint()) {
-          
-          return false;
-        }
-        if (!hasUpperEndpoint()) {
-          
-          return false;
-        }
-        if (!getLowerEndpoint().isInitialized()) {
-          
-          return false;
-        }
-        if (!getUpperEndpoint().isInitialized()) {
-          
-          return false;
-        }
-        return true;
-      }
-      
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder(
-            this.getUnknownFields());
-        while (true) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              this.setUnknownFields(unknownFields.build());
-              onChanged();
-              return this;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                this.setUnknownFields(unknownFields.build());
-                onChanged();
-                return this;
-              }
-              break;
-            }
-            case 10: {
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.Builder subBuilder = org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.newBuilder();
-              if (hasLowerEndpoint()) {
-                subBuilder.mergeFrom(getLowerEndpoint());
-              }
-              input.readMessage(subBuilder, extensionRegistry);
-              setLowerEndpoint(subBuilder.buildPartial());
-              break;
-            }
-            case 18: {
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.Builder subBuilder = org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.newBuilder();
-              if (hasUpperEndpoint()) {
-                subBuilder.mergeFrom(getUpperEndpoint());
-              }
-              input.readMessage(subBuilder, extensionRegistry);
-              setUpperEndpoint(subBuilder.buildPartial());
-              break;
-            }
-          }
-        }
-      }
-      
-      private int bitField0_;
-      
-      // required .NestedPositionInfo lowerEndpoint = 1;
-      private org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo lowerEndpoint_ = org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.getDefaultInstance();
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo, org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfoOrBuilder> lowerEndpointBuilder_;
-      public boolean hasLowerEndpoint() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo getLowerEndpoint() {
-        if (lowerEndpointBuilder_ == null) {
-          return lowerEndpoint_;
-        } else {
-          return lowerEndpointBuilder_.getMessage();
-        }
-      }
-      public Builder setLowerEndpoint(org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo value) {
-        if (lowerEndpointBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          lowerEndpoint_ = value;
-          onChanged();
-        } else {
-          lowerEndpointBuilder_.setMessage(value);
-        }
-        bitField0_ |= 0x00000001;
-        return this;
-      }
-      public Builder setLowerEndpoint(
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.Builder builderForValue) {
-        if (lowerEndpointBuilder_ == null) {
-          lowerEndpoint_ = builderForValue.build();
-          onChanged();
-        } else {
-          lowerEndpointBuilder_.setMessage(builderForValue.build());
-        }
-        bitField0_ |= 0x00000001;
-        return this;
-      }
-      public Builder mergeLowerEndpoint(org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo value) {
-        if (lowerEndpointBuilder_ == null) {
-          if (((bitField0_ & 0x00000001) == 0x00000001) &&
-              lowerEndpoint_ != org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.getDefaultInstance()) {
-            lowerEndpoint_ =
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.newBuilder(lowerEndpoint_).mergeFrom(value).buildPartial();
-          } else {
-            lowerEndpoint_ = value;
-          }
-          onChanged();
-        } else {
-          lowerEndpointBuilder_.mergeFrom(value);
-        }
-        bitField0_ |= 0x00000001;
-        return this;
-      }
-      public Builder clearLowerEndpoint() {
-        if (lowerEndpointBuilder_ == null) {
-          lowerEndpoint_ = org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.getDefaultInstance();
-          onChanged();
-        } else {
-          lowerEndpointBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000001);
-        return this;
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.Builder getLowerEndpointBuilder() {
-        bitField0_ |= 0x00000001;
-        onChanged();
-        return getLowerEndpointFieldBuilder().getBuilder();
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfoOrBuilder getLowerEndpointOrBuilder() {
-        if (lowerEndpointBuilder_ != null) {
-          return lowerEndpointBuilder_.getMessageOrBuilder();
-        } else {
-          return lowerEndpoint_;
-        }
-      }
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo, org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfoOrBuilder> 
-          getLowerEndpointFieldBuilder() {
-        if (lowerEndpointBuilder_ == null) {
-          lowerEndpointBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo, org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfoOrBuilder>(
-                  lowerEndpoint_,
-                  getParentForChildren(),
-                  isClean());
-          lowerEndpoint_ = null;
-        }
-        return lowerEndpointBuilder_;
-      }
-      
-      // required .NestedPositionInfo upperEndpoint = 2;
-      private org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo upperEndpoint_ = org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.getDefaultInstance();
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo, org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfoOrBuilder> upperEndpointBuilder_;
-      public boolean hasUpperEndpoint() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo getUpperEndpoint() {
-        if (upperEndpointBuilder_ == null) {
-          return upperEndpoint_;
-        } else {
-          return upperEndpointBuilder_.getMessage();
-        }
-      }
-      public Builder setUpperEndpoint(org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo value) {
-        if (upperEndpointBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          upperEndpoint_ = value;
-          onChanged();
-        } else {
-          upperEndpointBuilder_.setMessage(value);
-        }
-        bitField0_ |= 0x00000002;
-        return this;
-      }
-      public Builder setUpperEndpoint(
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.Builder builderForValue) {
-        if (upperEndpointBuilder_ == null) {
-          upperEndpoint_ = builderForValue.build();
-          onChanged();
-        } else {
-          upperEndpointBuilder_.setMessage(builderForValue.build());
-        }
-        bitField0_ |= 0x00000002;
-        return this;
-      }
-      public Builder mergeUpperEndpoint(org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo value) {
-        if (upperEndpointBuilder_ == null) {
-          if (((bitField0_ & 0x00000002) == 0x00000002) &&
-              upperEndpoint_ != org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.getDefaultInstance()) {
-            upperEndpoint_ =
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.newBuilder(upperEndpoint_).mergeFrom(value).buildPartial();
-          } else {
-            upperEndpoint_ = value;
-          }
-          onChanged();
-        } else {
-          upperEndpointBuilder_.mergeFrom(value);
-        }
-        bitField0_ |= 0x00000002;
-        return this;
-      }
-      public Builder clearUpperEndpoint() {
-        if (upperEndpointBuilder_ == null) {
-          upperEndpoint_ = org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.getDefaultInstance();
-          onChanged();
-        } else {
-          upperEndpointBuilder_.clear();
-        }
-        bitField0_ = (bitField0_ & ~0x00000002);
-        return this;
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.Builder getUpperEndpointBuilder() {
-        bitField0_ |= 0x00000002;
-        onChanged();
-        return getUpperEndpointFieldBuilder().getBuilder();
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfoOrBuilder getUpperEndpointOrBuilder() {
-        if (upperEndpointBuilder_ != null) {
-          return upperEndpointBuilder_.getMessageOrBuilder();
-        } else {
-          return upperEndpoint_;
-        }
-      }
-      private com.google.protobuf.SingleFieldBuilder<
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo, org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfoOrBuilder> 
-          getUpperEndpointFieldBuilder() {
-        if (upperEndpointBuilder_ == null) {
-          upperEndpointBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo, org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfoOrBuilder>(
-                  upperEndpoint_,
-                  getParentForChildren(),
-                  isClean());
-          upperEndpoint_ = null;
-        }
-        return upperEndpointBuilder_;
-      }
-      
-      // @@protoc_insertion_point(builder_scope:MessageRange)
-    }
-    
-    static {
-      defaultInstance = new MessageRange(true);
-      defaultInstance.initFields();
-    }
-    
-    // @@protoc_insertion_point(class_scope:MessageRange)
-  }
-  
-  public interface LongPropertyOrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
-    
-    // required string name = 1;
-    boolean hasName();
-    String getName();
-    
-    // required int64 value = 2;
-    boolean hasValue();
-    long getValue();
-  }
-  public static final class LongProperty extends
-      com.google.protobuf.GeneratedMessage
-      implements LongPropertyOrBuilder {
-    // Use LongProperty.newBuilder() to construct.
-    private LongProperty(Builder builder) {
-      super(builder);
-    }
-    private LongProperty(boolean noInit) {}
-    
-    private static final LongProperty defaultInstance;
-    public static LongProperty getDefaultInstance() {
-      return defaultInstance;
-    }
-    
-    public LongProperty getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-    
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_LongProperty_descriptor;
-    }
-    
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_LongProperty_fieldAccessorTable;
-    }
-    
-    private int bitField0_;
-    // required string name = 1;
-    public static final int NAME_FIELD_NUMBER = 1;
-    private java.lang.Object name_;
-    public boolean hasName() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    public String getName() {
-      java.lang.Object ref = name_;
-      if (ref instanceof String) {
-        return (String) ref;
-      } else {
-        com.google.protobuf.ByteString bs = 
-            (com.google.protobuf.ByteString) ref;
-        String s = bs.toStringUtf8();
-        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
-          name_ = s;
-        }
-        return s;
-      }
-    }
-    private com.google.protobuf.ByteString getNameBytes() {
-      java.lang.Object ref = name_;
-      if (ref instanceof String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
-        name_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-    
-    // required int64 value = 2;
-    public static final int VALUE_FIELD_NUMBER = 2;
-    private long value_;
-    public boolean hasValue() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    public long getValue() {
-      return value_;
-    }
-    
-    private void initFields() {
-      name_ = "";
-      value_ = 0L;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-      
-      if (!hasName()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasValue()) {
-        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, getNameBytes());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeInt64(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, getNameBytes());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(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.mledger.proto.MLDataFormats.LongProperty parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty 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;
-    }
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder>
-       implements org.apache.bookkeeper.mledger.proto.MLDataFormats.LongPropertyOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_LongProperty_descriptor;
-      }
-      
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_LongProperty_fieldAccessorTable;
-      }
-      
-      // Construct using org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-      
-      private Builder(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();
-        name_ = "";
-        bitField0_ = (bitField0_ & ~0x00000001);
-        value_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        return this;
-      }
-      
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-      
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.getDescriptor();
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty getDefaultInstanceForType() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.getDefaultInstance();
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty build() {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-      
-      private org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty buildParsed()
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(
-            result).asInvalidProtocolBufferException();
-        }
-        return result;
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty buildPartial() {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty result = new org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.name_ = name_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.value_ = value_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-      
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty) {
-          return mergeFrom((org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-      
-      public Builder mergeFrom(org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty other) {
-        if (other == org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.getDefaultInstance()) return this;
-        if (other.hasName()) {
-          setName(other.getName());
-        }
-        if (other.hasValue()) {
-          setValue(other.getValue());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-      
-      public final boolean isInitialized() {
-        if (!hasName()) {
-          
-          return false;
-        }
-        if (!hasValue()) {
-          
-          return false;
-        }
-        return true;
-      }
-      
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder(
-            this.getUnknownFields());
-        while (true) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              this.setUnknownFields(unknownFields.build());
-              onChanged();
-              return this;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                this.setUnknownFields(unknownFields.build());
-                onChanged();
-                return this;
-              }
-              break;
-            }
-            case 10: {
-              bitField0_ |= 0x00000001;
-              name_ = input.readBytes();
-              break;
-            }
-            case 16: {
-              bitField0_ |= 0x00000002;
-              value_ = input.readInt64();
-              break;
-            }
-          }
-        }
-      }
-      
-      private int bitField0_;
-      
-      // required string name = 1;
-      private java.lang.Object name_ = "";
-      public boolean hasName() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      public String getName() {
-        java.lang.Object ref = name_;
-        if (!(ref instanceof String)) {
-          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
-          name_ = s;
-          return s;
-        } else {
-          return (String) ref;
-        }
-      }
-      public Builder setName(String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        name_ = value;
-        onChanged();
-        return this;
-      }
-      public Builder clearName() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        name_ = getDefaultInstance().getName();
-        onChanged();
-        return this;
-      }
-      void setName(com.google.protobuf.ByteString value) {
-        bitField0_ |= 0x00000001;
-        name_ = value;
-        onChanged();
-      }
-      
-      // required int64 value = 2;
-      private long value_ ;
-      public boolean hasValue() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      public long getValue() {
-        return value_;
-      }
-      public Builder setValue(long value) {
-        bitField0_ |= 0x00000002;
-        value_ = value;
-        onChanged();
-        return this;
-      }
-      public Builder clearValue() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        value_ = 0L;
-        onChanged();
-        return this;
-      }
-      
-      // @@protoc_insertion_point(builder_scope:LongProperty)
-    }
-    
-    static {
-      defaultInstance = new LongProperty(true);
-      defaultInstance.initFields();
-    }
-    
-    // @@protoc_insertion_point(class_scope:LongProperty)
-  }
-  
-  public interface ManagedCursorInfoOrBuilder
-      extends com.google.protobuf.MessageOrBuilder {
-    
-    // required int64 cursorsLedgerId = 1;
-    boolean hasCursorsLedgerId();
-    long getCursorsLedgerId();
-    
-    // optional int64 markDeleteLedgerId = 2;
-    boolean hasMarkDeleteLedgerId();
-    long getMarkDeleteLedgerId();
-    
-    // optional int64 markDeleteEntryId = 3;
-    boolean hasMarkDeleteEntryId();
-    long getMarkDeleteEntryId();
-    
-    // repeated .MessageRange individualDeletedMessages = 4;
-    java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange> 
-        getIndividualDeletedMessagesList();
-    org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange getIndividualDeletedMessages(int index);
-    int getIndividualDeletedMessagesCount();
-    java.util.List<? extends org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRangeOrBuilder> 
-        getIndividualDeletedMessagesOrBuilderList();
-    org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRangeOrBuilder getIndividualDeletedMessagesOrBuilder(
-        int index);
-    
-    // repeated .LongProperty properties = 5;
-    java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty> 
-        getPropertiesList();
-    org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty getProperties(int index);
-    int getPropertiesCount();
-    java.util.List<? extends org.apache.bookkeeper.mledger.proto.MLDataFormats.LongPropertyOrBuilder> 
-        getPropertiesOrBuilderList();
-    org.apache.bookkeeper.mledger.proto.MLDataFormats.LongPropertyOrBuilder getPropertiesOrBuilder(
-        int index);
-    
-    // optional int64 lastActive = 6;
-    boolean hasLastActive();
-    long getLastActive();
-  }
-  public static final class ManagedCursorInfo extends
-      com.google.protobuf.GeneratedMessage
-      implements ManagedCursorInfoOrBuilder {
-    // Use ManagedCursorInfo.newBuilder() to construct.
-    private ManagedCursorInfo(Builder builder) {
-      super(builder);
-    }
-    private ManagedCursorInfo(boolean noInit) {}
-    
-    private static final ManagedCursorInfo defaultInstance;
-    public static ManagedCursorInfo getDefaultInstance() {
-      return defaultInstance;
-    }
-    
-    public ManagedCursorInfo getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-    
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_ManagedCursorInfo_descriptor;
-    }
-    
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_ManagedCursorInfo_fieldAccessorTable;
-    }
-    
-    private int bitField0_;
-    // required int64 cursorsLedgerId = 1;
-    public static final int CURSORSLEDGERID_FIELD_NUMBER = 1;
-    private long cursorsLedgerId_;
-    public boolean hasCursorsLedgerId() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    public long getCursorsLedgerId() {
-      return cursorsLedgerId_;
-    }
-    
-    // optional int64 markDeleteLedgerId = 2;
-    public static final int MARKDELETELEDGERID_FIELD_NUMBER = 2;
-    private long markDeleteLedgerId_;
-    public boolean hasMarkDeleteLedgerId() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    public long getMarkDeleteLedgerId() {
-      return markDeleteLedgerId_;
-    }
-    
-    // optional int64 markDeleteEntryId = 3;
-    public static final int MARKDELETEENTRYID_FIELD_NUMBER = 3;
-    private long markDeleteEntryId_;
-    public boolean hasMarkDeleteEntryId() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    public long getMarkDeleteEntryId() {
-      return markDeleteEntryId_;
-    }
-    
-    // repeated .MessageRange individualDeletedMessages = 4;
-    public static final int INDIVIDUALDELETEDMESSAGES_FIELD_NUMBER = 4;
-    private java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange> individualDeletedMessages_;
-    public java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange> getIndividualDeletedMessagesList() {
-      return individualDeletedMessages_;
-    }
-    public java.util.List<? extends org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRangeOrBuilder> 
-        getIndividualDeletedMessagesOrBuilderList() {
-      return individualDeletedMessages_;
-    }
-    public int getIndividualDeletedMessagesCount() {
-      return individualDeletedMessages_.size();
-    }
-    public org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange getIndividualDeletedMessages(int index) {
-      return individualDeletedMessages_.get(index);
-    }
-    public org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRangeOrBuilder getIndividualDeletedMessagesOrBuilder(
-        int index) {
-      return individualDeletedMessages_.get(index);
-    }
-    
-    // repeated .LongProperty properties = 5;
-    public static final int PROPERTIES_FIELD_NUMBER = 5;
-    private java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty> properties_;
-    public java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty> getPropertiesList() {
-      return properties_;
-    }
-    public java.util.List<? extends org.apache.bookkeeper.mledger.proto.MLDataFormats.LongPropertyOrBuilder> 
-        getPropertiesOrBuilderList() {
-      return properties_;
-    }
-    public int getPropertiesCount() {
-      return properties_.size();
-    }
-    public org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty getProperties(int index) {
-      return properties_.get(index);
-    }
-    public org.apache.bookkeeper.mledger.proto.MLDataFormats.LongPropertyOrBuilder getPropertiesOrBuilder(
-        int index) {
-      return properties_.get(index);
-    }
-    
-    // optional int64 lastActive = 6;
-    public static final int LASTACTIVE_FIELD_NUMBER = 6;
-    private long lastActive_;
-    public boolean hasLastActive() {
-      return ((bitField0_ & 0x00000008) == 0x00000008);
-    }
-    public long getLastActive() {
-      return lastActive_;
-    }
-    
-    private void initFields() {
-      cursorsLedgerId_ = 0L;
-      markDeleteLedgerId_ = 0L;
-      markDeleteEntryId_ = 0L;
-      individualDeletedMessages_ = java.util.Collections.emptyList();
-      properties_ = java.util.Collections.emptyList();
-      lastActive_ = 0L;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-      
-      if (!hasCursorsLedgerId()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      for (int i = 0; i < getIndividualDeletedMessagesCount(); i++) {
-        if (!getIndividualDeletedMessages(i).isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      for (int i = 0; i < getPropertiesCount(); i++) {
-        if (!getProperties(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.writeInt64(1, cursorsLedgerId_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeInt64(2, markDeleteLedgerId_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeInt64(3, markDeleteEntryId_);
-      }
-      for (int i = 0; i < individualDeletedMessages_.size(); i++) {
-        output.writeMessage(4, individualDeletedMessages_.get(i));
-      }
-      for (int i = 0; i < properties_.size(); i++) {
-        output.writeMessage(5, properties_.get(i));
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        output.writeInt64(6, lastActive_);
-      }
-      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, cursorsLedgerId_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(2, markDeleteLedgerId_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(3, markDeleteEntryId_);
-      }
-      for (int i = 0; i < individualDeletedMessages_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(4, individualDeletedMessages_.get(i));
-      }
-      for (int i = 0; i < properties_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(5, properties_.get(i));
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(6, lastActive_);
-      }
-      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.mledger.proto.MLDataFormats.ManagedCursorInfo parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo 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;
-    }
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder>
-       implements org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfoOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_ManagedCursorInfo_descriptor;
-      }
-      
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.internal_static_ManagedCursorInfo_fieldAccessorTable;
-      }
-      
-      // Construct using org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-      
-      private Builder(BuilderParent parent) {
-        super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
-          getIndividualDeletedMessagesFieldBuilder();
-          getPropertiesFieldBuilder();
-        }
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-      
-      public Builder clear() {
-        super.clear();
-        cursorsLedgerId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        markDeleteLedgerId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        markDeleteEntryId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000004);
-        if (individualDeletedMessagesBuilder_ == null) {
-          individualDeletedMessages_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000008);
-        } else {
-          individualDeletedMessagesBuilder_.clear();
-        }
-        if (propertiesBuilder_ == null) {
-          properties_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000010);
-        } else {
-          propertiesBuilder_.clear();
-        }
-        lastActive_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000020);
-        return this;
-      }
-      
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-      
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo.getDescriptor();
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo getDefaultInstanceForType() {
-        return org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo.getDefaultInstance();
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo build() {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-      
-      private org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo buildParsed()
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(
-            result).asInvalidProtocolBufferException();
-        }
-        return result;
-      }
-      
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo buildPartial() {
-        org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo result = new org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.cursorsLedgerId_ = cursorsLedgerId_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.markDeleteLedgerId_ = markDeleteLedgerId_;
-        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-          to_bitField0_ |= 0x00000004;
-        }
-        result.markDeleteEntryId_ = markDeleteEntryId_;
-        if (individualDeletedMessagesBuilder_ == null) {
-          if (((bitField0_ & 0x00000008) == 0x00000008)) {
-            individualDeletedMessages_ = java.util.Collections.unmodifiableList(individualDeletedMessages_);
-            bitField0_ = (bitField0_ & ~0x00000008);
-          }
-          result.individualDeletedMessages_ = individualDeletedMessages_;
-        } else {
-          result.individualDeletedMessages_ = individualDeletedMessagesBuilder_.build();
-        }
-        if (propertiesBuilder_ == null) {
-          if (((bitField0_ & 0x00000010) == 0x00000010)) {
-            properties_ = java.util.Collections.unmodifiableList(properties_);
-            bitField0_ = (bitField0_ & ~0x00000010);
-          }
-          result.properties_ = properties_;
-        } else {
-          result.properties_ = propertiesBuilder_.build();
-        }
-        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
-          to_bitField0_ |= 0x00000008;
-        }
-        result.lastActive_ = lastActive_;
-        result.bitField0_ = to_bitField0_;
-        onBuilt();
-        return result;
-      }
-      
-      public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo) {
-          return mergeFrom((org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo)other);
-        } else {
-          super.mergeFrom(other);
-          return this;
-        }
-      }
-      
-      public Builder mergeFrom(org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo other) {
-        if (other == org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo.getDefaultInstance()) return this;
-        if (other.hasCursorsLedgerId()) {
-          setCursorsLedgerId(other.getCursorsLedgerId());
-        }
-        if (other.hasMarkDeleteLedgerId()) {
-          setMarkDeleteLedgerId(other.getMarkDeleteLedgerId());
-        }
-        if (other.hasMarkDeleteEntryId()) {
-          setMarkDeleteEntryId(other.getMarkDeleteEntryId());
-        }
-        if (individualDeletedMessagesBuilder_ == null) {
-          if (!other.individualDeletedMessages_.isEmpty()) {
-            if (individualDeletedMessages_.isEmpty()) {
-              individualDeletedMessages_ = other.individualDeletedMessages_;
-              bitField0_ = (bitField0_ & ~0x00000008);
-            } else {
-              ensureIndividualDeletedMessagesIsMutable();
-              individualDeletedMessages_.addAll(other.individualDeletedMessages_);
-            }
-            onChanged();
-          }
-        } else {
-          if (!other.individualDeletedMessages_.isEmpty()) {
-            if (individualDeletedMessagesBuilder_.isEmpty()) {
-              individualDeletedMessagesBuilder_.dispose();
-              individualDeletedMessagesBuilder_ = null;
-              individualDeletedMessages_ = other.individualDeletedMessages_;
-              bitField0_ = (bitField0_ & ~0x00000008);
-              individualDeletedMessagesBuilder_ = 
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
-                   getIndividualDeletedMessagesFieldBuilder() : null;
-            } else {
-              individualDeletedMessagesBuilder_.addAllMessages(other.individualDeletedMessages_);
-            }
-          }
-        }
-        if (propertiesBuilder_ == null) {
-          if (!other.properties_.isEmpty()) {
-            if (properties_.isEmpty()) {
-              properties_ = other.properties_;
-              bitField0_ = (bitField0_ & ~0x00000010);
-            } else {
-              ensurePropertiesIsMutable();
-              properties_.addAll(other.properties_);
-            }
-            onChanged();
-          }
-        } else {
-          if (!other.properties_.isEmpty()) {
-            if (propertiesBuilder_.isEmpty()) {
-              propertiesBuilder_.dispose();
-              propertiesBuilder_ = null;
-              properties_ = other.properties_;
-              bitField0_ = (bitField0_ & ~0x00000010);
-              propertiesBuilder_ = 
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
-                   getPropertiesFieldBuilder() : null;
-            } else {
-              propertiesBuilder_.addAllMessages(other.properties_);
-            }
-          }
-        }
-        if (other.hasLastActive()) {
-          setLastActive(other.getLastActive());
-        }
-        this.mergeUnknownFields(other.getUnknownFields());
-        return this;
-      }
-      
-      public final boolean isInitialized() {
-        if (!hasCursorsLedgerId()) {
-          
-          return false;
-        }
-        for (int i = 0; i < getIndividualDeletedMessagesCount(); i++) {
-          if (!getIndividualDeletedMessages(i).isInitialized()) {
-            
-            return false;
-          }
-        }
-        for (int i = 0; i < getPropertiesCount(); i++) {
-          if (!getProperties(i).isInitialized()) {
-            
-            return false;
-          }
-        }
-        return true;
-      }
-      
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder(
-            this.getUnknownFields());
-        while (true) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              this.setUnknownFields(unknownFields.build());
-              onChanged();
-              return this;
-            default: {
-              if (!parseUnknownField(input, unknownFields,
-                                     extensionRegistry, tag)) {
-                this.setUnknownFields(unknownFields.build());
-                onChanged();
-                return this;
-              }
-              break;
-            }
-            case 8: {
-              bitField0_ |= 0x00000001;
-              cursorsLedgerId_ = input.readInt64();
-              break;
-            }
-            case 16: {
-              bitField0_ |= 0x00000002;
-              markDeleteLedgerId_ = input.readInt64();
-              break;
-            }
-            case 24: {
-              bitField0_ |= 0x00000004;
-              markDeleteEntryId_ = input.readInt64();
-              break;
-            }
-            case 34: {
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder subBuilder = org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.newBuilder();
-              input.readMessage(subBuilder, extensionRegistry);
-              addIndividualDeletedMessages(subBuilder.buildPartial());
-              break;
-            }
-            case 42: {
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder subBuilder = org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.newBuilder();
-              input.readMessage(subBuilder, extensionRegistry);
-              addProperties(subBuilder.buildPartial());
-              break;
-            }
-            case 48: {
-              bitField0_ |= 0x00000020;
-              lastActive_ = input.readInt64();
-              break;
-            }
-          }
-        }
-      }
-      
-      private int bitField0_;
-      
-      // required int64 cursorsLedgerId = 1;
-      private long cursorsLedgerId_ ;
-      public boolean hasCursorsLedgerId() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      public long getCursorsLedgerId() {
-        return cursorsLedgerId_;
-      }
-      public Builder setCursorsLedgerId(long value) {
-        bitField0_ |= 0x00000001;
-        cursorsLedgerId_ = value;
-        onChanged();
-        return this;
-      }
-      public Builder clearCursorsLedgerId() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        cursorsLedgerId_ = 0L;
-        onChanged();
-        return this;
-      }
-      
-      // optional int64 markDeleteLedgerId = 2;
-      private long markDeleteLedgerId_ ;
-      public boolean hasMarkDeleteLedgerId() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      public long getMarkDeleteLedgerId() {
-        return markDeleteLedgerId_;
-      }
-      public Builder setMarkDeleteLedgerId(long value) {
-        bitField0_ |= 0x00000002;
-        markDeleteLedgerId_ = value;
-        onChanged();
-        return this;
-      }
-      public Builder clearMarkDeleteLedgerId() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        markDeleteLedgerId_ = 0L;
-        onChanged();
-        return this;
-      }
-      
-      // optional int64 markDeleteEntryId = 3;
-      private long markDeleteEntryId_ ;
-      public boolean hasMarkDeleteEntryId() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
-      }
-      public long getMarkDeleteEntryId() {
-        return markDeleteEntryId_;
-      }
-      public Builder setMarkDeleteEntryId(long value) {
-        bitField0_ |= 0x00000004;
-        markDeleteEntryId_ = value;
-        onChanged();
-        return this;
-      }
-      public Builder clearMarkDeleteEntryId() {
-        bitField0_ = (bitField0_ & ~0x00000004);
-        markDeleteEntryId_ = 0L;
-        onChanged();
-        return this;
-      }
-      
-      // repeated .MessageRange individualDeletedMessages = 4;
-      private java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange> individualDeletedMessages_ =
-        java.util.Collections.emptyList();
-      private void ensureIndividualDeletedMessagesIsMutable() {
-        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
-          individualDeletedMessages_ = new java.util.ArrayList<org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange>(individualDeletedMessages_);
-          bitField0_ |= 0x00000008;
-         }
-      }
-      
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRangeOrBuilder> individualDeletedMessagesBuilder_;
-      
-      public java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange> getIndividualDeletedMessagesList() {
-        if (individualDeletedMessagesBuilder_ == null) {
-          return java.util.Collections.unmodifiableList(individualDeletedMessages_);
-        } else {
-          return individualDeletedMessagesBuilder_.getMessageList();
-        }
-      }
-      public int getIndividualDeletedMessagesCount() {
-        if (individualDeletedMessagesBuilder_ == null) {
-          return individualDeletedMessages_.size();
-        } else {
-          return individualDeletedMessagesBuilder_.getCount();
-        }
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange getIndividualDeletedMessages(int index) {
-        if (individualDeletedMessagesBuilder_ == null) {
-          return individualDeletedMessages_.get(index);
-        } else {
-          return individualDeletedMessagesBuilder_.getMessage(index);
-        }
-      }
-      public Builder setIndividualDeletedMessages(
-          int index, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange value) {
-        if (individualDeletedMessagesBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureIndividualDeletedMessagesIsMutable();
-          individualDeletedMessages_.set(index, value);
-          onChanged();
-        } else {
-          individualDeletedMessagesBuilder_.setMessage(index, value);
-        }
-        return this;
-      }
-      public Builder setIndividualDeletedMessages(
-          int index, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder builderForValue) {
-        if (individualDeletedMessagesBuilder_ == null) {
-          ensureIndividualDeletedMessagesIsMutable();
-          individualDeletedMessages_.set(index, builderForValue.build());
-          onChanged();
-        } else {
-          individualDeletedMessagesBuilder_.setMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      public Builder addIndividualDeletedMessages(org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange value) {
-        if (individualDeletedMessagesBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureIndividualDeletedMessagesIsMutable();
-          individualDeletedMessages_.add(value);
-          onChanged();
-        } else {
-          individualDeletedMessagesBuilder_.addMessage(value);
-        }
-        return this;
-      }
-      public Builder addIndividualDeletedMessages(
-          int index, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange value) {
-        if (individualDeletedMessagesBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensureIndividualDeletedMessagesIsMutable();
-          individualDeletedMessages_.add(index, value);
-          onChanged();
-        } else {
-          individualDeletedMessagesBuilder_.addMessage(index, value);
-        }
-        return this;
-      }
-      public Builder addIndividualDeletedMessages(
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder builderForValue) {
-        if (individualDeletedMessagesBuilder_ == null) {
-          ensureIndividualDeletedMessagesIsMutable();
-          individualDeletedMessages_.add(builderForValue.build());
-          onChanged();
-        } else {
-          individualDeletedMessagesBuilder_.addMessage(builderForValue.build());
-        }
-        return this;
-      }
-      public Builder addIndividualDeletedMessages(
-          int index, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder builderForValue) {
-        if (individualDeletedMessagesBuilder_ == null) {
-          ensureIndividualDeletedMessagesIsMutable();
-          individualDeletedMessages_.add(index, builderForValue.build());
-          onChanged();
-        } else {
-          individualDeletedMessagesBuilder_.addMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      public Builder addAllIndividualDeletedMessages(
-          java.lang.Iterable<? extends org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange> values) {
-        if (individualDeletedMessagesBuilder_ == null) {
-          ensureIndividualDeletedMessagesIsMutable();
-          super.addAll(values, individualDeletedMessages_);
-          onChanged();
-        } else {
-          individualDeletedMessagesBuilder_.addAllMessages(values);
-        }
-        return this;
-      }
-      public Builder clearIndividualDeletedMessages() {
-        if (individualDeletedMessagesBuilder_ == null) {
-          individualDeletedMessages_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000008);
-          onChanged();
-        } else {
-          individualDeletedMessagesBuilder_.clear();
-        }
-        return this;
-      }
-      public Builder removeIndividualDeletedMessages(int index) {
-        if (individualDeletedMessagesBuilder_ == null) {
-          ensureIndividualDeletedMessagesIsMutable();
-          individualDeletedMessages_.remove(index);
-          onChanged();
-        } else {
-          individualDeletedMessagesBuilder_.remove(index);
-        }
-        return this;
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder getIndividualDeletedMessagesBuilder(
-          int index) {
-        return getIndividualDeletedMessagesFieldBuilder().getBuilder(index);
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRangeOrBuilder getIndividualDeletedMessagesOrBuilder(
-          int index) {
-        if (individualDeletedMessagesBuilder_ == null) {
-          return individualDeletedMessages_.get(index);  } else {
-          return individualDeletedMessagesBuilder_.getMessageOrBuilder(index);
-        }
-      }
-      public java.util.List<? extends org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRangeOrBuilder> 
-           getIndividualDeletedMessagesOrBuilderList() {
-        if (individualDeletedMessagesBuilder_ != null) {
-          return individualDeletedMessagesBuilder_.getMessageOrBuilderList();
-        } else {
-          return java.util.Collections.unmodifiableList(individualDeletedMessages_);
-        }
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder addIndividualDeletedMessagesBuilder() {
-        return getIndividualDeletedMessagesFieldBuilder().addBuilder(
-            org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.getDefaultInstance());
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder addIndividualDeletedMessagesBuilder(
-          int index) {
-        return getIndividualDeletedMessagesFieldBuilder().addBuilder(
-            index, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.getDefaultInstance());
-      }
-      public java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder> 
-           getIndividualDeletedMessagesBuilderList() {
-        return getIndividualDeletedMessagesFieldBuilder().getBuilderList();
-      }
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRangeOrBuilder> 
-          getIndividualDeletedMessagesFieldBuilder() {
-        if (individualDeletedMessagesBuilder_ == null) {
-          individualDeletedMessagesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRangeOrBuilder>(
-                  individualDeletedMessages_,
-                  ((bitField0_ & 0x00000008) == 0x00000008),
-                  getParentForChildren(),
-                  isClean());
-          individualDeletedMessages_ = null;
-        }
-        return individualDeletedMessagesBuilder_;
-      }
-      
-      // repeated .LongProperty properties = 5;
-      private java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty> properties_ =
-        java.util.Collections.emptyList();
-      private void ensurePropertiesIsMutable() {
-        if (!((bitField0_ & 0x00000010) == 0x00000010)) {
-          properties_ = new java.util.ArrayList<org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty>(properties_);
-          bitField0_ |= 0x00000010;
-         }
-      }
-      
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongPropertyOrBuilder> propertiesBuilder_;
-      
-      public java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty> getPropertiesList() {
-        if (propertiesBuilder_ == null) {
-          return java.util.Collections.unmodifiableList(properties_);
-        } else {
-          return propertiesBuilder_.getMessageList();
-        }
-      }
-      public int getPropertiesCount() {
-        if (propertiesBuilder_ == null) {
-          return properties_.size();
-        } else {
-          return propertiesBuilder_.getCount();
-        }
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty getProperties(int index) {
-        if (propertiesBuilder_ == null) {
-          return properties_.get(index);
-        } else {
-          return propertiesBuilder_.getMessage(index);
-        }
-      }
-      public Builder setProperties(
-          int index, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty value) {
-        if (propertiesBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensurePropertiesIsMutable();
-          properties_.set(index, value);
-          onChanged();
-        } else {
-          propertiesBuilder_.setMessage(index, value);
-        }
-        return this;
-      }
-      public Builder setProperties(
-          int index, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder builderForValue) {
-        if (propertiesBuilder_ == null) {
-          ensurePropertiesIsMutable();
-          properties_.set(index, builderForValue.build());
-          onChanged();
-        } else {
-          propertiesBuilder_.setMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      public Builder addProperties(org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty value) {
-        if (propertiesBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensurePropertiesIsMutable();
-          properties_.add(value);
-          onChanged();
-        } else {
-          propertiesBuilder_.addMessage(value);
-        }
-        return this;
-      }
-      public Builder addProperties(
-          int index, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty value) {
-        if (propertiesBuilder_ == null) {
-          if (value == null) {
-            throw new NullPointerException();
-          }
-          ensurePropertiesIsMutable();
-          properties_.add(index, value);
-          onChanged();
-        } else {
-          propertiesBuilder_.addMessage(index, value);
-        }
-        return this;
-      }
-      public Builder addProperties(
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder builderForValue) {
-        if (propertiesBuilder_ == null) {
-          ensurePropertiesIsMutable();
-          properties_.add(builderForValue.build());
-          onChanged();
-        } else {
-          propertiesBuilder_.addMessage(builderForValue.build());
-        }
-        return this;
-      }
-      public Builder addProperties(
-          int index, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder builderForValue) {
-        if (propertiesBuilder_ == null) {
-          ensurePropertiesIsMutable();
-          properties_.add(index, builderForValue.build());
-          onChanged();
-        } else {
-          propertiesBuilder_.addMessage(index, builderForValue.build());
-        }
-        return this;
-      }
-      public Builder addAllProperties(
-          java.lang.Iterable<? extends org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty> values) {
-        if (propertiesBuilder_ == null) {
-          ensurePropertiesIsMutable();
-          super.addAll(values, properties_);
-          onChanged();
-        } else {
-          propertiesBuilder_.addAllMessages(values);
-        }
-        return this;
-      }
-      public Builder clearProperties() {
-        if (propertiesBuilder_ == null) {
-          properties_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000010);
-          onChanged();
-        } else {
-          propertiesBuilder_.clear();
-        }
-        return this;
-      }
-      public Builder removeProperties(int index) {
-        if (propertiesBuilder_ == null) {
-          ensurePropertiesIsMutable();
-          properties_.remove(index);
-          onChanged();
-        } else {
-          propertiesBuilder_.remove(index);
-        }
-        return this;
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder getPropertiesBuilder(
-          int index) {
-        return getPropertiesFieldBuilder().getBuilder(index);
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.LongPropertyOrBuilder getPropertiesOrBuilder(
-          int index) {
-        if (propertiesBuilder_ == null) {
-          return properties_.get(index);  } else {
-          return propertiesBuilder_.getMessageOrBuilder(index);
-        }
-      }
-      public java.util.List<? extends org.apache.bookkeeper.mledger.proto.MLDataFormats.LongPropertyOrBuilder> 
-           getPropertiesOrBuilderList() {
-        if (propertiesBuilder_ != null) {
-          return propertiesBuilder_.getMessageOrBuilderList();
-        } else {
-          return java.util.Collections.unmodifiableList(properties_);
-        }
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder addPropertiesBuilder() {
-        return getPropertiesFieldBuilder().addBuilder(
-            org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.getDefaultInstance());
-      }
-      public org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder addPropertiesBuilder(
-          int index) {
-        return getPropertiesFieldBuilder().addBuilder(
-            index, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.getDefaultInstance());
-      }
-      public java.util.List<org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder> 
-           getPropertiesBuilderList() {
-        return getPropertiesFieldBuilder().getBuilderList();
-      }
-      private com.google.protobuf.RepeatedFieldBuilder<
-          org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongPropertyOrBuilder> 
-          getPropertiesFieldBuilder() {
-        if (propertiesBuilder_ == null) {
-          propertiesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder, org.apache.bookkeeper.mledger.proto.MLDataFormats.LongPropertyOrBuilder>(
-                  properties_,
-                  ((bitField0_ & 0x00000010) == 0x00000010),
-                  getParentForChildren(),
-                  isClean());
-          properties_ = null;
-        }
-        return propertiesBuilder_;
-      }
-      
-      // optional int64 lastActive = 6;
-      private long lastActive_ ;
-      public boolean hasLastActive() {
-        return ((bitField0_ & 0x00000020) == 0x00000020);
-      }
-      public long getLastActive() {
-        return lastActive_;
-      }
-      public Builder setLastActive(long value) {
-        bitField0_ |= 0x00000020;
-        lastActive_ = value;
-        onChanged();
-        return this;
-      }
-      public Builder clearLastActive() {
-        bitField0_ = (bitField0_ & ~0x00000020);
-        lastActive_ = 0L;
-        onChanged();
-        return this;
-      }
-      
-      // @@protoc_insertion_point(builder_scope:ManagedCursorInfo)
-    }
-    
-    static {
-      defaultInstance = new ManagedCursorInfo(true);
-      defaultInstance.initFields();
-    }
-    
-    // @@protoc_insertion_point(class_scope:ManagedCursorInfo)
-  }
-  
-  private static com.google.protobuf.Descriptors.Descriptor
-    internal_static_OffloadContext_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_OffloadContext_fieldAccessorTable;
-  private static com.google.protobuf.Descriptors.Descriptor
-    internal_static_ManagedLedgerInfo_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_ManagedLedgerInfo_fieldAccessorTable;
-  private static com.google.protobuf.Descriptors.Descriptor
-    internal_static_ManagedLedgerInfo_LedgerInfo_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_ManagedLedgerInfo_LedgerInfo_fieldAccessorTable;
-  private static com.google.protobuf.Descriptors.Descriptor
-    internal_static_PositionInfo_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_PositionInfo_fieldAccessorTable;
-  private static com.google.protobuf.Descriptors.Descriptor
-    internal_static_NestedPositionInfo_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_NestedPositionInfo_fieldAccessorTable;
-  private static com.google.protobuf.Descriptors.Descriptor
-    internal_static_MessageRange_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_MessageRange_fieldAccessorTable;
-  private static com.google.protobuf.Descriptors.Descriptor
-    internal_static_LongProperty_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_LongProperty_fieldAccessorTable;
-  private static com.google.protobuf.Descriptors.Descriptor
-    internal_static_ManagedCursorInfo_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_ManagedCursorInfo_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/MLDataFormats.proto\"p\n\016" +
-      "OffloadContext\022\016\n\006uidMsb\030\001 \001(\003\022\016\n\006uidLsb" +
-      "\030\002 \001(\003\022\020\n\010complete\030\003 \001(\010\022\031\n\021bookkeeperDe" +
-      "leted\030\004 \001(\010\022\021\n\ttimestamp\030\005 \001(\003\"\362\001\n\021Manag" +
-      "edLedgerInfo\0221\n\nledgerInfo\030\001 \003(\0132\035.Manag" +
-      "edLedgerInfo.LedgerInfo\022/\n\022terminatedPos" +
-      "ition\030\002 \001(\0132\023.NestedPositionInfo\032y\n\nLedg" +
-      "erInfo\022\020\n\010ledgerId\030\001 \002(\003\022\017\n\007entries\030\002 \001(" +
-      "\003\022\014\n\004size\030\003 \001(\003\022\021\n\ttimestamp\030\004 \001(\003\022\'\n\016of" +
-      "floadContext\030\005 \001(\0132\017.OffloadContext\"\206\001\n\014",
-      "PositionInfo\022\020\n\010ledgerId\030\001 \002(\003\022\017\n\007entryI" +
-      "d\030\002 \002(\003\0220\n\031individualDeletedMessages\030\003 \003" +
-      "(\0132\r.MessageRange\022!\n\nproperties\030\004 \003(\0132\r." +
-      "LongProperty\"7\n\022NestedPositionInfo\022\020\n\010le" +
-      "dgerId\030\001 \002(\003\022\017\n\007entryId\030\002 \002(\003\"f\n\014Message" +
-      "Range\022*\n\rlowerEndpoint\030\001 \002(\0132\023.NestedPos" +
-      "itionInfo\022*\n\rupperEndpoint\030\002 \002(\0132\023.Neste" +
-      "dPositionInfo\"+\n\014LongProperty\022\014\n\004name\030\001 " +
-      "\002(\t\022\r\n\005value\030\002 \002(\003\"\314\001\n\021ManagedCursorInfo" +
-      "\022\027\n\017cursorsLedgerId\030\001 \002(\003\022\032\n\022markDeleteL",
-      "edgerId\030\002 \001(\003\022\031\n\021markDeleteEntryId\030\003 \001(\003" +
-      "\0220\n\031individualDeletedMessages\030\004 \003(\0132\r.Me" +
-      "ssageRange\022!\n\nproperties\030\005 \003(\0132\r.LongPro" +
-      "perty\022\022\n\nlastActive\030\006 \001(\003B\'\n#org.apache." +
-      "bookkeeper.mledger.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;
-          internal_static_OffloadContext_descriptor =
-            getDescriptor().getMessageTypes().get(0);
-          internal_static_OffloadContext_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-              internal_static_OffloadContext_descriptor,
-              new java.lang.String[] { "UidMsb", "UidLsb", "Complete", "BookkeeperDeleted", "Timestamp", },
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.class,
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.Builder.class);
-          internal_static_ManagedLedgerInfo_descriptor =
-            getDescriptor().getMessageTypes().get(1);
-          internal_static_ManagedLedgerInfo_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-              internal_static_ManagedLedgerInfo_descriptor,
-              new java.lang.String[] { "LedgerInfo", "TerminatedPosition", },
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.class,
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.Builder.class);
-          internal_static_ManagedLedgerInfo_LedgerInfo_descriptor =
-            internal_static_ManagedLedgerInfo_descriptor.getNestedTypes().get(0);
-          internal_static_ManagedLedgerInfo_LedgerInfo_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-              internal_static_ManagedLedgerInfo_LedgerInfo_descriptor,
-              new java.lang.String[] { "LedgerId", "Entries", "Size", "Timestamp", "OffloadContext", },
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo.class,
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedLedgerInfo.LedgerInfo.Builder.class);
-          internal_static_PositionInfo_descriptor =
-            getDescriptor().getMessageTypes().get(2);
-          internal_static_PositionInfo_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-              internal_static_PositionInfo_descriptor,
-              new java.lang.String[] { "LedgerId", "EntryId", "IndividualDeletedMessages", "Properties", },
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo.class,
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.PositionInfo.Builder.class);
-          internal_static_NestedPositionInfo_descriptor =
-            getDescriptor().getMessageTypes().get(3);
-          internal_static_NestedPositionInfo_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-              internal_static_NestedPositionInfo_descriptor,
-              new java.lang.String[] { "LedgerId", "EntryId", },
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.class,
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.NestedPositionInfo.Builder.class);
-          internal_static_MessageRange_descriptor =
-            getDescriptor().getMessageTypes().get(4);
-          internal_static_MessageRange_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-              internal_static_MessageRange_descriptor,
-              new java.lang.String[] { "LowerEndpoint", "UpperEndpoint", },
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.class,
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.MessageRange.Builder.class);
-          internal_static_LongProperty_descriptor =
-            getDescriptor().getMessageTypes().get(5);
-          internal_static_LongProperty_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-              internal_static_LongProperty_descriptor,
-              new java.lang.String[] { "Name", "Value", },
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.class,
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.LongProperty.Builder.class);
-          internal_static_ManagedCursorInfo_descriptor =
-            getDescriptor().getMessageTypes().get(6);
-          internal_static_ManagedCursorInfo_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-              internal_static_ManagedCursorInfo_descriptor,
-              new java.lang.String[] { "CursorsLedgerId", "MarkDeleteLedgerId", "MarkDeleteEntryId", "IndividualDeletedMessages", "Properties", "LastActive", },
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo.class,
-              org.apache.bookkeeper.mledger.proto.MLDataFormats.ManagedCursorInfo.Builder.class);
-          return null;
-        }
-      };
-    com.google.protobuf.Descriptors.FileDescriptor
-      .internalBuildGeneratedFileFrom(descriptorData,
-        new com.google.protobuf.Descriptors.FileDescriptor[] {
-        }, assigner);
-  }
-  
-  // @@protoc_insertion_point(outer_class_scope)
-}
diff --git a/pom.xml b/pom.xml
index 05906b0..4c8bebf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -155,6 +155,9 @@ flexible messaging model and an intuitive client API.</description>
     <!-- test dependencies -->
     <disruptor.version>3.4.0</disruptor.version>
     <s3mock.version>0.2.5</s3mock.version>
+
+    <!-- Plugin dependencies -->
+    <protobuf-maven-plugin.version>0.5.0</protobuf-maven-plugin.version>
   </properties>
 
   <dependencyManagement>
diff --git a/pulsar-broker/pom.xml b/pulsar-broker/pom.xml
index ed8405f..600b374 100644
--- a/pulsar-broker/pom.xml
+++ b/pulsar-broker/pom.xml
@@ -55,9 +55,15 @@
     </dependency>
 
     <dependency>
+      <groupId>org.apache.pulsar</groupId>
+      <artifactId>protobuf-shaded</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+
+    <dependency>
       <groupId>com.google.protobuf</groupId>
       <artifactId>protobuf-java</artifactId>
-      <version>${protobuf2.version}</version>
+      <version>${protobuf3.version}</version>
     </dependency>
 
     <dependency>
@@ -319,6 +325,24 @@
           </execution>
         </executions>
       </plugin>
+
+      <plugin>
+        <groupId>org.xolstice.maven.plugins</groupId>
+        <artifactId>protobuf-maven-plugin</artifactId>
+        <version>${protobuf-maven-plugin.version}</version>
+        <configuration>
+          <protocArtifact>com.google.protobuf:protoc:${protobuf3.version}:exe:${os.detected.classifier}</protocArtifact>
+          <checkStaleness>true</checkStaleness>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>compile</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+
     </plugins>
     <resources>
       <resource>
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/schema/SchemaStorageFormat.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/schema/SchemaStorageFormat.java
deleted file mode 100644
index df95e69..0000000
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/schema/SchemaStorageFormat.java
+++ /dev/null
@@ -1,1785 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: src/main/proto/SchemaStorageFormat.proto
-
-package org.apache.pulsar.broker.service.schema;
-
-public final class SchemaStorageFormat {
-  private SchemaStorageFormat() {}
-  public static void registerAllExtensions(
-      com.google.protobuf.ExtensionRegistryLite registry) {
-  }
-  public interface PositionInfoOrBuilder
-      extends com.google.protobuf.MessageLiteOrBuilder {
-    
-    // required int64 ledgerId = 1;
-    boolean hasLedgerId();
-    long getLedgerId();
-    
-    // required int64 entryId = 2;
-    boolean hasEntryId();
-    long getEntryId();
-  }
-  public static final class PositionInfo extends
-      com.google.protobuf.GeneratedMessageLite
-      implements PositionInfoOrBuilder {
-    // Use PositionInfo.newBuilder() to construct.
-    private PositionInfo(Builder builder) {
-      super(builder);
-    }
-    private PositionInfo(boolean noInit) {}
-    
-    private static final PositionInfo defaultInstance;
-    public static PositionInfo getDefaultInstance() {
-      return defaultInstance;
-    }
-    
-    public PositionInfo getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-    
-    private int bitField0_;
-    // required int64 ledgerId = 1;
-    public static final int LEDGERID_FIELD_NUMBER = 1;
-    private long ledgerId_;
-    public boolean hasLedgerId() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    public long getLedgerId() {
-      return ledgerId_;
-    }
-    
-    // required int64 entryId = 2;
-    public static final int ENTRYID_FIELD_NUMBER = 2;
-    private long entryId_;
-    public boolean hasEntryId() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    public long getEntryId() {
-      return entryId_;
-    }
-    
-    private void initFields() {
-      ledgerId_ = 0L;
-      entryId_ = 0L;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-      
-      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.writeInt64(1, ledgerId_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeInt64(2, entryId_);
-      }
-    }
-    
-    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, entryId_);
-      }
-      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.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-    
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessageLite.Builder<
-          org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo, Builder>
-        implements org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfoOrBuilder {
-      // Construct using org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-      
-      private void maybeForceBuilderInitialization() {
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-      
-      public Builder clear() {
-        super.clear();
-        ledgerId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        entryId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        return this;
-      }
-      
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-      
-      public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo getDefaultInstanceForType() {
-        return org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo.getDefaultInstance();
-      }
-      
-      public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo build() {
-        org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-      
-      private org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo buildParsed()
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(
-            result).asInvalidProtocolBufferException();
-        }
-        return result;
-      }
-      
-      public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo buildPartial() {
-        org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo result = new org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo(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.entryId_ = entryId_;
-        result.bitField0_ = to_bitField0_;
-        return result;
-      }
-      
-      public Builder mergeFrom(org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo other) {
-        if (other == org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo.getDefaultInstance()) return this;
-        if (other.hasLedgerId()) {
-          setLedgerId(other.getLedgerId());
-        }
-        if (other.hasEntryId()) {
-          setEntryId(other.getEntryId());
-        }
-        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 {
-        while (true) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              
-              return this;
-            default: {
-              if (!parseUnknownField(input, extensionRegistry, tag)) {
-                
-                return this;
-              }
-              break;
-            }
-            case 8: {
-              bitField0_ |= 0x00000001;
-              ledgerId_ = input.readInt64();
-              break;
-            }
-            case 16: {
-              bitField0_ |= 0x00000002;
-              entryId_ = input.readInt64();
-              break;
-            }
-          }
-        }
-      }
-      
-      private int bitField0_;
-      
-      // required int64 ledgerId = 1;
-      private long ledgerId_ ;
-      public boolean hasLedgerId() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      public long getLedgerId() {
-        return ledgerId_;
-      }
-      public Builder setLedgerId(long value) {
-        bitField0_ |= 0x00000001;
-        ledgerId_ = value;
-        
-        return this;
-      }
-      public Builder clearLedgerId() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        ledgerId_ = 0L;
-        
-        return this;
-      }
-      
-      // required int64 entryId = 2;
-      private long entryId_ ;
-      public boolean hasEntryId() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      public long getEntryId() {
-        return entryId_;
-      }
-      public Builder setEntryId(long value) {
-        bitField0_ |= 0x00000002;
-        entryId_ = value;
-        
-        return this;
-      }
-      public Builder clearEntryId() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        entryId_ = 0L;
-        
-        return this;
-      }
-      
-      // @@protoc_insertion_point(builder_scope:pulsar.schema.PositionInfo)
-    }
-    
-    static {
-      defaultInstance = new PositionInfo(true);
-      defaultInstance.initFields();
-    }
-    
-    // @@protoc_insertion_point(class_scope:pulsar.schema.PositionInfo)
-  }
-  
-  public interface IndexEntryOrBuilder
-      extends com.google.protobuf.MessageLiteOrBuilder {
-    
-    // required int64 version = 1;
-    boolean hasVersion();
-    long getVersion();
-    
-    // required .pulsar.schema.PositionInfo position = 2;
-    boolean hasPosition();
-    org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo getPosition();
-    
-    // required bytes hash = 3;
-    boolean hasHash();
-    com.google.protobuf.ByteString getHash();
-  }
-  public static final class IndexEntry extends
-      com.google.protobuf.GeneratedMessageLite
-      implements IndexEntryOrBuilder {
-    // Use IndexEntry.newBuilder() to construct.
-    private IndexEntry(Builder builder) {
-      super(builder);
-    }
-    private IndexEntry(boolean noInit) {}
-    
-    private static final IndexEntry defaultInstance;
-    public static IndexEntry getDefaultInstance() {
-      return defaultInstance;
-    }
-    
-    public IndexEntry getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-    
-    private int bitField0_;
-    // required int64 version = 1;
-    public static final int VERSION_FIELD_NUMBER = 1;
-    private long version_;
-    public boolean hasVersion() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    public long getVersion() {
-      return version_;
-    }
-    
-    // required .pulsar.schema.PositionInfo position = 2;
-    public static final int POSITION_FIELD_NUMBER = 2;
-    private org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo position_;
-    public boolean hasPosition() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo getPosition() {
-      return position_;
-    }
-    
-    // required bytes hash = 3;
-    public static final int HASH_FIELD_NUMBER = 3;
-    private com.google.protobuf.ByteString hash_;
-    public boolean hasHash() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    public com.google.protobuf.ByteString getHash() {
-      return hash_;
-    }
-    
-    private void initFields() {
-      version_ = 0L;
-      position_ = org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo.getDefaultInstance();
-      hash_ = com.google.protobuf.ByteString.EMPTY;
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-      
-      if (!hasVersion()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasPosition()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasHash()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!getPosition().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.writeInt64(1, version_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeMessage(2, position_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeBytes(3, hash_);
-      }
-    }
-    
-    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, version_);
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(2, position_);
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(3, hash_);
-      }
-      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.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-    
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessageLite.Builder<
-          org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry, Builder>
-        implements org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntryOrBuilder {
-      // Construct using org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-      
-      private void maybeForceBuilderInitialization() {
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-      
-      public Builder clear() {
-        super.clear();
-        version_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        position_ = org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo.getDefaultInstance();
-        bitField0_ = (bitField0_ & ~0x00000002);
-        hash_ = com.google.protobuf.ByteString.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000004);
-        return this;
-      }
-      
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-      
-      public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry getDefaultInstanceForType() {
-        return org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.getDefaultInstance();
-      }
-      
-      public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry build() {
-        org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-      
-      private org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry buildParsed()
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(
-            result).asInvalidProtocolBufferException();
-        }
-        return result;
-      }
-      
-      public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry buildPartial() {
-        org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry result = new org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry(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.position_ = position_;
-        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-          to_bitField0_ |= 0x00000004;
-        }
-        result.hash_ = hash_;
-        result.bitField0_ = to_bitField0_;
-        return result;
-      }
-      
-      public Builder mergeFrom(org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry other) {
-        if (other == org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.getDefaultInstance()) return this;
-        if (other.hasVersion()) {
-          setVersion(other.getVersion());
-        }
-        if (other.hasPosition()) {
-          mergePosition(other.getPosition());
-        }
-        if (other.hasHash()) {
-          setHash(other.getHash());
-        }
-        return this;
-      }
-      
-      public final boolean isInitialized() {
-        if (!hasVersion()) {
-          
-          return false;
-        }
-        if (!hasPosition()) {
-          
-          return false;
-        }
-        if (!hasHash()) {
-          
-          return false;
-        }
-        if (!getPosition().isInitialized()) {
-          
-          return false;
-        }
-        return true;
-      }
-      
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        while (true) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              
-              return this;
-            default: {
-              if (!parseUnknownField(input, extensionRegistry, tag)) {
-                
-                return this;
-              }
-              break;
-            }
-            case 8: {
-              bitField0_ |= 0x00000001;
-              version_ = input.readInt64();
-              break;
-            }
-            case 18: {
-              org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo.Builder subBuilder = org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo.newBuilder();
-              if (hasPosition()) {
-                subBuilder.mergeFrom(getPosition());
-              }
-              input.readMessage(subBuilder, extensionRegistry);
-              setPosition(subBuilder.buildPartial());
-              break;
-            }
-            case 26: {
-              bitField0_ |= 0x00000004;
-              hash_ = input.readBytes();
-              break;
-            }
-          }
-        }
-      }
-      
-      private int bitField0_;
-      
-      // required int64 version = 1;
-      private long version_ ;
-      public boolean hasVersion() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      public long getVersion() {
-        return version_;
-      }
-      public Builder setVersion(long value) {
-        bitField0_ |= 0x00000001;
-        version_ = value;
-        
-        return this;
-      }
-      public Builder clearVersion() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        version_ = 0L;
-        
-        return this;
-      }
-      
-      // required .pulsar.schema.PositionInfo position = 2;
-      private org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo position_ = org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo.getDefaultInstance();
-      public boolean hasPosition() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo getPosition() {
-        return position_;
-      }
-      public Builder setPosition(org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        position_ = value;
-        
-        bitField0_ |= 0x00000002;
-        return this;
-      }
-      public Builder setPosition(
-          org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo.Builder builderForValue) {
-        position_ = builderForValue.build();
-        
-        bitField0_ |= 0x00000002;
-        return this;
-      }
-      public Builder mergePosition(org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo value) {
-        if (((bitField0_ & 0x00000002) == 0x00000002) &&
-            position_ != org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo.getDefaultInstance()) {
-          position_ =
-            org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo.newBuilder(position_).mergeFrom(value).buildPartial();
-        } else {
-          position_ = value;
-        }
-        
-        bitField0_ |= 0x00000002;
-        return this;
-      }
-      public Builder clearPosition() {
-        position_ = org.apache.pulsar.broker.service.schema.SchemaStorageFormat.PositionInfo.getDefaultInstance();
-        
-        bitField0_ = (bitField0_ & ~0x00000002);
-        return this;
-      }
-      
-      // required bytes hash = 3;
-      private com.google.protobuf.ByteString hash_ = com.google.protobuf.ByteString.EMPTY;
-      public boolean hasHash() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
-      }
-      public com.google.protobuf.ByteString getHash() {
-        return hash_;
-      }
-      public Builder setHash(com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000004;
-        hash_ = value;
-        
-        return this;
-      }
-      public Builder clearHash() {
-        bitField0_ = (bitField0_ & ~0x00000004);
-        hash_ = getDefaultInstance().getHash();
-        
-        return this;
-      }
-      
-      // @@protoc_insertion_point(builder_scope:pulsar.schema.IndexEntry)
-    }
-    
-    static {
-      defaultInstance = new IndexEntry(true);
-      defaultInstance.initFields();
-    }
-    
-    // @@protoc_insertion_point(class_scope:pulsar.schema.IndexEntry)
-  }
-  
-  public interface SchemaEntryOrBuilder
-      extends com.google.protobuf.MessageLiteOrBuilder {
-    
-    // required bytes schema_data = 2;
-    boolean hasSchemaData();
-    com.google.protobuf.ByteString getSchemaData();
-    
-    // repeated .pulsar.schema.IndexEntry index = 5;
-    java.util.List<org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry> 
-        getIndexList();
-    org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry getIndex(int index);
-    int getIndexCount();
-  }
-  public static final class SchemaEntry extends
-      com.google.protobuf.GeneratedMessageLite
-      implements SchemaEntryOrBuilder {
-    // Use SchemaEntry.newBuilder() to construct.
-    private SchemaEntry(Builder builder) {
-      super(builder);
-    }
-    private SchemaEntry(boolean noInit) {}
-    
-    private static final SchemaEntry defaultInstance;
-    public static SchemaEntry getDefaultInstance() {
-      return defaultInstance;
-    }
-    
-    public SchemaEntry getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-    
-    private int bitField0_;
-    // required bytes schema_data = 2;
-    public static final int SCHEMA_DATA_FIELD_NUMBER = 2;
-    private com.google.protobuf.ByteString schemaData_;
-    public boolean hasSchemaData() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    public com.google.protobuf.ByteString getSchemaData() {
-      return schemaData_;
-    }
-    
-    // repeated .pulsar.schema.IndexEntry index = 5;
-    public static final int INDEX_FIELD_NUMBER = 5;
-    private java.util.List<org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry> index_;
-    public java.util.List<org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry> getIndexList() {
-      return index_;
-    }
-    public java.util.List<? extends org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntryOrBuilder> 
-        getIndexOrBuilderList() {
-      return index_;
-    }
-    public int getIndexCount() {
-      return index_.size();
-    }
-    public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry getIndex(int index) {
-      return index_.get(index);
-    }
-    public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntryOrBuilder getIndexOrBuilder(
-        int index) {
-      return index_.get(index);
-    }
-    
-    private void initFields() {
-      schemaData_ = com.google.protobuf.ByteString.EMPTY;
-      index_ = java.util.Collections.emptyList();
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-      
-      if (!hasSchemaData()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      for (int i = 0; i < getIndexCount(); i++) {
-        if (!getIndex(i).isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeBytes(2, schemaData_);
-      }
-      for (int i = 0; i < index_.size(); i++) {
-        output.writeMessage(5, index_.get(i));
-      }
-    }
-    
-    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(2, schemaData_);
-      }
-      for (int i = 0; i < index_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(5, index_.get(i));
-      }
-      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.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-    
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessageLite.Builder<
-          org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry, Builder>
-        implements org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntryOrBuilder {
-      // Construct using org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-      
-      private void maybeForceBuilderInitialization() {
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-      
-      public Builder clear() {
-        super.clear();
-        schemaData_ = com.google.protobuf.ByteString.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000001);
-        index_ = java.util.Collections.emptyList();
-        bitField0_ = (bitField0_ & ~0x00000002);
-        return this;
-      }
-      
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-      
-      public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry getDefaultInstanceForType() {
-        return org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry.getDefaultInstance();
-      }
-      
-      public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry build() {
-        org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-      
-      private org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry buildParsed()
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(
-            result).asInvalidProtocolBufferException();
-        }
-        return result;
-      }
-      
-      public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry buildPartial() {
-        org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry result = new org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.schemaData_ = schemaData_;
-        if (((bitField0_ & 0x00000002) == 0x00000002)) {
-          index_ = java.util.Collections.unmodifiableList(index_);
-          bitField0_ = (bitField0_ & ~0x00000002);
-        }
-        result.index_ = index_;
-        result.bitField0_ = to_bitField0_;
-        return result;
-      }
-      
-      public Builder mergeFrom(org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry other) {
-        if (other == org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaEntry.getDefaultInstance()) return this;
-        if (other.hasSchemaData()) {
-          setSchemaData(other.getSchemaData());
-        }
-        if (!other.index_.isEmpty()) {
-          if (index_.isEmpty()) {
-            index_ = other.index_;
-            bitField0_ = (bitField0_ & ~0x00000002);
-          } else {
-            ensureIndexIsMutable();
-            index_.addAll(other.index_);
-          }
-          
-        }
-        return this;
-      }
-      
-      public final boolean isInitialized() {
-        if (!hasSchemaData()) {
-          
-          return false;
-        }
-        for (int i = 0; i < getIndexCount(); i++) {
-          if (!getIndex(i).isInitialized()) {
-            
-            return false;
-          }
-        }
-        return true;
-      }
-      
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        while (true) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              
-              return this;
-            default: {
-              if (!parseUnknownField(input, extensionRegistry, tag)) {
-                
-                return this;
-              }
-              break;
-            }
-            case 18: {
-              bitField0_ |= 0x00000001;
-              schemaData_ = input.readBytes();
-              break;
-            }
-            case 42: {
-              org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.Builder subBuilder = org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.newBuilder();
-              input.readMessage(subBuilder, extensionRegistry);
-              addIndex(subBuilder.buildPartial());
-              break;
-            }
-          }
-        }
-      }
-      
-      private int bitField0_;
-      
-      // required bytes schema_data = 2;
-      private com.google.protobuf.ByteString schemaData_ = com.google.protobuf.ByteString.EMPTY;
-      public boolean hasSchemaData() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      public com.google.protobuf.ByteString getSchemaData() {
-        return schemaData_;
-      }
-      public Builder setSchemaData(com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        schemaData_ = value;
-        
-        return this;
-      }
-      public Builder clearSchemaData() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        schemaData_ = getDefaultInstance().getSchemaData();
-        
-        return this;
-      }
-      
-      // repeated .pulsar.schema.IndexEntry index = 5;
-      private java.util.List<org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry> index_ =
-        java.util.Collections.emptyList();
-      private void ensureIndexIsMutable() {
-        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
-          index_ = new java.util.ArrayList<org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry>(index_);
-          bitField0_ |= 0x00000002;
-         }
-      }
-      
-      public java.util.List<org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry> getIndexList() {
-        return java.util.Collections.unmodifiableList(index_);
-      }
-      public int getIndexCount() {
-        return index_.size();
-      }
-      public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry getIndex(int index) {
-        return index_.get(index);
-      }
-      public Builder setIndex(
-          int index, org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        ensureIndexIsMutable();
-        index_.set(index, value);
-        
-        return this;
-      }
-      public Builder setIndex(
-          int index, org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.Builder builderForValue) {
-        ensureIndexIsMutable();
-        index_.set(index, builderForValue.build());
-        
-        return this;
-      }
-      public Builder addIndex(org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        ensureIndexIsMutable();
-        index_.add(value);
-        
-        return this;
-      }
-      public Builder addIndex(
-          int index, org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        ensureIndexIsMutable();
-        index_.add(index, value);
-        
-        return this;
-      }
-      public Builder addIndex(
-          org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.Builder builderForValue) {
-        ensureIndexIsMutable();
-        index_.add(builderForValue.build());
-        
-        return this;
-      }
-      public Builder addIndex(
-          int index, org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.Builder builderForValue) {
-        ensureIndexIsMutable();
-        index_.add(index, builderForValue.build());
-        
-        return this;
-      }
-      public Builder addAllIndex(
-          java.lang.Iterable<? extends org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry> values) {
-        ensureIndexIsMutable();
-        super.addAll(values, index_);
-        
-        return this;
-      }
-      public Builder clearIndex() {
-        index_ = java.util.Collections.emptyList();
-        bitField0_ = (bitField0_ & ~0x00000002);
-        
-        return this;
-      }
-      public Builder removeIndex(int index) {
-        ensureIndexIsMutable();
-        index_.remove(index);
-        
-        return this;
-      }
-      
-      // @@protoc_insertion_point(builder_scope:pulsar.schema.SchemaEntry)
-    }
-    
-    static {
-      defaultInstance = new SchemaEntry(true);
-      defaultInstance.initFields();
-    }
-    
-    // @@protoc_insertion_point(class_scope:pulsar.schema.SchemaEntry)
-  }
-  
-  public interface SchemaLocatorOrBuilder
-      extends com.google.protobuf.MessageLiteOrBuilder {
-    
-    // required .pulsar.schema.IndexEntry info = 1;
-    boolean hasInfo();
-    org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry getInfo();
-    
-    // repeated .pulsar.schema.IndexEntry index = 2;
-    java.util.List<org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry> 
-        getIndexList();
-    org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry getIndex(int index);
-    int getIndexCount();
-  }
-  public static final class SchemaLocator extends
-      com.google.protobuf.GeneratedMessageLite
-      implements SchemaLocatorOrBuilder {
-    // Use SchemaLocator.newBuilder() to construct.
-    private SchemaLocator(Builder builder) {
-      super(builder);
-    }
-    private SchemaLocator(boolean noInit) {}
-    
-    private static final SchemaLocator defaultInstance;
-    public static SchemaLocator getDefaultInstance() {
-      return defaultInstance;
-    }
-    
-    public SchemaLocator getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-    
-    private int bitField0_;
-    // required .pulsar.schema.IndexEntry info = 1;
-    public static final int INFO_FIELD_NUMBER = 1;
-    private org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry info_;
-    public boolean hasInfo() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry getInfo() {
-      return info_;
-    }
-    
-    // repeated .pulsar.schema.IndexEntry index = 2;
-    public static final int INDEX_FIELD_NUMBER = 2;
-    private java.util.List<org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry> index_;
-    public java.util.List<org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry> getIndexList() {
-      return index_;
-    }
-    public java.util.List<? extends org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntryOrBuilder> 
-        getIndexOrBuilderList() {
-      return index_;
-    }
-    public int getIndexCount() {
-      return index_.size();
-    }
-    public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry getIndex(int index) {
-      return index_.get(index);
-    }
-    public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntryOrBuilder getIndexOrBuilder(
-        int index) {
-      return index_.get(index);
-    }
-    
-    private void initFields() {
-      info_ = org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.getDefaultInstance();
-      index_ = java.util.Collections.emptyList();
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-      
-      if (!hasInfo()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!getInfo().isInitialized()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      for (int i = 0; i < getIndexCount(); i++) {
-        if (!getIndex(i).isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeMessage(1, info_);
-      }
-      for (int i = 0; i < index_.size(); i++) {
-        output.writeMessage(2, index_.get(i));
-      }
-    }
-    
-    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, info_);
-      }
-      for (int i = 0; i < index_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(2, index_.get(i));
-      }
-      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.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-    
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessageLite.Builder<
-          org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator, Builder>
-        implements org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocatorOrBuilder {
-      // Construct using org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-      
-      private void maybeForceBuilderInitialization() {
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-      
-      public Builder clear() {
-        super.clear();
-        info_ = org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.getDefaultInstance();
-        bitField0_ = (bitField0_ & ~0x00000001);
-        index_ = java.util.Collections.emptyList();
-        bitField0_ = (bitField0_ & ~0x00000002);
-        return this;
-      }
-      
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-      
-      public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator getDefaultInstanceForType() {
-        return org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator.getDefaultInstance();
-      }
-      
-      public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator build() {
-        org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-      
-      private org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator buildParsed()
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(
-            result).asInvalidProtocolBufferException();
-        }
-        return result;
-      }
-      
-      public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator buildPartial() {
-        org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator result = new org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.info_ = info_;
-        if (((bitField0_ & 0x00000002) == 0x00000002)) {
-          index_ = java.util.Collections.unmodifiableList(index_);
-          bitField0_ = (bitField0_ & ~0x00000002);
-        }
-        result.index_ = index_;
-        result.bitField0_ = to_bitField0_;
-        return result;
-      }
-      
-      public Builder mergeFrom(org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator other) {
-        if (other == org.apache.pulsar.broker.service.schema.SchemaStorageFormat.SchemaLocator.getDefaultInstance()) return this;
-        if (other.hasInfo()) {
-          mergeInfo(other.getInfo());
-        }
-        if (!other.index_.isEmpty()) {
-          if (index_.isEmpty()) {
-            index_ = other.index_;
-            bitField0_ = (bitField0_ & ~0x00000002);
-          } else {
-            ensureIndexIsMutable();
-            index_.addAll(other.index_);
-          }
-          
-        }
-        return this;
-      }
-      
-      public final boolean isInitialized() {
-        if (!hasInfo()) {
-          
-          return false;
-        }
-        if (!getInfo().isInitialized()) {
-          
-          return false;
-        }
-        for (int i = 0; i < getIndexCount(); i++) {
-          if (!getIndex(i).isInitialized()) {
-            
-            return false;
-          }
-        }
-        return true;
-      }
-      
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        while (true) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              
-              return this;
-            default: {
-              if (!parseUnknownField(input, extensionRegistry, tag)) {
-                
-                return this;
-              }
-              break;
-            }
-            case 10: {
-              org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.Builder subBuilder = org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.newBuilder();
-              if (hasInfo()) {
-                subBuilder.mergeFrom(getInfo());
-              }
-              input.readMessage(subBuilder, extensionRegistry);
-              setInfo(subBuilder.buildPartial());
-              break;
-            }
-            case 18: {
-              org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.Builder subBuilder = org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.newBuilder();
-              input.readMessage(subBuilder, extensionRegistry);
-              addIndex(subBuilder.buildPartial());
-              break;
-            }
-          }
-        }
-      }
-      
-      private int bitField0_;
-      
-      // required .pulsar.schema.IndexEntry info = 1;
-      private org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry info_ = org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.getDefaultInstance();
-      public boolean hasInfo() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry getInfo() {
-        return info_;
-      }
-      public Builder setInfo(org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        info_ = value;
-        
-        bitField0_ |= 0x00000001;
-        return this;
-      }
-      public Builder setInfo(
-          org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.Builder builderForValue) {
-        info_ = builderForValue.build();
-        
-        bitField0_ |= 0x00000001;
-        return this;
-      }
-      public Builder mergeInfo(org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry value) {
-        if (((bitField0_ & 0x00000001) == 0x00000001) &&
-            info_ != org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.getDefaultInstance()) {
-          info_ =
-            org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.newBuilder(info_).mergeFrom(value).buildPartial();
-        } else {
-          info_ = value;
-        }
-        
-        bitField0_ |= 0x00000001;
-        return this;
-      }
-      public Builder clearInfo() {
-        info_ = org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.getDefaultInstance();
-        
-        bitField0_ = (bitField0_ & ~0x00000001);
-        return this;
-      }
-      
-      // repeated .pulsar.schema.IndexEntry index = 2;
-      private java.util.List<org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry> index_ =
-        java.util.Collections.emptyList();
-      private void ensureIndexIsMutable() {
-        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
-          index_ = new java.util.ArrayList<org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry>(index_);
-          bitField0_ |= 0x00000002;
-         }
-      }
-      
-      public java.util.List<org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry> getIndexList() {
-        return java.util.Collections.unmodifiableList(index_);
-      }
-      public int getIndexCount() {
-        return index_.size();
-      }
-      public org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry getIndex(int index) {
-        return index_.get(index);
-      }
-      public Builder setIndex(
-          int index, org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        ensureIndexIsMutable();
-        index_.set(index, value);
-        
-        return this;
-      }
-      public Builder setIndex(
-          int index, org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.Builder builderForValue) {
-        ensureIndexIsMutable();
-        index_.set(index, builderForValue.build());
-        
-        return this;
-      }
-      public Builder addIndex(org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        ensureIndexIsMutable();
-        index_.add(value);
-        
-        return this;
-      }
-      public Builder addIndex(
-          int index, org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        ensureIndexIsMutable();
-        index_.add(index, value);
-        
-        return this;
-      }
-      public Builder addIndex(
-          org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.Builder builderForValue) {
-        ensureIndexIsMutable();
-        index_.add(builderForValue.build());
-        
-        return this;
-      }
-      public Builder addIndex(
-          int index, org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry.Builder builderForValue) {
-        ensureIndexIsMutable();
-        index_.add(index, builderForValue.build());
-        
-        return this;
-      }
-      public Builder addAllIndex(
-          java.lang.Iterable<? extends org.apache.pulsar.broker.service.schema.SchemaStorageFormat.IndexEntry> values) {
-        ensureIndexIsMutable();
-        super.addAll(values, index_);
-        
-        return this;
-      }
-      public Builder clearIndex() {
-        index_ = java.util.Collections.emptyList();
-        bitField0_ = (bitField0_ & ~0x00000002);
-        
-        return this;
-      }
-      public Builder removeIndex(int index) {
-        ensureIndexIsMutable();
-        index_.remove(index);
-        
-        return this;
-      }
-      
-      // @@protoc_insertion_point(builder_scope:pulsar.schema.SchemaLocator)
-    }
-    
-    static {
-      defaultInstance = new SchemaLocator(true);
-      defaultInstance.initFields();
-    }
-    
-    // @@protoc_insertion_point(class_scope:pulsar.schema.SchemaLocator)
-  }
-  
-  
-  static {
-  }
-  
-  // @@protoc_insertion_point(outer_class_scope)
-}
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/schema/proto/SchemaRegistryFormat.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/schema/proto/SchemaRegistryFormat.java
deleted file mode 100644
index cfd14cb..0000000
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/schema/proto/SchemaRegistryFormat.java
+++ /dev/null
@@ -1,1349 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: src/main/proto/SchemaRegistryFormat.proto
-
-package org.apache.pulsar.broker.service.schema.proto;
-
-public final class SchemaRegistryFormat {
-  private SchemaRegistryFormat() {}
-  public static void registerAllExtensions(
-      com.google.protobuf.ExtensionRegistryLite registry) {
-  }
-  public interface SchemaInfoOrBuilder
-      extends com.google.protobuf.MessageLiteOrBuilder {
-    
-    // required string schema_id = 1;
-    boolean hasSchemaId();
-    String getSchemaId();
-    
-    // required string user = 2;
-    boolean hasUser();
-    String getUser();
-    
-    // required .pulsar.schema.SchemaInfo.SchemaType type = 3;
-    boolean hasType();
-    org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.SchemaType getType();
-    
-    // required bytes schema = 4;
-    boolean hasSchema();
-    com.google.protobuf.ByteString getSchema();
-    
-    // required int64 timestamp = 5;
-    boolean hasTimestamp();
-    long getTimestamp();
-    
-    // required bool deleted = 6;
-    boolean hasDeleted();
-    boolean getDeleted();
-    
-    // repeated .pulsar.schema.SchemaInfo.KeyValuePair props = 7;
-    java.util.List<org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair> 
-        getPropsList();
-    org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair getProps(int index);
-    int getPropsCount();
-  }
-  public static final class SchemaInfo extends
-      com.google.protobuf.GeneratedMessageLite
-      implements SchemaInfoOrBuilder {
-    // Use SchemaInfo.newBuilder() to construct.
-    private SchemaInfo(Builder builder) {
-      super(builder);
-    }
-    private SchemaInfo(boolean noInit) {}
-    
-    private static final SchemaInfo defaultInstance;
-    public static SchemaInfo getDefaultInstance() {
-      return defaultInstance;
-    }
-    
-    public SchemaInfo getDefaultInstanceForType() {
-      return defaultInstance;
-    }
-    
-    public enum SchemaType
-        implements com.google.protobuf.Internal.EnumLite {
-      NONE(0, 1),
-      STRING(1, 2),
-      JSON(2, 3),
-      ;
-      
-      public static final int NONE_VALUE = 1;
-      public static final int STRING_VALUE = 2;
-      public static final int JSON_VALUE = 3;
-      
-      
-      public final int getNumber() { return value; }
-      
-      public static SchemaType valueOf(int value) {
-        switch (value) {
-          case 1: return NONE;
-          case 2: return STRING;
-          case 3: return JSON;
-          default: return null;
-        }
-      }
-      
-      public static com.google.protobuf.Internal.EnumLiteMap<SchemaType>
-          internalGetValueMap() {
-        return internalValueMap;
-      }
-      private static com.google.protobuf.Internal.EnumLiteMap<SchemaType>
-          internalValueMap =
-            new com.google.protobuf.Internal.EnumLiteMap<SchemaType>() {
-              public SchemaType findValueByNumber(int number) {
-                return SchemaType.valueOf(number);
-              }
-            };
-      
-      private final int value;
-      
-      private SchemaType(int index, int value) {
-        this.value = value;
-      }
-      
-      // @@protoc_insertion_point(enum_scope:pulsar.schema.SchemaInfo.SchemaType)
-    }
-    
-    public interface KeyValuePairOrBuilder
-        extends com.google.protobuf.MessageLiteOrBuilder {
-      
-      // required string key = 1;
-      boolean hasKey();
-      String getKey();
-      
-      // required string value = 2;
-      boolean hasValue();
-      String getValue();
-    }
-    public static final class KeyValuePair extends
-        com.google.protobuf.GeneratedMessageLite
-        implements KeyValuePairOrBuilder {
-      // Use KeyValuePair.newBuilder() to construct.
-      private KeyValuePair(Builder builder) {
-        super(builder);
-      }
-      private KeyValuePair(boolean noInit) {}
-      
-      private static final KeyValuePair defaultInstance;
-      public static KeyValuePair getDefaultInstance() {
-        return defaultInstance;
-      }
-      
-      public KeyValuePair getDefaultInstanceForType() {
-        return defaultInstance;
-      }
-      
-      private int bitField0_;
-      // required string key = 1;
-      public static final int KEY_FIELD_NUMBER = 1;
-      private java.lang.Object key_;
-      public boolean hasKey() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      public String getKey() {
-        java.lang.Object ref = key_;
-        if (ref instanceof String) {
-          return (String) ref;
-        } else {
-          com.google.protobuf.ByteString bs = 
-              (com.google.protobuf.ByteString) ref;
-          String s = bs.toStringUtf8();
-          if (com.google.protobuf.Internal.isValidUtf8(bs)) {
-            key_ = s;
-          }
-          return s;
-        }
-      }
-      private com.google.protobuf.ByteString getKeyBytes() {
-        java.lang.Object ref = key_;
-        if (ref instanceof String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
-          key_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
-        }
-      }
-      
-      // required string value = 2;
-      public static final int VALUE_FIELD_NUMBER = 2;
-      private java.lang.Object value_;
-      public boolean hasValue() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      public String getValue() {
-        java.lang.Object ref = value_;
-        if (ref instanceof String) {
-          return (String) ref;
-        } else {
-          com.google.protobuf.ByteString bs = 
-              (com.google.protobuf.ByteString) ref;
-          String s = bs.toStringUtf8();
-          if (com.google.protobuf.Internal.isValidUtf8(bs)) {
-            value_ = s;
-          }
-          return s;
-        }
-      }
-      private com.google.protobuf.ByteString getValueBytes() {
-        java.lang.Object ref = value_;
-        if (ref instanceof String) {
-          com.google.protobuf.ByteString b = 
-              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
-          value_ = b;
-          return b;
-        } else {
-          return (com.google.protobuf.ByteString) ref;
-        }
-      }
-      
-      private void initFields() {
-        key_ = "";
-        value_ = "";
-      }
-      private byte memoizedIsInitialized = -1;
-      public final boolean isInitialized() {
-        byte isInitialized = memoizedIsInitialized;
-        if (isInitialized != -1) return isInitialized == 1;
-        
-        if (!hasKey()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-        if (!hasValue()) {
-          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, getKeyBytes());
-        }
-        if (((bitField0_ & 0x00000002) == 0x00000002)) {
-          output.writeBytes(2, getValueBytes());
-        }
-      }
-      
-      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, getValueBytes());
-        }
-        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.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair parseFrom(
-          com.google.protobuf.ByteString data)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return newBuilder().mergeFrom(data).buildParsed();
-      }
-      public static org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair parseFrom(
-          com.google.protobuf.ByteString data,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return newBuilder().mergeFrom(data, extensionRegistry)
-                 .buildParsed();
-      }
-      public static org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair parseFrom(byte[] data)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return newBuilder().mergeFrom(data).buildParsed();
-      }
-      public static org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair parseFrom(
-          byte[] data,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        return newBuilder().mergeFrom(data, extensionRegistry)
-                 .buildParsed();
-      }
-      public static org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair parseFrom(java.io.InputStream input)
-          throws java.io.IOException {
-        return newBuilder().mergeFrom(input).buildParsed();
-      }
-      public static org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair parseFrom(
-          java.io.InputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return newBuilder().mergeFrom(input, extensionRegistry)
-                 .buildParsed();
-      }
-      public static org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair parseDelimitedFrom(java.io.InputStream input)
-          throws java.io.IOException {
-        Builder builder = newBuilder();
-        if (builder.mergeDelimitedFrom(input)) {
-          return builder.buildParsed();
-        } else {
-          return null;
-        }
-      }
-      public static org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair parseDelimitedFrom(
-          java.io.InputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        Builder builder = newBuilder();
-        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
-          return builder.buildParsed();
-        } else {
-          return null;
-        }
-      }
-      public static org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair parseFrom(
-          com.google.protobuf.CodedInputStream input)
-          throws java.io.IOException {
-        return newBuilder().mergeFrom(input).buildParsed();
-      }
-      public static org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair parseFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        return newBuilder().mergeFrom(input, extensionRegistry)
-                 .buildParsed();
-      }
-      
-      public static Builder newBuilder() { return Builder.create(); }
-      public Builder newBuilderForType() { return newBuilder(); }
-      public static Builder newBuilder(org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair prototype) {
-        return newBuilder().mergeFrom(prototype);
-      }
-      public Builder toBuilder() { return newBuilder(this); }
-      
-      public static final class Builder extends
-          com.google.protobuf.GeneratedMessageLite.Builder<
-            org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair, Builder>
-          implements org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePairOrBuilder {
-        // Construct using org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair.newBuilder()
-        private Builder() {
-          maybeForceBuilderInitialization();
-        }
-        
-        private void maybeForceBuilderInitialization() {
-        }
-        private static Builder create() {
-          return new Builder();
-        }
-        
-        public Builder clear() {
-          super.clear();
-          key_ = "";
-          bitField0_ = (bitField0_ & ~0x00000001);
-          value_ = "";
-          bitField0_ = (bitField0_ & ~0x00000002);
-          return this;
-        }
-        
-        public Builder clone() {
-          return create().mergeFrom(buildPartial());
-        }
-        
-        public org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair getDefaultInstanceForType() {
-          return org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair.getDefaultInstance();
-        }
-        
-        public org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair build() {
-          org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair result = buildPartial();
-          if (!result.isInitialized()) {
-            throw newUninitializedMessageException(result);
-          }
-          return result;
-        }
-        
-        private org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair buildParsed()
-            throws com.google.protobuf.InvalidProtocolBufferException {
-          org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair result = buildPartial();
-          if (!result.isInitialized()) {
-            throw newUninitializedMessageException(
-              result).asInvalidProtocolBufferException();
-          }
-          return result;
-        }
-        
-        public org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair buildPartial() {
-          org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair result = new org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair(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_;
-          return result;
-        }
-        
-        public Builder mergeFrom(org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair other) {
-          if (other == org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair.getDefaultInstance()) return this;
-          if (other.hasKey()) {
-            setKey(other.getKey());
-          }
-          if (other.hasValue()) {
-            setValue(other.getValue());
-          }
-          return this;
-        }
-        
-        public final boolean isInitialized() {
-          if (!hasKey()) {
-            
-            return false;
-          }
-          if (!hasValue()) {
-            
-            return false;
-          }
-          return true;
-        }
-        
-        public Builder mergeFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
-          while (true) {
-            int tag = input.readTag();
-            switch (tag) {
-              case 0:
-                
-                return this;
-              default: {
-                if (!parseUnknownField(input, extensionRegistry, tag)) {
-                  
-                  return this;
-                }
-                break;
-              }
-              case 10: {
-                bitField0_ |= 0x00000001;
-                key_ = input.readBytes();
-                break;
-              }
-              case 18: {
-                bitField0_ |= 0x00000002;
-                value_ = input.readBytes();
-                break;
-              }
-            }
-          }
-        }
-        
-        private int bitField0_;
-        
-        // required string key = 1;
-        private java.lang.Object key_ = "";
-        public boolean hasKey() {
-          return ((bitField0_ & 0x00000001) == 0x00000001);
-        }
-        public String getKey() {
-          java.lang.Object ref = key_;
-          if (!(ref instanceof String)) {
-            String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
-            key_ = s;
-            return s;
-          } else {
-            return (String) ref;
-          }
-        }
-        public Builder setKey(String value) {
-          if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-          key_ = value;
-          
-          return this;
-        }
-        public Builder clearKey() {
-          bitField0_ = (bitField0_ & ~0x00000001);
-          key_ = getDefaultInstance().getKey();
-          
-          return this;
-        }
-        void setKey(com.google.protobuf.ByteString value) {
-          bitField0_ |= 0x00000001;
-          key_ = value;
-          
-        }
-        
-        // required string value = 2;
-        private java.lang.Object value_ = "";
-        public boolean hasValue() {
-          return ((bitField0_ & 0x00000002) == 0x00000002);
-        }
-        public String getValue() {
-          java.lang.Object ref = value_;
-          if (!(ref instanceof String)) {
-            String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
-            value_ = s;
-            return s;
-          } else {
-            return (String) ref;
-          }
-        }
-        public Builder setValue(String value) {
-          if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000002;
-          value_ = value;
-          
-          return this;
-        }
-        public Builder clearValue() {
-          bitField0_ = (bitField0_ & ~0x00000002);
-          value_ = getDefaultInstance().getValue();
-          
-          return this;
-        }
-        void setValue(com.google.protobuf.ByteString value) {
-          bitField0_ |= 0x00000002;
-          value_ = value;
-          
-        }
-        
-        // @@protoc_insertion_point(builder_scope:pulsar.schema.SchemaInfo.KeyValuePair)
-      }
-      
-      static {
-        defaultInstance = new KeyValuePair(true);
-        defaultInstance.initFields();
-      }
-      
-      // @@protoc_insertion_point(class_scope:pulsar.schema.SchemaInfo.KeyValuePair)
-    }
-    
-    private int bitField0_;
-    // required string schema_id = 1;
-    public static final int SCHEMA_ID_FIELD_NUMBER = 1;
-    private java.lang.Object schemaId_;
-    public boolean hasSchemaId() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    public String getSchemaId() {
-      java.lang.Object ref = schemaId_;
-      if (ref instanceof String) {
-        return (String) ref;
-      } else {
-        com.google.protobuf.ByteString bs = 
-            (com.google.protobuf.ByteString) ref;
-        String s = bs.toStringUtf8();
-        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
-          schemaId_ = s;
-        }
-        return s;
-      }
-    }
-    private com.google.protobuf.ByteString getSchemaIdBytes() {
-      java.lang.Object ref = schemaId_;
-      if (ref instanceof String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
-        schemaId_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-    
-    // required string user = 2;
-    public static final int USER_FIELD_NUMBER = 2;
-    private java.lang.Object user_;
-    public boolean hasUser() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    public String getUser() {
-      java.lang.Object ref = user_;
-      if (ref instanceof String) {
-        return (String) ref;
-      } else {
-        com.google.protobuf.ByteString bs = 
-            (com.google.protobuf.ByteString) ref;
-        String s = bs.toStringUtf8();
-        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
-          user_ = s;
-        }
-        return s;
-      }
-    }
-    private com.google.protobuf.ByteString getUserBytes() {
-      java.lang.Object ref = user_;
-      if (ref instanceof String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
-        user_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-    
-    // required .pulsar.schema.SchemaInfo.SchemaType type = 3;
-    public static final int TYPE_FIELD_NUMBER = 3;
-    private org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.SchemaType type_;
-    public boolean hasType() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    public org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.SchemaType getType() {
-      return type_;
-    }
-    
-    // required bytes schema = 4;
-    public static final int SCHEMA_FIELD_NUMBER = 4;
-    private com.google.protobuf.ByteString schema_;
-    public boolean hasSchema() {
-      return ((bitField0_ & 0x00000008) == 0x00000008);
-    }
-    public com.google.protobuf.ByteString getSchema() {
-      return schema_;
-    }
-    
-    // required int64 timestamp = 5;
-    public static final int TIMESTAMP_FIELD_NUMBER = 5;
-    private long timestamp_;
-    public boolean hasTimestamp() {
-      return ((bitField0_ & 0x00000010) == 0x00000010);
-    }
-    public long getTimestamp() {
-      return timestamp_;
-    }
-    
-    // required bool deleted = 6;
-    public static final int DELETED_FIELD_NUMBER = 6;
-    private boolean deleted_;
-    public boolean hasDeleted() {
-      return ((bitField0_ & 0x00000020) == 0x00000020);
-    }
-    public boolean getDeleted() {
-      return deleted_;
-    }
-    
-    // repeated .pulsar.schema.SchemaInfo.KeyValuePair props = 7;
-    public static final int PROPS_FIELD_NUMBER = 7;
-    private java.util.List<org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair> props_;
-    public java.util.List<org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair> getPropsList() {
-      return props_;
-    }
-    public java.util.List<? extends org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePairOrBuilder> 
-        getPropsOrBuilderList() {
-      return props_;
-    }
-    public int getPropsCount() {
-      return props_.size();
-    }
-    public org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair getProps(int index) {
-      return props_.get(index);
-    }
-    public org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePairOrBuilder getPropsOrBuilder(
-        int index) {
-      return props_.get(index);
-    }
-    
-    private void initFields() {
-      schemaId_ = "";
-      user_ = "";
-      type_ = org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.SchemaType.NONE;
-      schema_ = com.google.protobuf.ByteString.EMPTY;
-      timestamp_ = 0L;
-      deleted_ = false;
-      props_ = java.util.Collections.emptyList();
-    }
-    private byte memoizedIsInitialized = -1;
-    public final boolean isInitialized() {
-      byte isInitialized = memoizedIsInitialized;
-      if (isInitialized != -1) return isInitialized == 1;
-      
-      if (!hasSchemaId()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasUser()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasType()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasSchema()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasTimestamp()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!hasDeleted()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      for (int i = 0; i < getPropsCount(); i++) {
-        if (!getProps(i).isInitialized()) {
-          memoizedIsInitialized = 0;
-          return false;
-        }
-      }
-      memoizedIsInitialized = 1;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
-      getSerializedSize();
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        output.writeBytes(1, getSchemaIdBytes());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeBytes(2, getUserBytes());
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeEnum(3, type_.getNumber());
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        output.writeBytes(4, schema_);
-      }
-      if (((bitField0_ & 0x00000010) == 0x00000010)) {
-        output.writeInt64(5, timestamp_);
-      }
-      if (((bitField0_ & 0x00000020) == 0x00000020)) {
-        output.writeBool(6, deleted_);
-      }
-      for (int i = 0; i < props_.size(); i++) {
-        output.writeMessage(7, props_.get(i));
-      }
-    }
-    
-    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, getSchemaIdBytes());
-      }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(2, getUserBytes());
-      }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeEnumSize(3, type_.getNumber());
-      }
-      if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(4, schema_);
-      }
-      if (((bitField0_ & 0x00000010) == 0x00000010)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(5, timestamp_);
-      }
-      if (((bitField0_ & 0x00000020) == 0x00000020)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBoolSize(6, deleted_);
-      }
-      for (int i = 0; i < props_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(7, props_.get(i));
-      }
-      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.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo parseFrom(
-        com.google.protobuf.ByteString data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo parseFrom(
-        com.google.protobuf.ByteString data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo parseFrom(byte[] data)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data).buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return newBuilder().mergeFrom(data, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo parseDelimitedFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      Builder builder = newBuilder();
-      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
-        return builder.buildParsed();
-      } else {
-        return null;
-      }
-    }
-    public static org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo parseFrom(
-        com.google.protobuf.CodedInputStream input)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input).buildParsed();
-    }
-    public static org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo parseFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      return newBuilder().mergeFrom(input, extensionRegistry)
-               .buildParsed();
-    }
-    
-    public static Builder newBuilder() { return Builder.create(); }
-    public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo prototype) {
-      return newBuilder().mergeFrom(prototype);
-    }
-    public Builder toBuilder() { return newBuilder(this); }
-    
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessageLite.Builder<
-          org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo, Builder>
-        implements org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfoOrBuilder {
-      // Construct using org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.newBuilder()
-      private Builder() {
-        maybeForceBuilderInitialization();
-      }
-      
-      private void maybeForceBuilderInitialization() {
-      }
-      private static Builder create() {
-        return new Builder();
-      }
-      
-      public Builder clear() {
-        super.clear();
-        schemaId_ = "";
-        bitField0_ = (bitField0_ & ~0x00000001);
-        user_ = "";
-        bitField0_ = (bitField0_ & ~0x00000002);
-        type_ = org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.SchemaType.NONE;
-        bitField0_ = (bitField0_ & ~0x00000004);
-        schema_ = com.google.protobuf.ByteString.EMPTY;
-        bitField0_ = (bitField0_ & ~0x00000008);
-        timestamp_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000010);
-        deleted_ = false;
-        bitField0_ = (bitField0_ & ~0x00000020);
-        props_ = java.util.Collections.emptyList();
-        bitField0_ = (bitField0_ & ~0x00000040);
-        return this;
-      }
-      
-      public Builder clone() {
-        return create().mergeFrom(buildPartial());
-      }
-      
-      public org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo getDefaultInstanceForType() {
-        return org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.getDefaultInstance();
-      }
-      
-      public org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo build() {
-        org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(result);
-        }
-        return result;
-      }
-      
-      private org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo buildParsed()
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo result = buildPartial();
-        if (!result.isInitialized()) {
-          throw newUninitializedMessageException(
-            result).asInvalidProtocolBufferException();
-        }
-        return result;
-      }
-      
-      public org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo buildPartial() {
-        org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo result = new org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
-        result.schemaId_ = schemaId_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
-        result.user_ = user_;
-        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-          to_bitField0_ |= 0x00000004;
-        }
-        result.type_ = type_;
-        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
-          to_bitField0_ |= 0x00000008;
-        }
-        result.schema_ = schema_;
-        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
-          to_bitField0_ |= 0x00000010;
-        }
-        result.timestamp_ = timestamp_;
-        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
-          to_bitField0_ |= 0x00000020;
-        }
-        result.deleted_ = deleted_;
-        if (((bitField0_ & 0x00000040) == 0x00000040)) {
-          props_ = java.util.Collections.unmodifiableList(props_);
-          bitField0_ = (bitField0_ & ~0x00000040);
-        }
-        result.props_ = props_;
-        result.bitField0_ = to_bitField0_;
-        return result;
-      }
-      
-      public Builder mergeFrom(org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo other) {
-        if (other == org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.getDefaultInstance()) return this;
-        if (other.hasSchemaId()) {
-          setSchemaId(other.getSchemaId());
-        }
-        if (other.hasUser()) {
-          setUser(other.getUser());
-        }
-        if (other.hasType()) {
-          setType(other.getType());
-        }
-        if (other.hasSchema()) {
-          setSchema(other.getSchema());
-        }
-        if (other.hasTimestamp()) {
-          setTimestamp(other.getTimestamp());
-        }
-        if (other.hasDeleted()) {
-          setDeleted(other.getDeleted());
-        }
-        if (!other.props_.isEmpty()) {
-          if (props_.isEmpty()) {
-            props_ = other.props_;
-            bitField0_ = (bitField0_ & ~0x00000040);
-          } else {
-            ensurePropsIsMutable();
-            props_.addAll(other.props_);
-          }
-          
-        }
-        return this;
-      }
-      
-      public final boolean isInitialized() {
-        if (!hasSchemaId()) {
-          
-          return false;
-        }
-        if (!hasUser()) {
-          
-          return false;
-        }
-        if (!hasType()) {
-          
-          return false;
-        }
-        if (!hasSchema()) {
-          
-          return false;
-        }
-        if (!hasTimestamp()) {
-          
-          return false;
-        }
-        if (!hasDeleted()) {
-          
-          return false;
-        }
-        for (int i = 0; i < getPropsCount(); i++) {
-          if (!getProps(i).isInitialized()) {
-            
-            return false;
-          }
-        }
-        return true;
-      }
-      
-      public Builder mergeFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws java.io.IOException {
-        while (true) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              
-              return this;
-            default: {
-              if (!parseUnknownField(input, extensionRegistry, tag)) {
-                
-                return this;
-              }
-              break;
-            }
-            case 10: {
-              bitField0_ |= 0x00000001;
-              schemaId_ = input.readBytes();
-              break;
-            }
-            case 18: {
-              bitField0_ |= 0x00000002;
-              user_ = input.readBytes();
-              break;
-            }
-            case 24: {
-              int rawValue = input.readEnum();
-              org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.SchemaType value = org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.SchemaType.valueOf(rawValue);
-              if (value != null) {
-                bitField0_ |= 0x00000004;
-                type_ = value;
-              }
-              break;
-            }
-            case 34: {
-              bitField0_ |= 0x00000008;
-              schema_ = input.readBytes();
-              break;
-            }
-            case 40: {
-              bitField0_ |= 0x00000010;
-              timestamp_ = input.readInt64();
-              break;
-            }
-            case 48: {
-              bitField0_ |= 0x00000020;
-              deleted_ = input.readBool();
-              break;
-            }
-            case 58: {
-              org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair.Builder subBuilder = org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair.newBuilder();
-              input.readMessage(subBuilder, extensionRegistry);
-              addProps(subBuilder.buildPartial());
-              break;
-            }
-          }
-        }
-      }
-      
-      private int bitField0_;
-      
-      // required string schema_id = 1;
-      private java.lang.Object schemaId_ = "";
-      public boolean hasSchemaId() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      public String getSchemaId() {
-        java.lang.Object ref = schemaId_;
-        if (!(ref instanceof String)) {
-          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
-          schemaId_ = s;
-          return s;
-        } else {
-          return (String) ref;
-        }
-      }
-      public Builder setSchemaId(String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000001;
-        schemaId_ = value;
-        
-        return this;
-      }
-      public Builder clearSchemaId() {
-        bitField0_ = (bitField0_ & ~0x00000001);
-        schemaId_ = getDefaultInstance().getSchemaId();
-        
-        return this;
-      }
-      void setSchemaId(com.google.protobuf.ByteString value) {
-        bitField0_ |= 0x00000001;
-        schemaId_ = value;
-        
-      }
-      
-      // required string user = 2;
-      private java.lang.Object user_ = "";
-      public boolean hasUser() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      public String getUser() {
-        java.lang.Object ref = user_;
-        if (!(ref instanceof String)) {
-          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
-          user_ = s;
-          return s;
-        } else {
-          return (String) ref;
-        }
-      }
-      public Builder setUser(String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000002;
-        user_ = value;
-        
-        return this;
-      }
-      public Builder clearUser() {
-        bitField0_ = (bitField0_ & ~0x00000002);
-        user_ = getDefaultInstance().getUser();
-        
-        return this;
-      }
-      void setUser(com.google.protobuf.ByteString value) {
-        bitField0_ |= 0x00000002;
-        user_ = value;
-        
-      }
-      
-      // required .pulsar.schema.SchemaInfo.SchemaType type = 3;
-      private org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.SchemaType type_ = org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.SchemaType.NONE;
-      public boolean hasType() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
-      }
-      public org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.SchemaType getType() {
-        return type_;
-      }
-      public Builder setType(org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.SchemaType value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        bitField0_ |= 0x00000004;
-        type_ = value;
-        
-        return this;
-      }
-      public Builder clearType() {
-        bitField0_ = (bitField0_ & ~0x00000004);
-        type_ = org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.SchemaType.NONE;
-        
-        return this;
-      }
-      
-      // required bytes schema = 4;
-      private com.google.protobuf.ByteString schema_ = com.google.protobuf.ByteString.EMPTY;
-      public boolean hasSchema() {
-        return ((bitField0_ & 0x00000008) == 0x00000008);
-      }
-      public com.google.protobuf.ByteString getSchema() {
-        return schema_;
-      }
-      public Builder setSchema(com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  bitField0_ |= 0x00000008;
-        schema_ = value;
-        
-        return this;
-      }
-      public Builder clearSchema() {
-        bitField0_ = (bitField0_ & ~0x00000008);
-        schema_ = getDefaultInstance().getSchema();
-        
-        return this;
-      }
-      
-      // required int64 timestamp = 5;
-      private long timestamp_ ;
-      public boolean hasTimestamp() {
-        return ((bitField0_ & 0x00000010) == 0x00000010);
-      }
-      public long getTimestamp() {
-        return timestamp_;
-      }
-      public Builder setTimestamp(long value) {
-        bitField0_ |= 0x00000010;
-        timestamp_ = value;
-        
-        return this;
-      }
-      public Builder clearTimestamp() {
-        bitField0_ = (bitField0_ & ~0x00000010);
-        timestamp_ = 0L;
-        
-        return this;
-      }
-      
-      // required bool deleted = 6;
-      private boolean deleted_ ;
-      public boolean hasDeleted() {
-        return ((bitField0_ & 0x00000020) == 0x00000020);
-      }
-      public boolean getDeleted() {
-        return deleted_;
-      }
-      public Builder setDeleted(boolean value) {
-        bitField0_ |= 0x00000020;
-        deleted_ = value;
-        
-        return this;
-      }
-      public Builder clearDeleted() {
-        bitField0_ = (bitField0_ & ~0x00000020);
-        deleted_ = false;
-        
-        return this;
-      }
-      
-      // repeated .pulsar.schema.SchemaInfo.KeyValuePair props = 7;
-      private java.util.List<org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair> props_ =
-        java.util.Collections.emptyList();
-      private void ensurePropsIsMutable() {
-        if (!((bitField0_ & 0x00000040) == 0x00000040)) {
-          props_ = new java.util.ArrayList<org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair>(props_);
-          bitField0_ |= 0x00000040;
-         }
-      }
-      
-      public java.util.List<org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair> getPropsList() {
-        return java.util.Collections.unmodifiableList(props_);
-      }
-      public int getPropsCount() {
-        return props_.size();
-      }
-      public org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair getProps(int index) {
-        return props_.get(index);
-      }
-      public Builder setProps(
-          int index, org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        ensurePropsIsMutable();
-        props_.set(index, value);
-        
-        return this;
-      }
-      public Builder setProps(
-          int index, org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair.Builder builderForValue) {
-        ensurePropsIsMutable();
-        props_.set(index, builderForValue.build());
-        
-        return this;
-      }
-      public Builder addProps(org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        ensurePropsIsMutable();
-        props_.add(value);
-        
-        return this;
-      }
-      public Builder addProps(
-          int index, org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        ensurePropsIsMutable();
-        props_.add(index, value);
-        
-        return this;
-      }
-      public Builder addProps(
-          org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair.Builder builderForValue) {
-        ensurePropsIsMutable();
-        props_.add(builderForValue.build());
-        
-        return this;
-      }
-      public Builder addProps(
-          int index, org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair.Builder builderForValue) {
-        ensurePropsIsMutable();
-        props_.add(index, builderForValue.build());
-        
-        return this;
-      }
-      public Builder addAllProps(
-          java.lang.Iterable<? extends org.apache.pulsar.broker.service.schema.proto.SchemaRegistryFormat.SchemaInfo.KeyValuePair> values) {
-        ensurePropsIsMutable();
-        super.addAll(values, props_);
-        
-        return this;
-      }
-      public Builder clearProps() {
-        props_ = java.util.Collections.emptyList();
-        bitField0_ = (bitField0_ & ~0x00000040);
-        
-        return this;
-      }
-      public Builder removeProps(int index) {
-        ensurePropsIsMutable();
-        props_.remove(index);
-        
-        return this;
-      }
-      
-      // @@protoc_insertion_point(builder_scope:pulsar.schema.SchemaInfo)
-    }
-    
-    static {
-      defaultInstance = new SchemaInfo(true);
-      defaultInstance.initFields();
-    }
-    
-    // @@protoc_insertion_point(class_scope:pulsar.schema.SchemaInfo)
-  }
-  
-  
-  static {
-  }
-  
-  // @@protoc_insertion_point(outer_class_scope)
-}
diff --git a/pulsar-broker/src/main/proto/SchemaRegistryFormat.proto b/pulsar-broker/src/main/proto/SchemaRegistryFormat.proto
index 08dd506..8776ddf 100644
--- a/pulsar-broker/src/main/proto/SchemaRegistryFormat.proto
+++ b/pulsar-broker/src/main/proto/SchemaRegistryFormat.proto
@@ -20,7 +20,7 @@ syntax = "proto2";
 
 package pulsar.schema;
 option java_package = "org.apache.pulsar.broker.service.schema.proto";
-option optimize_for = LITE_RUNTIME;
+option optimize_for = SPEED;
 
 message SchemaInfo {
     enum SchemaType {
diff --git a/pulsar-broker/src/main/proto/SchemaStorageFormat.proto b/pulsar-broker/src/main/proto/SchemaStorageFormat.proto
index 42cfc9f..7523a4f 100644
--- a/pulsar-broker/src/main/proto/SchemaStorageFormat.proto
+++ b/pulsar-broker/src/main/proto/SchemaStorageFormat.proto
@@ -20,7 +20,7 @@ syntax = "proto2";
 
 package pulsar.schema;
 option java_package = "org.apache.pulsar.broker.service.schema";
-option optimize_for = LITE_RUNTIME;
+option optimize_for = SPEED;
 
 message PositionInfo {
     required int64 ledgerId = 1;
diff --git a/pulsar-functions/proto/pom.xml b/pulsar-functions/proto/pom.xml
index ef9037a..38fca3e 100644
--- a/pulsar-functions/proto/pom.xml
+++ b/pulsar-functions/proto/pom.xml
@@ -59,7 +59,7 @@
             <plugin>
                 <groupId>org.xolstice.maven.plugins</groupId>
                 <artifactId>protobuf-maven-plugin</artifactId>
-                <version>0.5.0</version>
+                <version>${protobuf-maven-plugin.version}</version>
                 <configuration>
                     <protocArtifact>com.google.protobuf:protoc:${protobuf3.version}:exe:${os.detected.classifier}</protocArtifact>
                     <checkStaleness>true</checkStaleness>

-- 
To stop receiving notification emails like this one, please contact
mmerli@apache.org.