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

package org.apache.hadoop.hbase.protobuf.generated;

public final class CellProtos {
  private CellProtos() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  /**
   * Protobuf enum {@code CellType}
   *
   * <pre>
   **
   * The type of the key in a Cell
   * </pre>
   */
  public enum CellType
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <code>MINIMUM = 0;</code>
     */
    MINIMUM(0, 0),
    /**
     * <code>PUT = 4;</code>
     */
    PUT(1, 4),
    /**
     * <code>DELETE = 8;</code>
     */
    DELETE(2, 8),
    /**
     * <code>DELETE_COLUMN = 12;</code>
     */
    DELETE_COLUMN(3, 12),
    /**
     * <code>DELETE_FAMILY = 14;</code>
     */
    DELETE_FAMILY(4, 14),
    /**
     * <code>MAXIMUM = 255;</code>
     *
     * <pre>
     * MAXIMUM is used when searching; you look from maximum on down.
     * </pre>
     */
    MAXIMUM(5, 255),
    ;

    /**
     * <code>MINIMUM = 0;</code>
     */
    public static final int MINIMUM_VALUE = 0;
    /**
     * <code>PUT = 4;</code>
     */
    public static final int PUT_VALUE = 4;
    /**
     * <code>DELETE = 8;</code>
     */
    public static final int DELETE_VALUE = 8;
    /**
     * <code>DELETE_COLUMN = 12;</code>
     */
    public static final int DELETE_COLUMN_VALUE = 12;
    /**
     * <code>DELETE_FAMILY = 14;</code>
     */
    public static final int DELETE_FAMILY_VALUE = 14;
    /**
     * <code>MAXIMUM = 255;</code>
     *
     * <pre>
     * MAXIMUM is used when searching; you look from maximum on down.
     * </pre>
     */
    public static final int MAXIMUM_VALUE = 255;


    public final int getNumber() { return value; }

    public static CellType valueOf(int value) {
      switch (value) {
        case 0: return MINIMUM;
        case 4: return PUT;
        case 8: return DELETE;
        case 12: return DELETE_COLUMN;
        case 14: return DELETE_FAMILY;
        case 255: return MAXIMUM;
        default: return null;
      }
    }

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

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return org.apache.hadoop.hbase.protobuf.generated.CellProtos.getDescriptor().getEnumTypes().get(0);
    }

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

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

    private final int index;
    private final int value;

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

    // @@protoc_insertion_point(enum_scope:CellType)
  }

  public interface CellOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional bytes row = 1;
    /**
     * <code>optional bytes row = 1;</code>
     */
    boolean hasRow();
    /**
     * <code>optional bytes row = 1;</code>
     */
    com.google.protobuf.ByteString getRow();

    // optional bytes family = 2;
    /**
     * <code>optional bytes family = 2;</code>
     */
    boolean hasFamily();
    /**
     * <code>optional bytes family = 2;</code>
     */
    com.google.protobuf.ByteString getFamily();

    // optional bytes qualifier = 3;
    /**
     * <code>optional bytes qualifier = 3;</code>
     */
    boolean hasQualifier();
    /**
     * <code>optional bytes qualifier = 3;</code>
     */
    com.google.protobuf.ByteString getQualifier();

    // optional uint64 timestamp = 4;
    /**
     * <code>optional uint64 timestamp = 4;</code>
     */
    boolean hasTimestamp();
    /**
     * <code>optional uint64 timestamp = 4;</code>
     */
    long getTimestamp();

    // optional .CellType cell_type = 5;
    /**
     * <code>optional .CellType cell_type = 5;</code>
     */
    boolean hasCellType();
    /**
     * <code>optional .CellType cell_type = 5;</code>
     */
    org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType getCellType();

    // optional bytes value = 6;
    /**
     * <code>optional bytes value = 6;</code>
     */
    boolean hasValue();
    /**
     * <code>optional bytes value = 6;</code>
     */
    com.google.protobuf.ByteString getValue();

    // optional bytes tags = 7;
    /**
     * <code>optional bytes tags = 7;</code>
     */
    boolean hasTags();
    /**
     * <code>optional bytes tags = 7;</code>
     */
    com.google.protobuf.ByteString getTags();
  }
  /**
   * Protobuf type {@code Cell}
   *
   * <pre>
   **
   * Protocol buffer version of Cell.
   * </pre>
   */
  public static final class Cell extends
      com.google.protobuf.GeneratedMessage
      implements CellOrBuilder {
    // Use Cell.newBuilder() to construct.
    private Cell(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private Cell(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public Cell getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private Cell(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              row_ = input.readBytes();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              family_ = input.readBytes();
              break;
            }
            case 26: {
              bitField0_ |= 0x00000004;
              qualifier_ = input.readBytes();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              timestamp_ = input.readUInt64();
              break;
            }
            case 40: {
              int rawValue = input.readEnum();
              org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType value = org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(5, rawValue);
              } else {
                bitField0_ |= 0x00000010;
                cellType_ = value;
              }
              break;
            }
            case 50: {
              bitField0_ |= 0x00000020;
              value_ = input.readBytes();
              break;
            }
            case 58: {
              bitField0_ |= 0x00000040;
              tags_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.hadoop.hbase.protobuf.generated.CellProtos.internal_static_Cell_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.hadoop.hbase.protobuf.generated.CellProtos.internal_static_Cell_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell.class, org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell.Builder.class);
    }

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

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

    private int bitField0_;
    // optional bytes row = 1;
    public static final int ROW_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString row_;
    /**
     * <code>optional bytes row = 1;</code>
     */
    public boolean hasRow() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional bytes row = 1;</code>
     */
    public com.google.protobuf.ByteString getRow() {
      return row_;
    }

    // optional bytes family = 2;
    public static final int FAMILY_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString family_;
    /**
     * <code>optional bytes family = 2;</code>
     */
    public boolean hasFamily() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional bytes family = 2;</code>
     */
    public com.google.protobuf.ByteString getFamily() {
      return family_;
    }

    // optional bytes qualifier = 3;
    public static final int QUALIFIER_FIELD_NUMBER = 3;
    private com.google.protobuf.ByteString qualifier_;
    /**
     * <code>optional bytes qualifier = 3;</code>
     */
    public boolean hasQualifier() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional bytes qualifier = 3;</code>
     */
    public com.google.protobuf.ByteString getQualifier() {
      return qualifier_;
    }

    // optional uint64 timestamp = 4;
    public static final int TIMESTAMP_FIELD_NUMBER = 4;
    private long timestamp_;
    /**
     * <code>optional uint64 timestamp = 4;</code>
     */
    public boolean hasTimestamp() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional uint64 timestamp = 4;</code>
     */
    public long getTimestamp() {
      return timestamp_;
    }

    // optional .CellType cell_type = 5;
    public static final int CELL_TYPE_FIELD_NUMBER = 5;
    private org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType cellType_;
    /**
     * <code>optional .CellType cell_type = 5;</code>
     */
    public boolean hasCellType() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional .CellType cell_type = 5;</code>
     */
    public org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType getCellType() {
      return cellType_;
    }

    // optional bytes value = 6;
    public static final int VALUE_FIELD_NUMBER = 6;
    private com.google.protobuf.ByteString value_;
    /**
     * <code>optional bytes value = 6;</code>
     */
    public boolean hasValue() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <code>optional bytes value = 6;</code>
     */
    public com.google.protobuf.ByteString getValue() {
      return value_;
    }

    // optional bytes tags = 7;
    public static final int TAGS_FIELD_NUMBER = 7;
    private com.google.protobuf.ByteString tags_;
    /**
     * <code>optional bytes tags = 7;</code>
     */
    public boolean hasTags() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * <code>optional bytes tags = 7;</code>
     */
    public com.google.protobuf.ByteString getTags() {
      return tags_;
    }

    private void initFields() {
      row_ = com.google.protobuf.ByteString.EMPTY;
      family_ = com.google.protobuf.ByteString.EMPTY;
      qualifier_ = com.google.protobuf.ByteString.EMPTY;
      timestamp_ = 0L;
      cellType_ = org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType.MINIMUM;
      value_ = com.google.protobuf.ByteString.EMPTY;
      tags_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, row_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, family_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, qualifier_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeUInt64(4, timestamp_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeEnum(5, cellType_.getNumber());
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeBytes(6, value_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeBytes(7, tags_);
      }
      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, row_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, family_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, qualifier_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(4, timestamp_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(5, cellType_.getNumber());
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(6, value_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(7, tags_);
      }
      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();
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell)) {
        return super.equals(obj);
      }
      org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell other = (org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell) obj;

      boolean result = true;
      result = result && (hasRow() == other.hasRow());
      if (hasRow()) {
        result = result && getRow()
            .equals(other.getRow());
      }
      result = result && (hasFamily() == other.hasFamily());
      if (hasFamily()) {
        result = result && getFamily()
            .equals(other.getFamily());
      }
      result = result && (hasQualifier() == other.hasQualifier());
      if (hasQualifier()) {
        result = result && getQualifier()
            .equals(other.getQualifier());
      }
      result = result && (hasTimestamp() == other.hasTimestamp());
      if (hasTimestamp()) {
        result = result && (getTimestamp()
            == other.getTimestamp());
      }
      result = result && (hasCellType() == other.hasCellType());
      if (hasCellType()) {
        result = result &&
            (getCellType() == other.getCellType());
      }
      result = result && (hasValue() == other.hasValue());
      if (hasValue()) {
        result = result && getValue()
            .equals(other.getValue());
      }
      result = result && (hasTags() == other.hasTags());
      if (hasTags()) {
        result = result && getTags()
            .equals(other.getTags());
      }
      result = result &&
          getUnknownFields().equals(other.getUnknownFields());
      return result;
    }

    private int memoizedHashCode = 0;
    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasRow()) {
        hash = (37 * hash) + ROW_FIELD_NUMBER;
        hash = (53 * hash) + getRow().hashCode();
      }
      if (hasFamily()) {
        hash = (37 * hash) + FAMILY_FIELD_NUMBER;
        hash = (53 * hash) + getFamily().hashCode();
      }
      if (hasQualifier()) {
        hash = (37 * hash) + QUALIFIER_FIELD_NUMBER;
        hash = (53 * hash) + getQualifier().hashCode();
      }
      if (hasTimestamp()) {
        hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
        hash = (53 * hash) + hashLong(getTimestamp());
      }
      if (hasCellType()) {
        hash = (37 * hash) + CELL_TYPE_FIELD_NUMBER;
        hash = (53 * hash) + hashEnum(getCellType());
      }
      if (hasValue()) {
        hash = (37 * hash) + VALUE_FIELD_NUMBER;
        hash = (53 * hash) + getValue().hashCode();
      }
      if (hasTags()) {
        hash = (37 * hash) + TAGS_FIELD_NUMBER;
        hash = (53 * hash) + getTags().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code Cell}
     *
     * <pre>
     **
     * Protocol buffer version of Cell.
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.hadoop.hbase.protobuf.generated.CellProtos.internal_static_Cell_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.hadoop.hbase.protobuf.generated.CellProtos.internal_static_Cell_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell.class, org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell.Builder.class);
      }

      // Construct using org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      public Builder clear() {
        super.clear();
        row_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        family_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        qualifier_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        timestamp_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000008);
        cellType_ = org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType.MINIMUM;
        bitField0_ = (bitField0_ & ~0x00000010);
        value_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000020);
        tags_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000040);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.hadoop.hbase.protobuf.generated.CellProtos.internal_static_Cell_descriptor;
      }

      public org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell getDefaultInstanceForType() {
        return org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell.getDefaultInstance();
      }

      public org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell build() {
        org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell buildPartial() {
        org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell result = new org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.row_ = row_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.family_ = family_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.qualifier_ = qualifier_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.timestamp_ = timestamp_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.cellType_ = cellType_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.value_ = value_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.tags_ = tags_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell) {
          return mergeFrom((org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell other) {
        if (other == org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell.getDefaultInstance()) return this;
        if (other.hasRow()) {
          setRow(other.getRow());
        }
        if (other.hasFamily()) {
          setFamily(other.getFamily());
        }
        if (other.hasQualifier()) {
          setQualifier(other.getQualifier());
        }
        if (other.hasTimestamp()) {
          setTimestamp(other.getTimestamp());
        }
        if (other.hasCellType()) {
          setCellType(other.getCellType());
        }
        if (other.hasValue()) {
          setValue(other.getValue());
        }
        if (other.hasTags()) {
          setTags(other.getTags());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.hadoop.hbase.protobuf.generated.CellProtos.Cell) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional bytes row = 1;
      private com.google.protobuf.ByteString row_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes row = 1;</code>
       */
      public boolean hasRow() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional bytes row = 1;</code>
       */
      public com.google.protobuf.ByteString getRow() {
        return row_;
      }
      /**
       * <code>optional bytes row = 1;</code>
       */
      public Builder setRow(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        row_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes row = 1;</code>
       */
      public Builder clearRow() {
        bitField0_ = (bitField0_ & ~0x00000001);
        row_ = getDefaultInstance().getRow();
        onChanged();
        return this;
      }

      // optional bytes family = 2;
      private com.google.protobuf.ByteString family_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes family = 2;</code>
       */
      public boolean hasFamily() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional bytes family = 2;</code>
       */
      public com.google.protobuf.ByteString getFamily() {
        return family_;
      }
      /**
       * <code>optional bytes family = 2;</code>
       */
      public Builder setFamily(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        family_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes family = 2;</code>
       */
      public Builder clearFamily() {
        bitField0_ = (bitField0_ & ~0x00000002);
        family_ = getDefaultInstance().getFamily();
        onChanged();
        return this;
      }

      // optional bytes qualifier = 3;
      private com.google.protobuf.ByteString qualifier_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes qualifier = 3;</code>
       */
      public boolean hasQualifier() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional bytes qualifier = 3;</code>
       */
      public com.google.protobuf.ByteString getQualifier() {
        return qualifier_;
      }
      /**
       * <code>optional bytes qualifier = 3;</code>
       */
      public Builder setQualifier(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        qualifier_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes qualifier = 3;</code>
       */
      public Builder clearQualifier() {
        bitField0_ = (bitField0_ & ~0x00000004);
        qualifier_ = getDefaultInstance().getQualifier();
        onChanged();
        return this;
      }

      // optional uint64 timestamp = 4;
      private long timestamp_ ;
      /**
       * <code>optional uint64 timestamp = 4;</code>
       */
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional uint64 timestamp = 4;</code>
       */
      public long getTimestamp() {
        return timestamp_;
      }
      /**
       * <code>optional uint64 timestamp = 4;</code>
       */
      public Builder setTimestamp(long value) {
        bitField0_ |= 0x00000008;
        timestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint64 timestamp = 4;</code>
       */
      public Builder clearTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000008);
        timestamp_ = 0L;
        onChanged();
        return this;
      }

      // optional .CellType cell_type = 5;
      private org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType cellType_ = org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType.MINIMUM;
      /**
       * <code>optional .CellType cell_type = 5;</code>
       */
      public boolean hasCellType() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional .CellType cell_type = 5;</code>
       */
      public org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType getCellType() {
        return cellType_;
      }
      /**
       * <code>optional .CellType cell_type = 5;</code>
       */
      public Builder setCellType(org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000010;
        cellType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional .CellType cell_type = 5;</code>
       */
      public Builder clearCellType() {
        bitField0_ = (bitField0_ & ~0x00000010);
        cellType_ = org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType.MINIMUM;
        onChanged();
        return this;
      }

      // optional bytes value = 6;
      private com.google.protobuf.ByteString value_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes value = 6;</code>
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>optional bytes value = 6;</code>
       */
      public com.google.protobuf.ByteString getValue() {
        return value_;
      }
      /**
       * <code>optional bytes value = 6;</code>
       */
      public Builder setValue(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        value_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes value = 6;</code>
       */
      public Builder clearValue() {
        bitField0_ = (bitField0_ & ~0x00000020);
        value_ = getDefaultInstance().getValue();
        onChanged();
        return this;
      }

      // optional bytes tags = 7;
      private com.google.protobuf.ByteString tags_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes tags = 7;</code>
       */
      public boolean hasTags() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * <code>optional bytes tags = 7;</code>
       */
      public com.google.protobuf.ByteString getTags() {
        return tags_;
      }
      /**
       * <code>optional bytes tags = 7;</code>
       */
      public Builder setTags(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000040;
        tags_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes tags = 7;</code>
       */
      public Builder clearTags() {
        bitField0_ = (bitField0_ & ~0x00000040);
        tags_ = getDefaultInstance().getTags();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:Cell)
    }

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

    // @@protoc_insertion_point(class_scope:Cell)
  }

  public interface KeyValueOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // required bytes row = 1;
    /**
     * <code>required bytes row = 1;</code>
     */
    boolean hasRow();
    /**
     * <code>required bytes row = 1;</code>
     */
    com.google.protobuf.ByteString getRow();

    // required bytes family = 2;
    /**
     * <code>required bytes family = 2;</code>
     */
    boolean hasFamily();
    /**
     * <code>required bytes family = 2;</code>
     */
    com.google.protobuf.ByteString getFamily();

    // required bytes qualifier = 3;
    /**
     * <code>required bytes qualifier = 3;</code>
     */
    boolean hasQualifier();
    /**
     * <code>required bytes qualifier = 3;</code>
     */
    com.google.protobuf.ByteString getQualifier();

    // optional uint64 timestamp = 4;
    /**
     * <code>optional uint64 timestamp = 4;</code>
     */
    boolean hasTimestamp();
    /**
     * <code>optional uint64 timestamp = 4;</code>
     */
    long getTimestamp();

    // optional .CellType key_type = 5;
    /**
     * <code>optional .CellType key_type = 5;</code>
     */
    boolean hasKeyType();
    /**
     * <code>optional .CellType key_type = 5;</code>
     */
    org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType getKeyType();

    // optional bytes value = 6;
    /**
     * <code>optional bytes value = 6;</code>
     */
    boolean hasValue();
    /**
     * <code>optional bytes value = 6;</code>
     */
    com.google.protobuf.ByteString getValue();

    // optional bytes tags = 7;
    /**
     * <code>optional bytes tags = 7;</code>
     */
    boolean hasTags();
    /**
     * <code>optional bytes tags = 7;</code>
     */
    com.google.protobuf.ByteString getTags();
  }
  /**
   * Protobuf type {@code KeyValue}
   *
   * <pre>
   **
   * Protocol buffer version of KeyValue.
   * It doesn't have those transient parameters
   * </pre>
   */
  public static final class KeyValue extends
      com.google.protobuf.GeneratedMessage
      implements KeyValueOrBuilder {
    // Use KeyValue.newBuilder() to construct.
    private KeyValue(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private KeyValue(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public KeyValue getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private KeyValue(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              row_ = input.readBytes();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              family_ = input.readBytes();
              break;
            }
            case 26: {
              bitField0_ |= 0x00000004;
              qualifier_ = input.readBytes();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              timestamp_ = input.readUInt64();
              break;
            }
            case 40: {
              int rawValue = input.readEnum();
              org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType value = org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(5, rawValue);
              } else {
                bitField0_ |= 0x00000010;
                keyType_ = value;
              }
              break;
            }
            case 50: {
              bitField0_ |= 0x00000020;
              value_ = input.readBytes();
              break;
            }
            case 58: {
              bitField0_ |= 0x00000040;
              tags_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.hadoop.hbase.protobuf.generated.CellProtos.internal_static_KeyValue_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.hadoop.hbase.protobuf.generated.CellProtos.internal_static_KeyValue_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue.class, org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue.Builder.class);
    }

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

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

    private int bitField0_;
    // required bytes row = 1;
    public static final int ROW_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString row_;
    /**
     * <code>required bytes row = 1;</code>
     */
    public boolean hasRow() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required bytes row = 1;</code>
     */
    public com.google.protobuf.ByteString getRow() {
      return row_;
    }

    // required bytes family = 2;
    public static final int FAMILY_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString family_;
    /**
     * <code>required bytes family = 2;</code>
     */
    public boolean hasFamily() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>required bytes family = 2;</code>
     */
    public com.google.protobuf.ByteString getFamily() {
      return family_;
    }

    // required bytes qualifier = 3;
    public static final int QUALIFIER_FIELD_NUMBER = 3;
    private com.google.protobuf.ByteString qualifier_;
    /**
     * <code>required bytes qualifier = 3;</code>
     */
    public boolean hasQualifier() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>required bytes qualifier = 3;</code>
     */
    public com.google.protobuf.ByteString getQualifier() {
      return qualifier_;
    }

    // optional uint64 timestamp = 4;
    public static final int TIMESTAMP_FIELD_NUMBER = 4;
    private long timestamp_;
    /**
     * <code>optional uint64 timestamp = 4;</code>
     */
    public boolean hasTimestamp() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional uint64 timestamp = 4;</code>
     */
    public long getTimestamp() {
      return timestamp_;
    }

    // optional .CellType key_type = 5;
    public static final int KEY_TYPE_FIELD_NUMBER = 5;
    private org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType keyType_;
    /**
     * <code>optional .CellType key_type = 5;</code>
     */
    public boolean hasKeyType() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional .CellType key_type = 5;</code>
     */
    public org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType getKeyType() {
      return keyType_;
    }

    // optional bytes value = 6;
    public static final int VALUE_FIELD_NUMBER = 6;
    private com.google.protobuf.ByteString value_;
    /**
     * <code>optional bytes value = 6;</code>
     */
    public boolean hasValue() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <code>optional bytes value = 6;</code>
     */
    public com.google.protobuf.ByteString getValue() {
      return value_;
    }

    // optional bytes tags = 7;
    public static final int TAGS_FIELD_NUMBER = 7;
    private com.google.protobuf.ByteString tags_;
    /**
     * <code>optional bytes tags = 7;</code>
     */
    public boolean hasTags() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * <code>optional bytes tags = 7;</code>
     */
    public com.google.protobuf.ByteString getTags() {
      return tags_;
    }

    private void initFields() {
      row_ = com.google.protobuf.ByteString.EMPTY;
      family_ = com.google.protobuf.ByteString.EMPTY;
      qualifier_ = com.google.protobuf.ByteString.EMPTY;
      timestamp_ = 0L;
      keyType_ = org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType.MINIMUM;
      value_ = com.google.protobuf.ByteString.EMPTY;
      tags_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasRow()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasFamily()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasQualifier()) {
        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, row_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, family_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, qualifier_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeUInt64(4, timestamp_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeEnum(5, keyType_.getNumber());
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeBytes(6, value_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeBytes(7, tags_);
      }
      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, row_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, family_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, qualifier_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(4, timestamp_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(5, keyType_.getNumber());
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(6, value_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(7, tags_);
      }
      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();
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue)) {
        return super.equals(obj);
      }
      org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue other = (org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue) obj;

      boolean result = true;
      result = result && (hasRow() == other.hasRow());
      if (hasRow()) {
        result = result && getRow()
            .equals(other.getRow());
      }
      result = result && (hasFamily() == other.hasFamily());
      if (hasFamily()) {
        result = result && getFamily()
            .equals(other.getFamily());
      }
      result = result && (hasQualifier() == other.hasQualifier());
      if (hasQualifier()) {
        result = result && getQualifier()
            .equals(other.getQualifier());
      }
      result = result && (hasTimestamp() == other.hasTimestamp());
      if (hasTimestamp()) {
        result = result && (getTimestamp()
            == other.getTimestamp());
      }
      result = result && (hasKeyType() == other.hasKeyType());
      if (hasKeyType()) {
        result = result &&
            (getKeyType() == other.getKeyType());
      }
      result = result && (hasValue() == other.hasValue());
      if (hasValue()) {
        result = result && getValue()
            .equals(other.getValue());
      }
      result = result && (hasTags() == other.hasTags());
      if (hasTags()) {
        result = result && getTags()
            .equals(other.getTags());
      }
      result = result &&
          getUnknownFields().equals(other.getUnknownFields());
      return result;
    }

    private int memoizedHashCode = 0;
    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasRow()) {
        hash = (37 * hash) + ROW_FIELD_NUMBER;
        hash = (53 * hash) + getRow().hashCode();
      }
      if (hasFamily()) {
        hash = (37 * hash) + FAMILY_FIELD_NUMBER;
        hash = (53 * hash) + getFamily().hashCode();
      }
      if (hasQualifier()) {
        hash = (37 * hash) + QUALIFIER_FIELD_NUMBER;
        hash = (53 * hash) + getQualifier().hashCode();
      }
      if (hasTimestamp()) {
        hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
        hash = (53 * hash) + hashLong(getTimestamp());
      }
      if (hasKeyType()) {
        hash = (37 * hash) + KEY_TYPE_FIELD_NUMBER;
        hash = (53 * hash) + hashEnum(getKeyType());
      }
      if (hasValue()) {
        hash = (37 * hash) + VALUE_FIELD_NUMBER;
        hash = (53 * hash) + getValue().hashCode();
      }
      if (hasTags()) {
        hash = (37 * hash) + TAGS_FIELD_NUMBER;
        hash = (53 * hash) + getTags().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code KeyValue}
     *
     * <pre>
     **
     * Protocol buffer version of KeyValue.
     * It doesn't have those transient parameters
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValueOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.hadoop.hbase.protobuf.generated.CellProtos.internal_static_KeyValue_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.hadoop.hbase.protobuf.generated.CellProtos.internal_static_KeyValue_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue.class, org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue.Builder.class);
      }

      // Construct using org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      public Builder clear() {
        super.clear();
        row_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        family_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        qualifier_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        timestamp_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000008);
        keyType_ = org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType.MINIMUM;
        bitField0_ = (bitField0_ & ~0x00000010);
        value_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000020);
        tags_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000040);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.hadoop.hbase.protobuf.generated.CellProtos.internal_static_KeyValue_descriptor;
      }

      public org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue getDefaultInstanceForType() {
        return org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue.getDefaultInstance();
      }

      public org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue build() {
        org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue buildPartial() {
        org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue result = new org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.row_ = row_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.family_ = family_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.qualifier_ = qualifier_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.timestamp_ = timestamp_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.keyType_ = keyType_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.value_ = value_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.tags_ = tags_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue) {
          return mergeFrom((org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue other) {
        if (other == org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue.getDefaultInstance()) return this;
        if (other.hasRow()) {
          setRow(other.getRow());
        }
        if (other.hasFamily()) {
          setFamily(other.getFamily());
        }
        if (other.hasQualifier()) {
          setQualifier(other.getQualifier());
        }
        if (other.hasTimestamp()) {
          setTimestamp(other.getTimestamp());
        }
        if (other.hasKeyType()) {
          setKeyType(other.getKeyType());
        }
        if (other.hasValue()) {
          setValue(other.getValue());
        }
        if (other.hasTags()) {
          setTags(other.getTags());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasRow()) {
          
          return false;
        }
        if (!hasFamily()) {
          
          return false;
        }
        if (!hasQualifier()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.hadoop.hbase.protobuf.generated.CellProtos.KeyValue) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // required bytes row = 1;
      private com.google.protobuf.ByteString row_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>required bytes row = 1;</code>
       */
      public boolean hasRow() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required bytes row = 1;</code>
       */
      public com.google.protobuf.ByteString getRow() {
        return row_;
      }
      /**
       * <code>required bytes row = 1;</code>
       */
      public Builder setRow(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        row_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes row = 1;</code>
       */
      public Builder clearRow() {
        bitField0_ = (bitField0_ & ~0x00000001);
        row_ = getDefaultInstance().getRow();
        onChanged();
        return this;
      }

      // required bytes family = 2;
      private com.google.protobuf.ByteString family_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>required bytes family = 2;</code>
       */
      public boolean hasFamily() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required bytes family = 2;</code>
       */
      public com.google.protobuf.ByteString getFamily() {
        return family_;
      }
      /**
       * <code>required bytes family = 2;</code>
       */
      public Builder setFamily(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        family_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes family = 2;</code>
       */
      public Builder clearFamily() {
        bitField0_ = (bitField0_ & ~0x00000002);
        family_ = getDefaultInstance().getFamily();
        onChanged();
        return this;
      }

      // required bytes qualifier = 3;
      private com.google.protobuf.ByteString qualifier_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>required bytes qualifier = 3;</code>
       */
      public boolean hasQualifier() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>required bytes qualifier = 3;</code>
       */
      public com.google.protobuf.ByteString getQualifier() {
        return qualifier_;
      }
      /**
       * <code>required bytes qualifier = 3;</code>
       */
      public Builder setQualifier(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        qualifier_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes qualifier = 3;</code>
       */
      public Builder clearQualifier() {
        bitField0_ = (bitField0_ & ~0x00000004);
        qualifier_ = getDefaultInstance().getQualifier();
        onChanged();
        return this;
      }

      // optional uint64 timestamp = 4;
      private long timestamp_ ;
      /**
       * <code>optional uint64 timestamp = 4;</code>
       */
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional uint64 timestamp = 4;</code>
       */
      public long getTimestamp() {
        return timestamp_;
      }
      /**
       * <code>optional uint64 timestamp = 4;</code>
       */
      public Builder setTimestamp(long value) {
        bitField0_ |= 0x00000008;
        timestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint64 timestamp = 4;</code>
       */
      public Builder clearTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000008);
        timestamp_ = 0L;
        onChanged();
        return this;
      }

      // optional .CellType key_type = 5;
      private org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType keyType_ = org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType.MINIMUM;
      /**
       * <code>optional .CellType key_type = 5;</code>
       */
      public boolean hasKeyType() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional .CellType key_type = 5;</code>
       */
      public org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType getKeyType() {
        return keyType_;
      }
      /**
       * <code>optional .CellType key_type = 5;</code>
       */
      public Builder setKeyType(org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000010;
        keyType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional .CellType key_type = 5;</code>
       */
      public Builder clearKeyType() {
        bitField0_ = (bitField0_ & ~0x00000010);
        keyType_ = org.apache.hadoop.hbase.protobuf.generated.CellProtos.CellType.MINIMUM;
        onChanged();
        return this;
      }

      // optional bytes value = 6;
      private com.google.protobuf.ByteString value_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes value = 6;</code>
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>optional bytes value = 6;</code>
       */
      public com.google.protobuf.ByteString getValue() {
        return value_;
      }
      /**
       * <code>optional bytes value = 6;</code>
       */
      public Builder setValue(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        value_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes value = 6;</code>
       */
      public Builder clearValue() {
        bitField0_ = (bitField0_ & ~0x00000020);
        value_ = getDefaultInstance().getValue();
        onChanged();
        return this;
      }

      // optional bytes tags = 7;
      private com.google.protobuf.ByteString tags_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes tags = 7;</code>
       */
      public boolean hasTags() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * <code>optional bytes tags = 7;</code>
       */
      public com.google.protobuf.ByteString getTags() {
        return tags_;
      }
      /**
       * <code>optional bytes tags = 7;</code>
       */
      public Builder setTags(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000040;
        tags_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes tags = 7;</code>
       */
      public Builder clearTags() {
        bitField0_ = (bitField0_ & ~0x00000040);
        tags_ = getDefaultInstance().getTags();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:KeyValue)
    }

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

    // @@protoc_insertion_point(class_scope:KeyValue)
  }

  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_Cell_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_Cell_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_KeyValue_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_KeyValue_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\nCell.proto\"\204\001\n\004Cell\022\013\n\003row\030\001 \001(\014\022\016\n\006fa" +
      "mily\030\002 \001(\014\022\021\n\tqualifier\030\003 \001(\014\022\021\n\ttimesta" +
      "mp\030\004 \001(\004\022\034\n\tcell_type\030\005 \001(\0162\t.CellType\022\r" +
      "\n\005value\030\006 \001(\014\022\014\n\004tags\030\007 \001(\014\"\207\001\n\010KeyValue" +
      "\022\013\n\003row\030\001 \002(\014\022\016\n\006family\030\002 \002(\014\022\021\n\tqualifi" +
      "er\030\003 \002(\014\022\021\n\ttimestamp\030\004 \001(\004\022\033\n\010key_type\030" +
      "\005 \001(\0162\t.CellType\022\r\n\005value\030\006 \001(\014\022\014\n\004tags\030" +
      "\007 \001(\014*`\n\010CellType\022\013\n\007MINIMUM\020\000\022\007\n\003PUT\020\004\022" +
      "\n\n\006DELETE\020\010\022\021\n\rDELETE_COLUMN\020\014\022\021\n\rDELETE" +
      "_FAMILY\020\016\022\014\n\007MAXIMUM\020\377\001B=\n*org.apache.ha",
      "doop.hbase.protobuf.generatedB\nCellProto" +
      "sH\001\240\001\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_Cell_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_Cell_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_Cell_descriptor,
              new java.lang.String[] { "Row", "Family", "Qualifier", "Timestamp", "CellType", "Value", "Tags", });
          internal_static_KeyValue_descriptor =
            getDescriptor().getMessageTypes().get(1);
          internal_static_KeyValue_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_KeyValue_descriptor,
              new java.lang.String[] { "Row", "Family", "Qualifier", "Timestamp", "KeyType", "Value", "Tags", });
          return null;
        }
      };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
  }

  // @@protoc_insertion_point(outer_class_scope)
}
