All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.yahoo.bullet.dsl.SmartAvro Maven / Gradle / Ivy

The newest version!
/**
 * Autogenerated by Avro
 *
 * DO NOT EDIT DIRECTLY
 */
package com.yahoo.bullet.dsl;

import org.apache.avro.generic.GenericArray;
import org.apache.avro.specific.SpecificData;
import org.apache.avro.util.Utf8;
import org.apache.avro.message.BinaryMessageEncoder;
import org.apache.avro.message.BinaryMessageDecoder;
import org.apache.avro.message.SchemaStore;

@org.apache.avro.specific.AvroGenerated
public class SmartAvro extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
  private static final long serialVersionUID = -9168072454435930961L;
  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"SmartAvro\",\"namespace\":\"com.yahoo.bullet.dsl\",\"fields\":[{\"name\":\"myInt\",\"type\":\"int\"},{\"name\":\"myLong\",\"type\":\"long\"},{\"name\":\"myFloat\",\"type\":\"float\"},{\"name\":\"myDouble\",\"type\":\"double\"},{\"name\":\"myBool\",\"type\":\"boolean\"},{\"name\":\"myString\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"myIntMap\",\"type\":{\"type\":\"map\",\"values\":\"int\",\"avro.java.string\":\"String\"}},{\"name\":\"myLongMap\",\"type\":{\"type\":\"map\",\"values\":\"long\",\"avro.java.string\":\"String\"}},{\"name\":\"myFloatMap\",\"type\":{\"type\":\"map\",\"values\":\"float\",\"avro.java.string\":\"String\"}},{\"name\":\"myDoubleMap\",\"type\":{\"type\":\"map\",\"values\":\"double\",\"avro.java.string\":\"String\"}},{\"name\":\"myBoolMap\",\"type\":{\"type\":\"map\",\"values\":\"boolean\",\"avro.java.string\":\"String\"}},{\"name\":\"myStringMap\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"avro.java.string\":\"String\"}},{\"name\":\"myIntMapMap\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":\"int\",\"avro.java.string\":\"String\"},\"avro.java.string\":\"String\"}},{\"name\":\"myLongMapMap\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":\"long\",\"avro.java.string\":\"String\"},\"avro.java.string\":\"String\"}},{\"name\":\"myFloatMapMap\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":\"float\",\"avro.java.string\":\"String\"},\"avro.java.string\":\"String\"}},{\"name\":\"myDoubleMapMap\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":\"double\",\"avro.java.string\":\"String\"},\"avro.java.string\":\"String\"}},{\"name\":\"myBoolMapMap\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":\"boolean\",\"avro.java.string\":\"String\"},\"avro.java.string\":\"String\"}},{\"name\":\"myStringMapMap\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"avro.java.string\":\"String\"},\"avro.java.string\":\"String\"}},{\"name\":\"myIntList\",\"type\":{\"type\":\"array\",\"items\":\"int\"}},{\"name\":\"myLongList\",\"type\":{\"type\":\"array\",\"items\":\"long\"}},{\"name\":\"myFloatList\",\"type\":{\"type\":\"array\",\"items\":\"float\"}},{\"name\":\"myDoubleList\",\"type\":{\"type\":\"array\",\"items\":\"double\"}},{\"name\":\"myBoolList\",\"type\":{\"type\":\"array\",\"items\":\"boolean\"}},{\"name\":\"myStringList\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}},{\"name\":\"myIntMapList\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"map\",\"values\":\"int\",\"avro.java.string\":\"String\"}}},{\"name\":\"myLongMapList\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"map\",\"values\":\"long\",\"avro.java.string\":\"String\"}}},{\"name\":\"myFloatMapList\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"map\",\"values\":\"float\",\"avro.java.string\":\"String\"}}},{\"name\":\"myDoubleMapList\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"map\",\"values\":\"double\",\"avro.java.string\":\"String\"}}},{\"name\":\"myBoolMapList\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"map\",\"values\":\"boolean\",\"avro.java.string\":\"String\"}}},{\"name\":\"myStringMapList\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"map\",\"values\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"avro.java.string\":\"String\"}}}]}");
  public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }

  private static SpecificData MODEL$ = new SpecificData();

  private static final BinaryMessageEncoder ENCODER =
      new BinaryMessageEncoder(MODEL$, SCHEMA$);

  private static final BinaryMessageDecoder DECODER =
      new BinaryMessageDecoder(MODEL$, SCHEMA$);

  /**
   * Return the BinaryMessageEncoder instance used by this class.
   * @return the message encoder used by this class
   */
  public static BinaryMessageEncoder getEncoder() {
    return ENCODER;
  }

  /**
   * Return the BinaryMessageDecoder instance used by this class.
   * @return the message decoder used by this class
   */
  public static BinaryMessageDecoder getDecoder() {
    return DECODER;
  }

  /**
   * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
   * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
   * @return a BinaryMessageDecoder instance for this class backed by the given SchemaStore
   */
  public static BinaryMessageDecoder createDecoder(SchemaStore resolver) {
    return new BinaryMessageDecoder(MODEL$, SCHEMA$, resolver);
  }

  /**
   * Serializes this SmartAvro to a ByteBuffer.
   * @return a buffer holding the serialized data for this instance
   * @throws java.io.IOException if this instance could not be serialized
   */
  public java.nio.ByteBuffer toByteBuffer() throws java.io.IOException {
    return ENCODER.encode(this);
  }

  /**
   * Deserializes a SmartAvro from a ByteBuffer.
   * @param b a byte buffer holding serialized data for an instance of this class
   * @return a SmartAvro instance decoded from the given buffer
   * @throws java.io.IOException if the given bytes could not be deserialized into an instance of this class
   */
  public static SmartAvro fromByteBuffer(
      java.nio.ByteBuffer b) throws java.io.IOException {
    return DECODER.decode(b);
  }

  @Deprecated public int myInt;
  @Deprecated public long myLong;
  @Deprecated public float myFloat;
  @Deprecated public double myDouble;
  @Deprecated public boolean myBool;
  @Deprecated public java.lang.String myString;
  @Deprecated public java.util.Map myIntMap;
  @Deprecated public java.util.Map myLongMap;
  @Deprecated public java.util.Map myFloatMap;
  @Deprecated public java.util.Map myDoubleMap;
  @Deprecated public java.util.Map myBoolMap;
  @Deprecated public java.util.Map myStringMap;
  @Deprecated public java.util.Map> myIntMapMap;
  @Deprecated public java.util.Map> myLongMapMap;
  @Deprecated public java.util.Map> myFloatMapMap;
  @Deprecated public java.util.Map> myDoubleMapMap;
  @Deprecated public java.util.Map> myBoolMapMap;
  @Deprecated public java.util.Map> myStringMapMap;
  @Deprecated public java.util.List myIntList;
  @Deprecated public java.util.List myLongList;
  @Deprecated public java.util.List myFloatList;
  @Deprecated public java.util.List myDoubleList;
  @Deprecated public java.util.List myBoolList;
  @Deprecated public java.util.List myStringList;
  @Deprecated public java.util.List> myIntMapList;
  @Deprecated public java.util.List> myLongMapList;
  @Deprecated public java.util.List> myFloatMapList;
  @Deprecated public java.util.List> myDoubleMapList;
  @Deprecated public java.util.List> myBoolMapList;
  @Deprecated public java.util.List> myStringMapList;

  /**
   * Default constructor.  Note that this does not initialize fields
   * to their default values from the schema.  If that is desired then
   * one should use newBuilder().
   */
  public SmartAvro() {}

  /**
   * All-args constructor.
   * @param myInt The new value for myInt
   * @param myLong The new value for myLong
   * @param myFloat The new value for myFloat
   * @param myDouble The new value for myDouble
   * @param myBool The new value for myBool
   * @param myString The new value for myString
   * @param myIntMap The new value for myIntMap
   * @param myLongMap The new value for myLongMap
   * @param myFloatMap The new value for myFloatMap
   * @param myDoubleMap The new value for myDoubleMap
   * @param myBoolMap The new value for myBoolMap
   * @param myStringMap The new value for myStringMap
   * @param myIntMapMap The new value for myIntMapMap
   * @param myLongMapMap The new value for myLongMapMap
   * @param myFloatMapMap The new value for myFloatMapMap
   * @param myDoubleMapMap The new value for myDoubleMapMap
   * @param myBoolMapMap The new value for myBoolMapMap
   * @param myStringMapMap The new value for myStringMapMap
   * @param myIntList The new value for myIntList
   * @param myLongList The new value for myLongList
   * @param myFloatList The new value for myFloatList
   * @param myDoubleList The new value for myDoubleList
   * @param myBoolList The new value for myBoolList
   * @param myStringList The new value for myStringList
   * @param myIntMapList The new value for myIntMapList
   * @param myLongMapList The new value for myLongMapList
   * @param myFloatMapList The new value for myFloatMapList
   * @param myDoubleMapList The new value for myDoubleMapList
   * @param myBoolMapList The new value for myBoolMapList
   * @param myStringMapList The new value for myStringMapList
   */
  public SmartAvro(java.lang.Integer myInt, java.lang.Long myLong, java.lang.Float myFloat, java.lang.Double myDouble, java.lang.Boolean myBool, java.lang.String myString, java.util.Map myIntMap, java.util.Map myLongMap, java.util.Map myFloatMap, java.util.Map myDoubleMap, java.util.Map myBoolMap, java.util.Map myStringMap, java.util.Map> myIntMapMap, java.util.Map> myLongMapMap, java.util.Map> myFloatMapMap, java.util.Map> myDoubleMapMap, java.util.Map> myBoolMapMap, java.util.Map> myStringMapMap, java.util.List myIntList, java.util.List myLongList, java.util.List myFloatList, java.util.List myDoubleList, java.util.List myBoolList, java.util.List myStringList, java.util.List> myIntMapList, java.util.List> myLongMapList, java.util.List> myFloatMapList, java.util.List> myDoubleMapList, java.util.List> myBoolMapList, java.util.List> myStringMapList) {
    this.myInt = myInt;
    this.myLong = myLong;
    this.myFloat = myFloat;
    this.myDouble = myDouble;
    this.myBool = myBool;
    this.myString = myString;
    this.myIntMap = myIntMap;
    this.myLongMap = myLongMap;
    this.myFloatMap = myFloatMap;
    this.myDoubleMap = myDoubleMap;
    this.myBoolMap = myBoolMap;
    this.myStringMap = myStringMap;
    this.myIntMapMap = myIntMapMap;
    this.myLongMapMap = myLongMapMap;
    this.myFloatMapMap = myFloatMapMap;
    this.myDoubleMapMap = myDoubleMapMap;
    this.myBoolMapMap = myBoolMapMap;
    this.myStringMapMap = myStringMapMap;
    this.myIntList = myIntList;
    this.myLongList = myLongList;
    this.myFloatList = myFloatList;
    this.myDoubleList = myDoubleList;
    this.myBoolList = myBoolList;
    this.myStringList = myStringList;
    this.myIntMapList = myIntMapList;
    this.myLongMapList = myLongMapList;
    this.myFloatMapList = myFloatMapList;
    this.myDoubleMapList = myDoubleMapList;
    this.myBoolMapList = myBoolMapList;
    this.myStringMapList = myStringMapList;
  }

  public org.apache.avro.specific.SpecificData getSpecificData() { return MODEL$; }
  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
  // Used by DatumWriter.  Applications should not call.
  public java.lang.Object get(int field$) {
    switch (field$) {
    case 0: return myInt;
    case 1: return myLong;
    case 2: return myFloat;
    case 3: return myDouble;
    case 4: return myBool;
    case 5: return myString;
    case 6: return myIntMap;
    case 7: return myLongMap;
    case 8: return myFloatMap;
    case 9: return myDoubleMap;
    case 10: return myBoolMap;
    case 11: return myStringMap;
    case 12: return myIntMapMap;
    case 13: return myLongMapMap;
    case 14: return myFloatMapMap;
    case 15: return myDoubleMapMap;
    case 16: return myBoolMapMap;
    case 17: return myStringMapMap;
    case 18: return myIntList;
    case 19: return myLongList;
    case 20: return myFloatList;
    case 21: return myDoubleList;
    case 22: return myBoolList;
    case 23: return myStringList;
    case 24: return myIntMapList;
    case 25: return myLongMapList;
    case 26: return myFloatMapList;
    case 27: return myDoubleMapList;
    case 28: return myBoolMapList;
    case 29: return myStringMapList;
    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
    }
  }

  // Used by DatumReader.  Applications should not call.
  @SuppressWarnings(value="unchecked")
  public void put(int field$, java.lang.Object value$) {
    switch (field$) {
    case 0: myInt = (java.lang.Integer)value$; break;
    case 1: myLong = (java.lang.Long)value$; break;
    case 2: myFloat = (java.lang.Float)value$; break;
    case 3: myDouble = (java.lang.Double)value$; break;
    case 4: myBool = (java.lang.Boolean)value$; break;
    case 5: myString = value$ != null ? value$.toString() : null; break;
    case 6: myIntMap = (java.util.Map)value$; break;
    case 7: myLongMap = (java.util.Map)value$; break;
    case 8: myFloatMap = (java.util.Map)value$; break;
    case 9: myDoubleMap = (java.util.Map)value$; break;
    case 10: myBoolMap = (java.util.Map)value$; break;
    case 11: myStringMap = (java.util.Map)value$; break;
    case 12: myIntMapMap = (java.util.Map>)value$; break;
    case 13: myLongMapMap = (java.util.Map>)value$; break;
    case 14: myFloatMapMap = (java.util.Map>)value$; break;
    case 15: myDoubleMapMap = (java.util.Map>)value$; break;
    case 16: myBoolMapMap = (java.util.Map>)value$; break;
    case 17: myStringMapMap = (java.util.Map>)value$; break;
    case 18: myIntList = (java.util.List)value$; break;
    case 19: myLongList = (java.util.List)value$; break;
    case 20: myFloatList = (java.util.List)value$; break;
    case 21: myDoubleList = (java.util.List)value$; break;
    case 22: myBoolList = (java.util.List)value$; break;
    case 23: myStringList = (java.util.List)value$; break;
    case 24: myIntMapList = (java.util.List>)value$; break;
    case 25: myLongMapList = (java.util.List>)value$; break;
    case 26: myFloatMapList = (java.util.List>)value$; break;
    case 27: myDoubleMapList = (java.util.List>)value$; break;
    case 28: myBoolMapList = (java.util.List>)value$; break;
    case 29: myStringMapList = (java.util.List>)value$; break;
    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
    }
  }

  /**
   * Gets the value of the 'myInt' field.
   * @return The value of the 'myInt' field.
   */
  public int getMyInt() {
    return myInt;
  }


  /**
   * Sets the value of the 'myInt' field.
   * @param value the value to set.
   */
  public void setMyInt(int value) {
    this.myInt = value;
  }

  /**
   * Gets the value of the 'myLong' field.
   * @return The value of the 'myLong' field.
   */
  public long getMyLong() {
    return myLong;
  }


  /**
   * Sets the value of the 'myLong' field.
   * @param value the value to set.
   */
  public void setMyLong(long value) {
    this.myLong = value;
  }

  /**
   * Gets the value of the 'myFloat' field.
   * @return The value of the 'myFloat' field.
   */
  public float getMyFloat() {
    return myFloat;
  }


  /**
   * Sets the value of the 'myFloat' field.
   * @param value the value to set.
   */
  public void setMyFloat(float value) {
    this.myFloat = value;
  }

  /**
   * Gets the value of the 'myDouble' field.
   * @return The value of the 'myDouble' field.
   */
  public double getMyDouble() {
    return myDouble;
  }


  /**
   * Sets the value of the 'myDouble' field.
   * @param value the value to set.
   */
  public void setMyDouble(double value) {
    this.myDouble = value;
  }

  /**
   * Gets the value of the 'myBool' field.
   * @return The value of the 'myBool' field.
   */
  public boolean getMyBool() {
    return myBool;
  }


  /**
   * Sets the value of the 'myBool' field.
   * @param value the value to set.
   */
  public void setMyBool(boolean value) {
    this.myBool = value;
  }

  /**
   * Gets the value of the 'myString' field.
   * @return The value of the 'myString' field.
   */
  public java.lang.String getMyString() {
    return myString;
  }


  /**
   * Sets the value of the 'myString' field.
   * @param value the value to set.
   */
  public void setMyString(java.lang.String value) {
    this.myString = value;
  }

  /**
   * Gets the value of the 'myIntMap' field.
   * @return The value of the 'myIntMap' field.
   */
  public java.util.Map getMyIntMap() {
    return myIntMap;
  }


  /**
   * Sets the value of the 'myIntMap' field.
   * @param value the value to set.
   */
  public void setMyIntMap(java.util.Map value) {
    this.myIntMap = value;
  }

  /**
   * Gets the value of the 'myLongMap' field.
   * @return The value of the 'myLongMap' field.
   */
  public java.util.Map getMyLongMap() {
    return myLongMap;
  }


  /**
   * Sets the value of the 'myLongMap' field.
   * @param value the value to set.
   */
  public void setMyLongMap(java.util.Map value) {
    this.myLongMap = value;
  }

  /**
   * Gets the value of the 'myFloatMap' field.
   * @return The value of the 'myFloatMap' field.
   */
  public java.util.Map getMyFloatMap() {
    return myFloatMap;
  }


  /**
   * Sets the value of the 'myFloatMap' field.
   * @param value the value to set.
   */
  public void setMyFloatMap(java.util.Map value) {
    this.myFloatMap = value;
  }

  /**
   * Gets the value of the 'myDoubleMap' field.
   * @return The value of the 'myDoubleMap' field.
   */
  public java.util.Map getMyDoubleMap() {
    return myDoubleMap;
  }


  /**
   * Sets the value of the 'myDoubleMap' field.
   * @param value the value to set.
   */
  public void setMyDoubleMap(java.util.Map value) {
    this.myDoubleMap = value;
  }

  /**
   * Gets the value of the 'myBoolMap' field.
   * @return The value of the 'myBoolMap' field.
   */
  public java.util.Map getMyBoolMap() {
    return myBoolMap;
  }


  /**
   * Sets the value of the 'myBoolMap' field.
   * @param value the value to set.
   */
  public void setMyBoolMap(java.util.Map value) {
    this.myBoolMap = value;
  }

  /**
   * Gets the value of the 'myStringMap' field.
   * @return The value of the 'myStringMap' field.
   */
  public java.util.Map getMyStringMap() {
    return myStringMap;
  }


  /**
   * Sets the value of the 'myStringMap' field.
   * @param value the value to set.
   */
  public void setMyStringMap(java.util.Map value) {
    this.myStringMap = value;
  }

  /**
   * Gets the value of the 'myIntMapMap' field.
   * @return The value of the 'myIntMapMap' field.
   */
  public java.util.Map> getMyIntMapMap() {
    return myIntMapMap;
  }


  /**
   * Sets the value of the 'myIntMapMap' field.
   * @param value the value to set.
   */
  public void setMyIntMapMap(java.util.Map> value) {
    this.myIntMapMap = value;
  }

  /**
   * Gets the value of the 'myLongMapMap' field.
   * @return The value of the 'myLongMapMap' field.
   */
  public java.util.Map> getMyLongMapMap() {
    return myLongMapMap;
  }


  /**
   * Sets the value of the 'myLongMapMap' field.
   * @param value the value to set.
   */
  public void setMyLongMapMap(java.util.Map> value) {
    this.myLongMapMap = value;
  }

  /**
   * Gets the value of the 'myFloatMapMap' field.
   * @return The value of the 'myFloatMapMap' field.
   */
  public java.util.Map> getMyFloatMapMap() {
    return myFloatMapMap;
  }


  /**
   * Sets the value of the 'myFloatMapMap' field.
   * @param value the value to set.
   */
  public void setMyFloatMapMap(java.util.Map> value) {
    this.myFloatMapMap = value;
  }

  /**
   * Gets the value of the 'myDoubleMapMap' field.
   * @return The value of the 'myDoubleMapMap' field.
   */
  public java.util.Map> getMyDoubleMapMap() {
    return myDoubleMapMap;
  }


  /**
   * Sets the value of the 'myDoubleMapMap' field.
   * @param value the value to set.
   */
  public void setMyDoubleMapMap(java.util.Map> value) {
    this.myDoubleMapMap = value;
  }

  /**
   * Gets the value of the 'myBoolMapMap' field.
   * @return The value of the 'myBoolMapMap' field.
   */
  public java.util.Map> getMyBoolMapMap() {
    return myBoolMapMap;
  }


  /**
   * Sets the value of the 'myBoolMapMap' field.
   * @param value the value to set.
   */
  public void setMyBoolMapMap(java.util.Map> value) {
    this.myBoolMapMap = value;
  }

  /**
   * Gets the value of the 'myStringMapMap' field.
   * @return The value of the 'myStringMapMap' field.
   */
  public java.util.Map> getMyStringMapMap() {
    return myStringMapMap;
  }


  /**
   * Sets the value of the 'myStringMapMap' field.
   * @param value the value to set.
   */
  public void setMyStringMapMap(java.util.Map> value) {
    this.myStringMapMap = value;
  }

  /**
   * Gets the value of the 'myIntList' field.
   * @return The value of the 'myIntList' field.
   */
  public java.util.List getMyIntList() {
    return myIntList;
  }


  /**
   * Sets the value of the 'myIntList' field.
   * @param value the value to set.
   */
  public void setMyIntList(java.util.List value) {
    this.myIntList = value;
  }

  /**
   * Gets the value of the 'myLongList' field.
   * @return The value of the 'myLongList' field.
   */
  public java.util.List getMyLongList() {
    return myLongList;
  }


  /**
   * Sets the value of the 'myLongList' field.
   * @param value the value to set.
   */
  public void setMyLongList(java.util.List value) {
    this.myLongList = value;
  }

  /**
   * Gets the value of the 'myFloatList' field.
   * @return The value of the 'myFloatList' field.
   */
  public java.util.List getMyFloatList() {
    return myFloatList;
  }


  /**
   * Sets the value of the 'myFloatList' field.
   * @param value the value to set.
   */
  public void setMyFloatList(java.util.List value) {
    this.myFloatList = value;
  }

  /**
   * Gets the value of the 'myDoubleList' field.
   * @return The value of the 'myDoubleList' field.
   */
  public java.util.List getMyDoubleList() {
    return myDoubleList;
  }


  /**
   * Sets the value of the 'myDoubleList' field.
   * @param value the value to set.
   */
  public void setMyDoubleList(java.util.List value) {
    this.myDoubleList = value;
  }

  /**
   * Gets the value of the 'myBoolList' field.
   * @return The value of the 'myBoolList' field.
   */
  public java.util.List getMyBoolList() {
    return myBoolList;
  }


  /**
   * Sets the value of the 'myBoolList' field.
   * @param value the value to set.
   */
  public void setMyBoolList(java.util.List value) {
    this.myBoolList = value;
  }

  /**
   * Gets the value of the 'myStringList' field.
   * @return The value of the 'myStringList' field.
   */
  public java.util.List getMyStringList() {
    return myStringList;
  }


  /**
   * Sets the value of the 'myStringList' field.
   * @param value the value to set.
   */
  public void setMyStringList(java.util.List value) {
    this.myStringList = value;
  }

  /**
   * Gets the value of the 'myIntMapList' field.
   * @return The value of the 'myIntMapList' field.
   */
  public java.util.List> getMyIntMapList() {
    return myIntMapList;
  }


  /**
   * Sets the value of the 'myIntMapList' field.
   * @param value the value to set.
   */
  public void setMyIntMapList(java.util.List> value) {
    this.myIntMapList = value;
  }

  /**
   * Gets the value of the 'myLongMapList' field.
   * @return The value of the 'myLongMapList' field.
   */
  public java.util.List> getMyLongMapList() {
    return myLongMapList;
  }


  /**
   * Sets the value of the 'myLongMapList' field.
   * @param value the value to set.
   */
  public void setMyLongMapList(java.util.List> value) {
    this.myLongMapList = value;
  }

  /**
   * Gets the value of the 'myFloatMapList' field.
   * @return The value of the 'myFloatMapList' field.
   */
  public java.util.List> getMyFloatMapList() {
    return myFloatMapList;
  }


  /**
   * Sets the value of the 'myFloatMapList' field.
   * @param value the value to set.
   */
  public void setMyFloatMapList(java.util.List> value) {
    this.myFloatMapList = value;
  }

  /**
   * Gets the value of the 'myDoubleMapList' field.
   * @return The value of the 'myDoubleMapList' field.
   */
  public java.util.List> getMyDoubleMapList() {
    return myDoubleMapList;
  }


  /**
   * Sets the value of the 'myDoubleMapList' field.
   * @param value the value to set.
   */
  public void setMyDoubleMapList(java.util.List> value) {
    this.myDoubleMapList = value;
  }

  /**
   * Gets the value of the 'myBoolMapList' field.
   * @return The value of the 'myBoolMapList' field.
   */
  public java.util.List> getMyBoolMapList() {
    return myBoolMapList;
  }


  /**
   * Sets the value of the 'myBoolMapList' field.
   * @param value the value to set.
   */
  public void setMyBoolMapList(java.util.List> value) {
    this.myBoolMapList = value;
  }

  /**
   * Gets the value of the 'myStringMapList' field.
   * @return The value of the 'myStringMapList' field.
   */
  public java.util.List> getMyStringMapList() {
    return myStringMapList;
  }


  /**
   * Sets the value of the 'myStringMapList' field.
   * @param value the value to set.
   */
  public void setMyStringMapList(java.util.List> value) {
    this.myStringMapList = value;
  }

  /**
   * Creates a new SmartAvro RecordBuilder.
   * @return A new SmartAvro RecordBuilder
   */
  public static com.yahoo.bullet.dsl.SmartAvro.Builder newBuilder() {
    return new com.yahoo.bullet.dsl.SmartAvro.Builder();
  }

  /**
   * Creates a new SmartAvro RecordBuilder by copying an existing Builder.
   * @param other The existing builder to copy.
   * @return A new SmartAvro RecordBuilder
   */
  public static com.yahoo.bullet.dsl.SmartAvro.Builder newBuilder(com.yahoo.bullet.dsl.SmartAvro.Builder other) {
    if (other == null) {
      return new com.yahoo.bullet.dsl.SmartAvro.Builder();
    } else {
      return new com.yahoo.bullet.dsl.SmartAvro.Builder(other);
    }
  }

  /**
   * Creates a new SmartAvro RecordBuilder by copying an existing SmartAvro instance.
   * @param other The existing instance to copy.
   * @return A new SmartAvro RecordBuilder
   */
  public static com.yahoo.bullet.dsl.SmartAvro.Builder newBuilder(com.yahoo.bullet.dsl.SmartAvro other) {
    if (other == null) {
      return new com.yahoo.bullet.dsl.SmartAvro.Builder();
    } else {
      return new com.yahoo.bullet.dsl.SmartAvro.Builder(other);
    }
  }

  /**
   * RecordBuilder for SmartAvro instances.
   */
  @org.apache.avro.specific.AvroGenerated
  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase
    implements org.apache.avro.data.RecordBuilder {

    private int myInt;
    private long myLong;
    private float myFloat;
    private double myDouble;
    private boolean myBool;
    private java.lang.String myString;
    private java.util.Map myIntMap;
    private java.util.Map myLongMap;
    private java.util.Map myFloatMap;
    private java.util.Map myDoubleMap;
    private java.util.Map myBoolMap;
    private java.util.Map myStringMap;
    private java.util.Map> myIntMapMap;
    private java.util.Map> myLongMapMap;
    private java.util.Map> myFloatMapMap;
    private java.util.Map> myDoubleMapMap;
    private java.util.Map> myBoolMapMap;
    private java.util.Map> myStringMapMap;
    private java.util.List myIntList;
    private java.util.List myLongList;
    private java.util.List myFloatList;
    private java.util.List myDoubleList;
    private java.util.List myBoolList;
    private java.util.List myStringList;
    private java.util.List> myIntMapList;
    private java.util.List> myLongMapList;
    private java.util.List> myFloatMapList;
    private java.util.List> myDoubleMapList;
    private java.util.List> myBoolMapList;
    private java.util.List> myStringMapList;

    /** Creates a new Builder */
    private Builder() {
      super(SCHEMA$);
    }

    /**
     * Creates a Builder by copying an existing Builder.
     * @param other The existing Builder to copy.
     */
    private Builder(com.yahoo.bullet.dsl.SmartAvro.Builder other) {
      super(other);
      if (isValidValue(fields()[0], other.myInt)) {
        this.myInt = data().deepCopy(fields()[0].schema(), other.myInt);
        fieldSetFlags()[0] = other.fieldSetFlags()[0];
      }
      if (isValidValue(fields()[1], other.myLong)) {
        this.myLong = data().deepCopy(fields()[1].schema(), other.myLong);
        fieldSetFlags()[1] = other.fieldSetFlags()[1];
      }
      if (isValidValue(fields()[2], other.myFloat)) {
        this.myFloat = data().deepCopy(fields()[2].schema(), other.myFloat);
        fieldSetFlags()[2] = other.fieldSetFlags()[2];
      }
      if (isValidValue(fields()[3], other.myDouble)) {
        this.myDouble = data().deepCopy(fields()[3].schema(), other.myDouble);
        fieldSetFlags()[3] = other.fieldSetFlags()[3];
      }
      if (isValidValue(fields()[4], other.myBool)) {
        this.myBool = data().deepCopy(fields()[4].schema(), other.myBool);
        fieldSetFlags()[4] = other.fieldSetFlags()[4];
      }
      if (isValidValue(fields()[5], other.myString)) {
        this.myString = data().deepCopy(fields()[5].schema(), other.myString);
        fieldSetFlags()[5] = other.fieldSetFlags()[5];
      }
      if (isValidValue(fields()[6], other.myIntMap)) {
        this.myIntMap = data().deepCopy(fields()[6].schema(), other.myIntMap);
        fieldSetFlags()[6] = other.fieldSetFlags()[6];
      }
      if (isValidValue(fields()[7], other.myLongMap)) {
        this.myLongMap = data().deepCopy(fields()[7].schema(), other.myLongMap);
        fieldSetFlags()[7] = other.fieldSetFlags()[7];
      }
      if (isValidValue(fields()[8], other.myFloatMap)) {
        this.myFloatMap = data().deepCopy(fields()[8].schema(), other.myFloatMap);
        fieldSetFlags()[8] = other.fieldSetFlags()[8];
      }
      if (isValidValue(fields()[9], other.myDoubleMap)) {
        this.myDoubleMap = data().deepCopy(fields()[9].schema(), other.myDoubleMap);
        fieldSetFlags()[9] = other.fieldSetFlags()[9];
      }
      if (isValidValue(fields()[10], other.myBoolMap)) {
        this.myBoolMap = data().deepCopy(fields()[10].schema(), other.myBoolMap);
        fieldSetFlags()[10] = other.fieldSetFlags()[10];
      }
      if (isValidValue(fields()[11], other.myStringMap)) {
        this.myStringMap = data().deepCopy(fields()[11].schema(), other.myStringMap);
        fieldSetFlags()[11] = other.fieldSetFlags()[11];
      }
      if (isValidValue(fields()[12], other.myIntMapMap)) {
        this.myIntMapMap = data().deepCopy(fields()[12].schema(), other.myIntMapMap);
        fieldSetFlags()[12] = other.fieldSetFlags()[12];
      }
      if (isValidValue(fields()[13], other.myLongMapMap)) {
        this.myLongMapMap = data().deepCopy(fields()[13].schema(), other.myLongMapMap);
        fieldSetFlags()[13] = other.fieldSetFlags()[13];
      }
      if (isValidValue(fields()[14], other.myFloatMapMap)) {
        this.myFloatMapMap = data().deepCopy(fields()[14].schema(), other.myFloatMapMap);
        fieldSetFlags()[14] = other.fieldSetFlags()[14];
      }
      if (isValidValue(fields()[15], other.myDoubleMapMap)) {
        this.myDoubleMapMap = data().deepCopy(fields()[15].schema(), other.myDoubleMapMap);
        fieldSetFlags()[15] = other.fieldSetFlags()[15];
      }
      if (isValidValue(fields()[16], other.myBoolMapMap)) {
        this.myBoolMapMap = data().deepCopy(fields()[16].schema(), other.myBoolMapMap);
        fieldSetFlags()[16] = other.fieldSetFlags()[16];
      }
      if (isValidValue(fields()[17], other.myStringMapMap)) {
        this.myStringMapMap = data().deepCopy(fields()[17].schema(), other.myStringMapMap);
        fieldSetFlags()[17] = other.fieldSetFlags()[17];
      }
      if (isValidValue(fields()[18], other.myIntList)) {
        this.myIntList = data().deepCopy(fields()[18].schema(), other.myIntList);
        fieldSetFlags()[18] = other.fieldSetFlags()[18];
      }
      if (isValidValue(fields()[19], other.myLongList)) {
        this.myLongList = data().deepCopy(fields()[19].schema(), other.myLongList);
        fieldSetFlags()[19] = other.fieldSetFlags()[19];
      }
      if (isValidValue(fields()[20], other.myFloatList)) {
        this.myFloatList = data().deepCopy(fields()[20].schema(), other.myFloatList);
        fieldSetFlags()[20] = other.fieldSetFlags()[20];
      }
      if (isValidValue(fields()[21], other.myDoubleList)) {
        this.myDoubleList = data().deepCopy(fields()[21].schema(), other.myDoubleList);
        fieldSetFlags()[21] = other.fieldSetFlags()[21];
      }
      if (isValidValue(fields()[22], other.myBoolList)) {
        this.myBoolList = data().deepCopy(fields()[22].schema(), other.myBoolList);
        fieldSetFlags()[22] = other.fieldSetFlags()[22];
      }
      if (isValidValue(fields()[23], other.myStringList)) {
        this.myStringList = data().deepCopy(fields()[23].schema(), other.myStringList);
        fieldSetFlags()[23] = other.fieldSetFlags()[23];
      }
      if (isValidValue(fields()[24], other.myIntMapList)) {
        this.myIntMapList = data().deepCopy(fields()[24].schema(), other.myIntMapList);
        fieldSetFlags()[24] = other.fieldSetFlags()[24];
      }
      if (isValidValue(fields()[25], other.myLongMapList)) {
        this.myLongMapList = data().deepCopy(fields()[25].schema(), other.myLongMapList);
        fieldSetFlags()[25] = other.fieldSetFlags()[25];
      }
      if (isValidValue(fields()[26], other.myFloatMapList)) {
        this.myFloatMapList = data().deepCopy(fields()[26].schema(), other.myFloatMapList);
        fieldSetFlags()[26] = other.fieldSetFlags()[26];
      }
      if (isValidValue(fields()[27], other.myDoubleMapList)) {
        this.myDoubleMapList = data().deepCopy(fields()[27].schema(), other.myDoubleMapList);
        fieldSetFlags()[27] = other.fieldSetFlags()[27];
      }
      if (isValidValue(fields()[28], other.myBoolMapList)) {
        this.myBoolMapList = data().deepCopy(fields()[28].schema(), other.myBoolMapList);
        fieldSetFlags()[28] = other.fieldSetFlags()[28];
      }
      if (isValidValue(fields()[29], other.myStringMapList)) {
        this.myStringMapList = data().deepCopy(fields()[29].schema(), other.myStringMapList);
        fieldSetFlags()[29] = other.fieldSetFlags()[29];
      }
    }

    /**
     * Creates a Builder by copying an existing SmartAvro instance
     * @param other The existing instance to copy.
     */
    private Builder(com.yahoo.bullet.dsl.SmartAvro other) {
      super(SCHEMA$);
      if (isValidValue(fields()[0], other.myInt)) {
        this.myInt = data().deepCopy(fields()[0].schema(), other.myInt);
        fieldSetFlags()[0] = true;
      }
      if (isValidValue(fields()[1], other.myLong)) {
        this.myLong = data().deepCopy(fields()[1].schema(), other.myLong);
        fieldSetFlags()[1] = true;
      }
      if (isValidValue(fields()[2], other.myFloat)) {
        this.myFloat = data().deepCopy(fields()[2].schema(), other.myFloat);
        fieldSetFlags()[2] = true;
      }
      if (isValidValue(fields()[3], other.myDouble)) {
        this.myDouble = data().deepCopy(fields()[3].schema(), other.myDouble);
        fieldSetFlags()[3] = true;
      }
      if (isValidValue(fields()[4], other.myBool)) {
        this.myBool = data().deepCopy(fields()[4].schema(), other.myBool);
        fieldSetFlags()[4] = true;
      }
      if (isValidValue(fields()[5], other.myString)) {
        this.myString = data().deepCopy(fields()[5].schema(), other.myString);
        fieldSetFlags()[5] = true;
      }
      if (isValidValue(fields()[6], other.myIntMap)) {
        this.myIntMap = data().deepCopy(fields()[6].schema(), other.myIntMap);
        fieldSetFlags()[6] = true;
      }
      if (isValidValue(fields()[7], other.myLongMap)) {
        this.myLongMap = data().deepCopy(fields()[7].schema(), other.myLongMap);
        fieldSetFlags()[7] = true;
      }
      if (isValidValue(fields()[8], other.myFloatMap)) {
        this.myFloatMap = data().deepCopy(fields()[8].schema(), other.myFloatMap);
        fieldSetFlags()[8] = true;
      }
      if (isValidValue(fields()[9], other.myDoubleMap)) {
        this.myDoubleMap = data().deepCopy(fields()[9].schema(), other.myDoubleMap);
        fieldSetFlags()[9] = true;
      }
      if (isValidValue(fields()[10], other.myBoolMap)) {
        this.myBoolMap = data().deepCopy(fields()[10].schema(), other.myBoolMap);
        fieldSetFlags()[10] = true;
      }
      if (isValidValue(fields()[11], other.myStringMap)) {
        this.myStringMap = data().deepCopy(fields()[11].schema(), other.myStringMap);
        fieldSetFlags()[11] = true;
      }
      if (isValidValue(fields()[12], other.myIntMapMap)) {
        this.myIntMapMap = data().deepCopy(fields()[12].schema(), other.myIntMapMap);
        fieldSetFlags()[12] = true;
      }
      if (isValidValue(fields()[13], other.myLongMapMap)) {
        this.myLongMapMap = data().deepCopy(fields()[13].schema(), other.myLongMapMap);
        fieldSetFlags()[13] = true;
      }
      if (isValidValue(fields()[14], other.myFloatMapMap)) {
        this.myFloatMapMap = data().deepCopy(fields()[14].schema(), other.myFloatMapMap);
        fieldSetFlags()[14] = true;
      }
      if (isValidValue(fields()[15], other.myDoubleMapMap)) {
        this.myDoubleMapMap = data().deepCopy(fields()[15].schema(), other.myDoubleMapMap);
        fieldSetFlags()[15] = true;
      }
      if (isValidValue(fields()[16], other.myBoolMapMap)) {
        this.myBoolMapMap = data().deepCopy(fields()[16].schema(), other.myBoolMapMap);
        fieldSetFlags()[16] = true;
      }
      if (isValidValue(fields()[17], other.myStringMapMap)) {
        this.myStringMapMap = data().deepCopy(fields()[17].schema(), other.myStringMapMap);
        fieldSetFlags()[17] = true;
      }
      if (isValidValue(fields()[18], other.myIntList)) {
        this.myIntList = data().deepCopy(fields()[18].schema(), other.myIntList);
        fieldSetFlags()[18] = true;
      }
      if (isValidValue(fields()[19], other.myLongList)) {
        this.myLongList = data().deepCopy(fields()[19].schema(), other.myLongList);
        fieldSetFlags()[19] = true;
      }
      if (isValidValue(fields()[20], other.myFloatList)) {
        this.myFloatList = data().deepCopy(fields()[20].schema(), other.myFloatList);
        fieldSetFlags()[20] = true;
      }
      if (isValidValue(fields()[21], other.myDoubleList)) {
        this.myDoubleList = data().deepCopy(fields()[21].schema(), other.myDoubleList);
        fieldSetFlags()[21] = true;
      }
      if (isValidValue(fields()[22], other.myBoolList)) {
        this.myBoolList = data().deepCopy(fields()[22].schema(), other.myBoolList);
        fieldSetFlags()[22] = true;
      }
      if (isValidValue(fields()[23], other.myStringList)) {
        this.myStringList = data().deepCopy(fields()[23].schema(), other.myStringList);
        fieldSetFlags()[23] = true;
      }
      if (isValidValue(fields()[24], other.myIntMapList)) {
        this.myIntMapList = data().deepCopy(fields()[24].schema(), other.myIntMapList);
        fieldSetFlags()[24] = true;
      }
      if (isValidValue(fields()[25], other.myLongMapList)) {
        this.myLongMapList = data().deepCopy(fields()[25].schema(), other.myLongMapList);
        fieldSetFlags()[25] = true;
      }
      if (isValidValue(fields()[26], other.myFloatMapList)) {
        this.myFloatMapList = data().deepCopy(fields()[26].schema(), other.myFloatMapList);
        fieldSetFlags()[26] = true;
      }
      if (isValidValue(fields()[27], other.myDoubleMapList)) {
        this.myDoubleMapList = data().deepCopy(fields()[27].schema(), other.myDoubleMapList);
        fieldSetFlags()[27] = true;
      }
      if (isValidValue(fields()[28], other.myBoolMapList)) {
        this.myBoolMapList = data().deepCopy(fields()[28].schema(), other.myBoolMapList);
        fieldSetFlags()[28] = true;
      }
      if (isValidValue(fields()[29], other.myStringMapList)) {
        this.myStringMapList = data().deepCopy(fields()[29].schema(), other.myStringMapList);
        fieldSetFlags()[29] = true;
      }
    }

    /**
      * Gets the value of the 'myInt' field.
      * @return The value.
      */
    public int getMyInt() {
      return myInt;
    }


    /**
      * Sets the value of the 'myInt' field.
      * @param value The value of 'myInt'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyInt(int value) {
      validate(fields()[0], value);
      this.myInt = value;
      fieldSetFlags()[0] = true;
      return this;
    }

    /**
      * Checks whether the 'myInt' field has been set.
      * @return True if the 'myInt' field has been set, false otherwise.
      */
    public boolean hasMyInt() {
      return fieldSetFlags()[0];
    }


    /**
      * Clears the value of the 'myInt' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyInt() {
      fieldSetFlags()[0] = false;
      return this;
    }

    /**
      * Gets the value of the 'myLong' field.
      * @return The value.
      */
    public long getMyLong() {
      return myLong;
    }


    /**
      * Sets the value of the 'myLong' field.
      * @param value The value of 'myLong'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyLong(long value) {
      validate(fields()[1], value);
      this.myLong = value;
      fieldSetFlags()[1] = true;
      return this;
    }

    /**
      * Checks whether the 'myLong' field has been set.
      * @return True if the 'myLong' field has been set, false otherwise.
      */
    public boolean hasMyLong() {
      return fieldSetFlags()[1];
    }


    /**
      * Clears the value of the 'myLong' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyLong() {
      fieldSetFlags()[1] = false;
      return this;
    }

    /**
      * Gets the value of the 'myFloat' field.
      * @return The value.
      */
    public float getMyFloat() {
      return myFloat;
    }


    /**
      * Sets the value of the 'myFloat' field.
      * @param value The value of 'myFloat'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyFloat(float value) {
      validate(fields()[2], value);
      this.myFloat = value;
      fieldSetFlags()[2] = true;
      return this;
    }

    /**
      * Checks whether the 'myFloat' field has been set.
      * @return True if the 'myFloat' field has been set, false otherwise.
      */
    public boolean hasMyFloat() {
      return fieldSetFlags()[2];
    }


    /**
      * Clears the value of the 'myFloat' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyFloat() {
      fieldSetFlags()[2] = false;
      return this;
    }

    /**
      * Gets the value of the 'myDouble' field.
      * @return The value.
      */
    public double getMyDouble() {
      return myDouble;
    }


    /**
      * Sets the value of the 'myDouble' field.
      * @param value The value of 'myDouble'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyDouble(double value) {
      validate(fields()[3], value);
      this.myDouble = value;
      fieldSetFlags()[3] = true;
      return this;
    }

    /**
      * Checks whether the 'myDouble' field has been set.
      * @return True if the 'myDouble' field has been set, false otherwise.
      */
    public boolean hasMyDouble() {
      return fieldSetFlags()[3];
    }


    /**
      * Clears the value of the 'myDouble' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyDouble() {
      fieldSetFlags()[3] = false;
      return this;
    }

    /**
      * Gets the value of the 'myBool' field.
      * @return The value.
      */
    public boolean getMyBool() {
      return myBool;
    }


    /**
      * Sets the value of the 'myBool' field.
      * @param value The value of 'myBool'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyBool(boolean value) {
      validate(fields()[4], value);
      this.myBool = value;
      fieldSetFlags()[4] = true;
      return this;
    }

    /**
      * Checks whether the 'myBool' field has been set.
      * @return True if the 'myBool' field has been set, false otherwise.
      */
    public boolean hasMyBool() {
      return fieldSetFlags()[4];
    }


    /**
      * Clears the value of the 'myBool' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyBool() {
      fieldSetFlags()[4] = false;
      return this;
    }

    /**
      * Gets the value of the 'myString' field.
      * @return The value.
      */
    public java.lang.String getMyString() {
      return myString;
    }


    /**
      * Sets the value of the 'myString' field.
      * @param value The value of 'myString'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyString(java.lang.String value) {
      validate(fields()[5], value);
      this.myString = value;
      fieldSetFlags()[5] = true;
      return this;
    }

    /**
      * Checks whether the 'myString' field has been set.
      * @return True if the 'myString' field has been set, false otherwise.
      */
    public boolean hasMyString() {
      return fieldSetFlags()[5];
    }


    /**
      * Clears the value of the 'myString' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyString() {
      myString = null;
      fieldSetFlags()[5] = false;
      return this;
    }

    /**
      * Gets the value of the 'myIntMap' field.
      * @return The value.
      */
    public java.util.Map getMyIntMap() {
      return myIntMap;
    }


    /**
      * Sets the value of the 'myIntMap' field.
      * @param value The value of 'myIntMap'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyIntMap(java.util.Map value) {
      validate(fields()[6], value);
      this.myIntMap = value;
      fieldSetFlags()[6] = true;
      return this;
    }

    /**
      * Checks whether the 'myIntMap' field has been set.
      * @return True if the 'myIntMap' field has been set, false otherwise.
      */
    public boolean hasMyIntMap() {
      return fieldSetFlags()[6];
    }


    /**
      * Clears the value of the 'myIntMap' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyIntMap() {
      myIntMap = null;
      fieldSetFlags()[6] = false;
      return this;
    }

    /**
      * Gets the value of the 'myLongMap' field.
      * @return The value.
      */
    public java.util.Map getMyLongMap() {
      return myLongMap;
    }


    /**
      * Sets the value of the 'myLongMap' field.
      * @param value The value of 'myLongMap'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyLongMap(java.util.Map value) {
      validate(fields()[7], value);
      this.myLongMap = value;
      fieldSetFlags()[7] = true;
      return this;
    }

    /**
      * Checks whether the 'myLongMap' field has been set.
      * @return True if the 'myLongMap' field has been set, false otherwise.
      */
    public boolean hasMyLongMap() {
      return fieldSetFlags()[7];
    }


    /**
      * Clears the value of the 'myLongMap' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyLongMap() {
      myLongMap = null;
      fieldSetFlags()[7] = false;
      return this;
    }

    /**
      * Gets the value of the 'myFloatMap' field.
      * @return The value.
      */
    public java.util.Map getMyFloatMap() {
      return myFloatMap;
    }


    /**
      * Sets the value of the 'myFloatMap' field.
      * @param value The value of 'myFloatMap'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyFloatMap(java.util.Map value) {
      validate(fields()[8], value);
      this.myFloatMap = value;
      fieldSetFlags()[8] = true;
      return this;
    }

    /**
      * Checks whether the 'myFloatMap' field has been set.
      * @return True if the 'myFloatMap' field has been set, false otherwise.
      */
    public boolean hasMyFloatMap() {
      return fieldSetFlags()[8];
    }


    /**
      * Clears the value of the 'myFloatMap' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyFloatMap() {
      myFloatMap = null;
      fieldSetFlags()[8] = false;
      return this;
    }

    /**
      * Gets the value of the 'myDoubleMap' field.
      * @return The value.
      */
    public java.util.Map getMyDoubleMap() {
      return myDoubleMap;
    }


    /**
      * Sets the value of the 'myDoubleMap' field.
      * @param value The value of 'myDoubleMap'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyDoubleMap(java.util.Map value) {
      validate(fields()[9], value);
      this.myDoubleMap = value;
      fieldSetFlags()[9] = true;
      return this;
    }

    /**
      * Checks whether the 'myDoubleMap' field has been set.
      * @return True if the 'myDoubleMap' field has been set, false otherwise.
      */
    public boolean hasMyDoubleMap() {
      return fieldSetFlags()[9];
    }


    /**
      * Clears the value of the 'myDoubleMap' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyDoubleMap() {
      myDoubleMap = null;
      fieldSetFlags()[9] = false;
      return this;
    }

    /**
      * Gets the value of the 'myBoolMap' field.
      * @return The value.
      */
    public java.util.Map getMyBoolMap() {
      return myBoolMap;
    }


    /**
      * Sets the value of the 'myBoolMap' field.
      * @param value The value of 'myBoolMap'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyBoolMap(java.util.Map value) {
      validate(fields()[10], value);
      this.myBoolMap = value;
      fieldSetFlags()[10] = true;
      return this;
    }

    /**
      * Checks whether the 'myBoolMap' field has been set.
      * @return True if the 'myBoolMap' field has been set, false otherwise.
      */
    public boolean hasMyBoolMap() {
      return fieldSetFlags()[10];
    }


    /**
      * Clears the value of the 'myBoolMap' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyBoolMap() {
      myBoolMap = null;
      fieldSetFlags()[10] = false;
      return this;
    }

    /**
      * Gets the value of the 'myStringMap' field.
      * @return The value.
      */
    public java.util.Map getMyStringMap() {
      return myStringMap;
    }


    /**
      * Sets the value of the 'myStringMap' field.
      * @param value The value of 'myStringMap'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyStringMap(java.util.Map value) {
      validate(fields()[11], value);
      this.myStringMap = value;
      fieldSetFlags()[11] = true;
      return this;
    }

    /**
      * Checks whether the 'myStringMap' field has been set.
      * @return True if the 'myStringMap' field has been set, false otherwise.
      */
    public boolean hasMyStringMap() {
      return fieldSetFlags()[11];
    }


    /**
      * Clears the value of the 'myStringMap' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyStringMap() {
      myStringMap = null;
      fieldSetFlags()[11] = false;
      return this;
    }

    /**
      * Gets the value of the 'myIntMapMap' field.
      * @return The value.
      */
    public java.util.Map> getMyIntMapMap() {
      return myIntMapMap;
    }


    /**
      * Sets the value of the 'myIntMapMap' field.
      * @param value The value of 'myIntMapMap'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyIntMapMap(java.util.Map> value) {
      validate(fields()[12], value);
      this.myIntMapMap = value;
      fieldSetFlags()[12] = true;
      return this;
    }

    /**
      * Checks whether the 'myIntMapMap' field has been set.
      * @return True if the 'myIntMapMap' field has been set, false otherwise.
      */
    public boolean hasMyIntMapMap() {
      return fieldSetFlags()[12];
    }


    /**
      * Clears the value of the 'myIntMapMap' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyIntMapMap() {
      myIntMapMap = null;
      fieldSetFlags()[12] = false;
      return this;
    }

    /**
      * Gets the value of the 'myLongMapMap' field.
      * @return The value.
      */
    public java.util.Map> getMyLongMapMap() {
      return myLongMapMap;
    }


    /**
      * Sets the value of the 'myLongMapMap' field.
      * @param value The value of 'myLongMapMap'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyLongMapMap(java.util.Map> value) {
      validate(fields()[13], value);
      this.myLongMapMap = value;
      fieldSetFlags()[13] = true;
      return this;
    }

    /**
      * Checks whether the 'myLongMapMap' field has been set.
      * @return True if the 'myLongMapMap' field has been set, false otherwise.
      */
    public boolean hasMyLongMapMap() {
      return fieldSetFlags()[13];
    }


    /**
      * Clears the value of the 'myLongMapMap' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyLongMapMap() {
      myLongMapMap = null;
      fieldSetFlags()[13] = false;
      return this;
    }

    /**
      * Gets the value of the 'myFloatMapMap' field.
      * @return The value.
      */
    public java.util.Map> getMyFloatMapMap() {
      return myFloatMapMap;
    }


    /**
      * Sets the value of the 'myFloatMapMap' field.
      * @param value The value of 'myFloatMapMap'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyFloatMapMap(java.util.Map> value) {
      validate(fields()[14], value);
      this.myFloatMapMap = value;
      fieldSetFlags()[14] = true;
      return this;
    }

    /**
      * Checks whether the 'myFloatMapMap' field has been set.
      * @return True if the 'myFloatMapMap' field has been set, false otherwise.
      */
    public boolean hasMyFloatMapMap() {
      return fieldSetFlags()[14];
    }


    /**
      * Clears the value of the 'myFloatMapMap' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyFloatMapMap() {
      myFloatMapMap = null;
      fieldSetFlags()[14] = false;
      return this;
    }

    /**
      * Gets the value of the 'myDoubleMapMap' field.
      * @return The value.
      */
    public java.util.Map> getMyDoubleMapMap() {
      return myDoubleMapMap;
    }


    /**
      * Sets the value of the 'myDoubleMapMap' field.
      * @param value The value of 'myDoubleMapMap'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyDoubleMapMap(java.util.Map> value) {
      validate(fields()[15], value);
      this.myDoubleMapMap = value;
      fieldSetFlags()[15] = true;
      return this;
    }

    /**
      * Checks whether the 'myDoubleMapMap' field has been set.
      * @return True if the 'myDoubleMapMap' field has been set, false otherwise.
      */
    public boolean hasMyDoubleMapMap() {
      return fieldSetFlags()[15];
    }


    /**
      * Clears the value of the 'myDoubleMapMap' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyDoubleMapMap() {
      myDoubleMapMap = null;
      fieldSetFlags()[15] = false;
      return this;
    }

    /**
      * Gets the value of the 'myBoolMapMap' field.
      * @return The value.
      */
    public java.util.Map> getMyBoolMapMap() {
      return myBoolMapMap;
    }


    /**
      * Sets the value of the 'myBoolMapMap' field.
      * @param value The value of 'myBoolMapMap'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyBoolMapMap(java.util.Map> value) {
      validate(fields()[16], value);
      this.myBoolMapMap = value;
      fieldSetFlags()[16] = true;
      return this;
    }

    /**
      * Checks whether the 'myBoolMapMap' field has been set.
      * @return True if the 'myBoolMapMap' field has been set, false otherwise.
      */
    public boolean hasMyBoolMapMap() {
      return fieldSetFlags()[16];
    }


    /**
      * Clears the value of the 'myBoolMapMap' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyBoolMapMap() {
      myBoolMapMap = null;
      fieldSetFlags()[16] = false;
      return this;
    }

    /**
      * Gets the value of the 'myStringMapMap' field.
      * @return The value.
      */
    public java.util.Map> getMyStringMapMap() {
      return myStringMapMap;
    }


    /**
      * Sets the value of the 'myStringMapMap' field.
      * @param value The value of 'myStringMapMap'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyStringMapMap(java.util.Map> value) {
      validate(fields()[17], value);
      this.myStringMapMap = value;
      fieldSetFlags()[17] = true;
      return this;
    }

    /**
      * Checks whether the 'myStringMapMap' field has been set.
      * @return True if the 'myStringMapMap' field has been set, false otherwise.
      */
    public boolean hasMyStringMapMap() {
      return fieldSetFlags()[17];
    }


    /**
      * Clears the value of the 'myStringMapMap' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyStringMapMap() {
      myStringMapMap = null;
      fieldSetFlags()[17] = false;
      return this;
    }

    /**
      * Gets the value of the 'myIntList' field.
      * @return The value.
      */
    public java.util.List getMyIntList() {
      return myIntList;
    }


    /**
      * Sets the value of the 'myIntList' field.
      * @param value The value of 'myIntList'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyIntList(java.util.List value) {
      validate(fields()[18], value);
      this.myIntList = value;
      fieldSetFlags()[18] = true;
      return this;
    }

    /**
      * Checks whether the 'myIntList' field has been set.
      * @return True if the 'myIntList' field has been set, false otherwise.
      */
    public boolean hasMyIntList() {
      return fieldSetFlags()[18];
    }


    /**
      * Clears the value of the 'myIntList' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyIntList() {
      myIntList = null;
      fieldSetFlags()[18] = false;
      return this;
    }

    /**
      * Gets the value of the 'myLongList' field.
      * @return The value.
      */
    public java.util.List getMyLongList() {
      return myLongList;
    }


    /**
      * Sets the value of the 'myLongList' field.
      * @param value The value of 'myLongList'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyLongList(java.util.List value) {
      validate(fields()[19], value);
      this.myLongList = value;
      fieldSetFlags()[19] = true;
      return this;
    }

    /**
      * Checks whether the 'myLongList' field has been set.
      * @return True if the 'myLongList' field has been set, false otherwise.
      */
    public boolean hasMyLongList() {
      return fieldSetFlags()[19];
    }


    /**
      * Clears the value of the 'myLongList' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyLongList() {
      myLongList = null;
      fieldSetFlags()[19] = false;
      return this;
    }

    /**
      * Gets the value of the 'myFloatList' field.
      * @return The value.
      */
    public java.util.List getMyFloatList() {
      return myFloatList;
    }


    /**
      * Sets the value of the 'myFloatList' field.
      * @param value The value of 'myFloatList'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyFloatList(java.util.List value) {
      validate(fields()[20], value);
      this.myFloatList = value;
      fieldSetFlags()[20] = true;
      return this;
    }

    /**
      * Checks whether the 'myFloatList' field has been set.
      * @return True if the 'myFloatList' field has been set, false otherwise.
      */
    public boolean hasMyFloatList() {
      return fieldSetFlags()[20];
    }


    /**
      * Clears the value of the 'myFloatList' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyFloatList() {
      myFloatList = null;
      fieldSetFlags()[20] = false;
      return this;
    }

    /**
      * Gets the value of the 'myDoubleList' field.
      * @return The value.
      */
    public java.util.List getMyDoubleList() {
      return myDoubleList;
    }


    /**
      * Sets the value of the 'myDoubleList' field.
      * @param value The value of 'myDoubleList'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyDoubleList(java.util.List value) {
      validate(fields()[21], value);
      this.myDoubleList = value;
      fieldSetFlags()[21] = true;
      return this;
    }

    /**
      * Checks whether the 'myDoubleList' field has been set.
      * @return True if the 'myDoubleList' field has been set, false otherwise.
      */
    public boolean hasMyDoubleList() {
      return fieldSetFlags()[21];
    }


    /**
      * Clears the value of the 'myDoubleList' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyDoubleList() {
      myDoubleList = null;
      fieldSetFlags()[21] = false;
      return this;
    }

    /**
      * Gets the value of the 'myBoolList' field.
      * @return The value.
      */
    public java.util.List getMyBoolList() {
      return myBoolList;
    }


    /**
      * Sets the value of the 'myBoolList' field.
      * @param value The value of 'myBoolList'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyBoolList(java.util.List value) {
      validate(fields()[22], value);
      this.myBoolList = value;
      fieldSetFlags()[22] = true;
      return this;
    }

    /**
      * Checks whether the 'myBoolList' field has been set.
      * @return True if the 'myBoolList' field has been set, false otherwise.
      */
    public boolean hasMyBoolList() {
      return fieldSetFlags()[22];
    }


    /**
      * Clears the value of the 'myBoolList' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyBoolList() {
      myBoolList = null;
      fieldSetFlags()[22] = false;
      return this;
    }

    /**
      * Gets the value of the 'myStringList' field.
      * @return The value.
      */
    public java.util.List getMyStringList() {
      return myStringList;
    }


    /**
      * Sets the value of the 'myStringList' field.
      * @param value The value of 'myStringList'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyStringList(java.util.List value) {
      validate(fields()[23], value);
      this.myStringList = value;
      fieldSetFlags()[23] = true;
      return this;
    }

    /**
      * Checks whether the 'myStringList' field has been set.
      * @return True if the 'myStringList' field has been set, false otherwise.
      */
    public boolean hasMyStringList() {
      return fieldSetFlags()[23];
    }


    /**
      * Clears the value of the 'myStringList' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyStringList() {
      myStringList = null;
      fieldSetFlags()[23] = false;
      return this;
    }

    /**
      * Gets the value of the 'myIntMapList' field.
      * @return The value.
      */
    public java.util.List> getMyIntMapList() {
      return myIntMapList;
    }


    /**
      * Sets the value of the 'myIntMapList' field.
      * @param value The value of 'myIntMapList'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyIntMapList(java.util.List> value) {
      validate(fields()[24], value);
      this.myIntMapList = value;
      fieldSetFlags()[24] = true;
      return this;
    }

    /**
      * Checks whether the 'myIntMapList' field has been set.
      * @return True if the 'myIntMapList' field has been set, false otherwise.
      */
    public boolean hasMyIntMapList() {
      return fieldSetFlags()[24];
    }


    /**
      * Clears the value of the 'myIntMapList' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyIntMapList() {
      myIntMapList = null;
      fieldSetFlags()[24] = false;
      return this;
    }

    /**
      * Gets the value of the 'myLongMapList' field.
      * @return The value.
      */
    public java.util.List> getMyLongMapList() {
      return myLongMapList;
    }


    /**
      * Sets the value of the 'myLongMapList' field.
      * @param value The value of 'myLongMapList'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyLongMapList(java.util.List> value) {
      validate(fields()[25], value);
      this.myLongMapList = value;
      fieldSetFlags()[25] = true;
      return this;
    }

    /**
      * Checks whether the 'myLongMapList' field has been set.
      * @return True if the 'myLongMapList' field has been set, false otherwise.
      */
    public boolean hasMyLongMapList() {
      return fieldSetFlags()[25];
    }


    /**
      * Clears the value of the 'myLongMapList' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyLongMapList() {
      myLongMapList = null;
      fieldSetFlags()[25] = false;
      return this;
    }

    /**
      * Gets the value of the 'myFloatMapList' field.
      * @return The value.
      */
    public java.util.List> getMyFloatMapList() {
      return myFloatMapList;
    }


    /**
      * Sets the value of the 'myFloatMapList' field.
      * @param value The value of 'myFloatMapList'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyFloatMapList(java.util.List> value) {
      validate(fields()[26], value);
      this.myFloatMapList = value;
      fieldSetFlags()[26] = true;
      return this;
    }

    /**
      * Checks whether the 'myFloatMapList' field has been set.
      * @return True if the 'myFloatMapList' field has been set, false otherwise.
      */
    public boolean hasMyFloatMapList() {
      return fieldSetFlags()[26];
    }


    /**
      * Clears the value of the 'myFloatMapList' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyFloatMapList() {
      myFloatMapList = null;
      fieldSetFlags()[26] = false;
      return this;
    }

    /**
      * Gets the value of the 'myDoubleMapList' field.
      * @return The value.
      */
    public java.util.List> getMyDoubleMapList() {
      return myDoubleMapList;
    }


    /**
      * Sets the value of the 'myDoubleMapList' field.
      * @param value The value of 'myDoubleMapList'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyDoubleMapList(java.util.List> value) {
      validate(fields()[27], value);
      this.myDoubleMapList = value;
      fieldSetFlags()[27] = true;
      return this;
    }

    /**
      * Checks whether the 'myDoubleMapList' field has been set.
      * @return True if the 'myDoubleMapList' field has been set, false otherwise.
      */
    public boolean hasMyDoubleMapList() {
      return fieldSetFlags()[27];
    }


    /**
      * Clears the value of the 'myDoubleMapList' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyDoubleMapList() {
      myDoubleMapList = null;
      fieldSetFlags()[27] = false;
      return this;
    }

    /**
      * Gets the value of the 'myBoolMapList' field.
      * @return The value.
      */
    public java.util.List> getMyBoolMapList() {
      return myBoolMapList;
    }


    /**
      * Sets the value of the 'myBoolMapList' field.
      * @param value The value of 'myBoolMapList'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyBoolMapList(java.util.List> value) {
      validate(fields()[28], value);
      this.myBoolMapList = value;
      fieldSetFlags()[28] = true;
      return this;
    }

    /**
      * Checks whether the 'myBoolMapList' field has been set.
      * @return True if the 'myBoolMapList' field has been set, false otherwise.
      */
    public boolean hasMyBoolMapList() {
      return fieldSetFlags()[28];
    }


    /**
      * Clears the value of the 'myBoolMapList' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyBoolMapList() {
      myBoolMapList = null;
      fieldSetFlags()[28] = false;
      return this;
    }

    /**
      * Gets the value of the 'myStringMapList' field.
      * @return The value.
      */
    public java.util.List> getMyStringMapList() {
      return myStringMapList;
    }


    /**
      * Sets the value of the 'myStringMapList' field.
      * @param value The value of 'myStringMapList'.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder setMyStringMapList(java.util.List> value) {
      validate(fields()[29], value);
      this.myStringMapList = value;
      fieldSetFlags()[29] = true;
      return this;
    }

    /**
      * Checks whether the 'myStringMapList' field has been set.
      * @return True if the 'myStringMapList' field has been set, false otherwise.
      */
    public boolean hasMyStringMapList() {
      return fieldSetFlags()[29];
    }


    /**
      * Clears the value of the 'myStringMapList' field.
      * @return This builder.
      */
    public com.yahoo.bullet.dsl.SmartAvro.Builder clearMyStringMapList() {
      myStringMapList = null;
      fieldSetFlags()[29] = false;
      return this;
    }

    @Override
    @SuppressWarnings("unchecked")
    public SmartAvro build() {
      try {
        SmartAvro record = new SmartAvro();
        record.myInt = fieldSetFlags()[0] ? this.myInt : (java.lang.Integer) defaultValue(fields()[0]);
        record.myLong = fieldSetFlags()[1] ? this.myLong : (java.lang.Long) defaultValue(fields()[1]);
        record.myFloat = fieldSetFlags()[2] ? this.myFloat : (java.lang.Float) defaultValue(fields()[2]);
        record.myDouble = fieldSetFlags()[3] ? this.myDouble : (java.lang.Double) defaultValue(fields()[3]);
        record.myBool = fieldSetFlags()[4] ? this.myBool : (java.lang.Boolean) defaultValue(fields()[4]);
        record.myString = fieldSetFlags()[5] ? this.myString : (java.lang.String) defaultValue(fields()[5]);
        record.myIntMap = fieldSetFlags()[6] ? this.myIntMap : (java.util.Map) defaultValue(fields()[6]);
        record.myLongMap = fieldSetFlags()[7] ? this.myLongMap : (java.util.Map) defaultValue(fields()[7]);
        record.myFloatMap = fieldSetFlags()[8] ? this.myFloatMap : (java.util.Map) defaultValue(fields()[8]);
        record.myDoubleMap = fieldSetFlags()[9] ? this.myDoubleMap : (java.util.Map) defaultValue(fields()[9]);
        record.myBoolMap = fieldSetFlags()[10] ? this.myBoolMap : (java.util.Map) defaultValue(fields()[10]);
        record.myStringMap = fieldSetFlags()[11] ? this.myStringMap : (java.util.Map) defaultValue(fields()[11]);
        record.myIntMapMap = fieldSetFlags()[12] ? this.myIntMapMap : (java.util.Map>) defaultValue(fields()[12]);
        record.myLongMapMap = fieldSetFlags()[13] ? this.myLongMapMap : (java.util.Map>) defaultValue(fields()[13]);
        record.myFloatMapMap = fieldSetFlags()[14] ? this.myFloatMapMap : (java.util.Map>) defaultValue(fields()[14]);
        record.myDoubleMapMap = fieldSetFlags()[15] ? this.myDoubleMapMap : (java.util.Map>) defaultValue(fields()[15]);
        record.myBoolMapMap = fieldSetFlags()[16] ? this.myBoolMapMap : (java.util.Map>) defaultValue(fields()[16]);
        record.myStringMapMap = fieldSetFlags()[17] ? this.myStringMapMap : (java.util.Map>) defaultValue(fields()[17]);
        record.myIntList = fieldSetFlags()[18] ? this.myIntList : (java.util.List) defaultValue(fields()[18]);
        record.myLongList = fieldSetFlags()[19] ? this.myLongList : (java.util.List) defaultValue(fields()[19]);
        record.myFloatList = fieldSetFlags()[20] ? this.myFloatList : (java.util.List) defaultValue(fields()[20]);
        record.myDoubleList = fieldSetFlags()[21] ? this.myDoubleList : (java.util.List) defaultValue(fields()[21]);
        record.myBoolList = fieldSetFlags()[22] ? this.myBoolList : (java.util.List) defaultValue(fields()[22]);
        record.myStringList = fieldSetFlags()[23] ? this.myStringList : (java.util.List) defaultValue(fields()[23]);
        record.myIntMapList = fieldSetFlags()[24] ? this.myIntMapList : (java.util.List>) defaultValue(fields()[24]);
        record.myLongMapList = fieldSetFlags()[25] ? this.myLongMapList : (java.util.List>) defaultValue(fields()[25]);
        record.myFloatMapList = fieldSetFlags()[26] ? this.myFloatMapList : (java.util.List>) defaultValue(fields()[26]);
        record.myDoubleMapList = fieldSetFlags()[27] ? this.myDoubleMapList : (java.util.List>) defaultValue(fields()[27]);
        record.myBoolMapList = fieldSetFlags()[28] ? this.myBoolMapList : (java.util.List>) defaultValue(fields()[28]);
        record.myStringMapList = fieldSetFlags()[29] ? this.myStringMapList : (java.util.List>) defaultValue(fields()[29]);
        return record;
      } catch (org.apache.avro.AvroMissingFieldException e) {
        throw e;
      } catch (java.lang.Exception e) {
        throw new org.apache.avro.AvroRuntimeException(e);
      }
    }
  }

  @SuppressWarnings("unchecked")
  private static final org.apache.avro.io.DatumWriter
    WRITER$ = (org.apache.avro.io.DatumWriter)MODEL$.createDatumWriter(SCHEMA$);

  @Override public void writeExternal(java.io.ObjectOutput out)
    throws java.io.IOException {
    WRITER$.write(this, SpecificData.getEncoder(out));
  }

  @SuppressWarnings("unchecked")
  private static final org.apache.avro.io.DatumReader
    READER$ = (org.apache.avro.io.DatumReader)MODEL$.createDatumReader(SCHEMA$);

  @Override public void readExternal(java.io.ObjectInput in)
    throws java.io.IOException {
    READER$.read(this, SpecificData.getDecoder(in));
  }

  @Override protected boolean hasCustomCoders() { return true; }

  @Override public void customEncode(org.apache.avro.io.Encoder out)
    throws java.io.IOException
  {
    out.writeInt(this.myInt);

    out.writeLong(this.myLong);

    out.writeFloat(this.myFloat);

    out.writeDouble(this.myDouble);

    out.writeBoolean(this.myBool);

    out.writeString(this.myString);

    long size0 = this.myIntMap.size();
    out.writeMapStart();
    out.setItemCount(size0);
    long actualSize0 = 0;
    for (java.util.Map.Entry e0: this.myIntMap.entrySet()) {
      actualSize0++;
      out.startItem();
      out.writeString(e0.getKey());
      java.lang.Integer v0 = e0.getValue();
      out.writeInt(v0);
    }
    out.writeMapEnd();
    if (actualSize0 != size0)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size0 + ", but element count was " + actualSize0 + ".");

    long size1 = this.myLongMap.size();
    out.writeMapStart();
    out.setItemCount(size1);
    long actualSize1 = 0;
    for (java.util.Map.Entry e1: this.myLongMap.entrySet()) {
      actualSize1++;
      out.startItem();
      out.writeString(e1.getKey());
      java.lang.Long v1 = e1.getValue();
      out.writeLong(v1);
    }
    out.writeMapEnd();
    if (actualSize1 != size1)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size1 + ", but element count was " + actualSize1 + ".");

    long size2 = this.myFloatMap.size();
    out.writeMapStart();
    out.setItemCount(size2);
    long actualSize2 = 0;
    for (java.util.Map.Entry e2: this.myFloatMap.entrySet()) {
      actualSize2++;
      out.startItem();
      out.writeString(e2.getKey());
      java.lang.Float v2 = e2.getValue();
      out.writeFloat(v2);
    }
    out.writeMapEnd();
    if (actualSize2 != size2)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size2 + ", but element count was " + actualSize2 + ".");

    long size3 = this.myDoubleMap.size();
    out.writeMapStart();
    out.setItemCount(size3);
    long actualSize3 = 0;
    for (java.util.Map.Entry e3: this.myDoubleMap.entrySet()) {
      actualSize3++;
      out.startItem();
      out.writeString(e3.getKey());
      java.lang.Double v3 = e3.getValue();
      out.writeDouble(v3);
    }
    out.writeMapEnd();
    if (actualSize3 != size3)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size3 + ", but element count was " + actualSize3 + ".");

    long size4 = this.myBoolMap.size();
    out.writeMapStart();
    out.setItemCount(size4);
    long actualSize4 = 0;
    for (java.util.Map.Entry e4: this.myBoolMap.entrySet()) {
      actualSize4++;
      out.startItem();
      out.writeString(e4.getKey());
      java.lang.Boolean v4 = e4.getValue();
      out.writeBoolean(v4);
    }
    out.writeMapEnd();
    if (actualSize4 != size4)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size4 + ", but element count was " + actualSize4 + ".");

    long size5 = this.myStringMap.size();
    out.writeMapStart();
    out.setItemCount(size5);
    long actualSize5 = 0;
    for (java.util.Map.Entry e5: this.myStringMap.entrySet()) {
      actualSize5++;
      out.startItem();
      out.writeString(e5.getKey());
      java.lang.String v5 = e5.getValue();
      out.writeString(v5);
    }
    out.writeMapEnd();
    if (actualSize5 != size5)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size5 + ", but element count was " + actualSize5 + ".");

    long size6 = this.myIntMapMap.size();
    out.writeMapStart();
    out.setItemCount(size6);
    long actualSize6 = 0;
    for (java.util.Map.Entry> e6: this.myIntMapMap.entrySet()) {
      actualSize6++;
      out.startItem();
      out.writeString(e6.getKey());
      java.util.Map v6 = e6.getValue();
      long size7 = v6.size();
      out.writeMapStart();
      out.setItemCount(size7);
      long actualSize7 = 0;
      for (java.util.Map.Entry e7: v6.entrySet()) {
        actualSize7++;
        out.startItem();
        out.writeString(e7.getKey());
        java.lang.Integer v7 = e7.getValue();
        out.writeInt(v7);
      }
      out.writeMapEnd();
      if (actualSize7 != size7)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size7 + ", but element count was " + actualSize7 + ".");
    }
    out.writeMapEnd();
    if (actualSize6 != size6)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size6 + ", but element count was " + actualSize6 + ".");

    long size8 = this.myLongMapMap.size();
    out.writeMapStart();
    out.setItemCount(size8);
    long actualSize8 = 0;
    for (java.util.Map.Entry> e8: this.myLongMapMap.entrySet()) {
      actualSize8++;
      out.startItem();
      out.writeString(e8.getKey());
      java.util.Map v8 = e8.getValue();
      long size9 = v8.size();
      out.writeMapStart();
      out.setItemCount(size9);
      long actualSize9 = 0;
      for (java.util.Map.Entry e9: v8.entrySet()) {
        actualSize9++;
        out.startItem();
        out.writeString(e9.getKey());
        java.lang.Long v9 = e9.getValue();
        out.writeLong(v9);
      }
      out.writeMapEnd();
      if (actualSize9 != size9)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size9 + ", but element count was " + actualSize9 + ".");
    }
    out.writeMapEnd();
    if (actualSize8 != size8)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size8 + ", but element count was " + actualSize8 + ".");

    long size10 = this.myFloatMapMap.size();
    out.writeMapStart();
    out.setItemCount(size10);
    long actualSize10 = 0;
    for (java.util.Map.Entry> e10: this.myFloatMapMap.entrySet()) {
      actualSize10++;
      out.startItem();
      out.writeString(e10.getKey());
      java.util.Map v10 = e10.getValue();
      long size11 = v10.size();
      out.writeMapStart();
      out.setItemCount(size11);
      long actualSize11 = 0;
      for (java.util.Map.Entry e11: v10.entrySet()) {
        actualSize11++;
        out.startItem();
        out.writeString(e11.getKey());
        java.lang.Float v11 = e11.getValue();
        out.writeFloat(v11);
      }
      out.writeMapEnd();
      if (actualSize11 != size11)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size11 + ", but element count was " + actualSize11 + ".");
    }
    out.writeMapEnd();
    if (actualSize10 != size10)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size10 + ", but element count was " + actualSize10 + ".");

    long size12 = this.myDoubleMapMap.size();
    out.writeMapStart();
    out.setItemCount(size12);
    long actualSize12 = 0;
    for (java.util.Map.Entry> e12: this.myDoubleMapMap.entrySet()) {
      actualSize12++;
      out.startItem();
      out.writeString(e12.getKey());
      java.util.Map v12 = e12.getValue();
      long size13 = v12.size();
      out.writeMapStart();
      out.setItemCount(size13);
      long actualSize13 = 0;
      for (java.util.Map.Entry e13: v12.entrySet()) {
        actualSize13++;
        out.startItem();
        out.writeString(e13.getKey());
        java.lang.Double v13 = e13.getValue();
        out.writeDouble(v13);
      }
      out.writeMapEnd();
      if (actualSize13 != size13)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size13 + ", but element count was " + actualSize13 + ".");
    }
    out.writeMapEnd();
    if (actualSize12 != size12)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size12 + ", but element count was " + actualSize12 + ".");

    long size14 = this.myBoolMapMap.size();
    out.writeMapStart();
    out.setItemCount(size14);
    long actualSize14 = 0;
    for (java.util.Map.Entry> e14: this.myBoolMapMap.entrySet()) {
      actualSize14++;
      out.startItem();
      out.writeString(e14.getKey());
      java.util.Map v14 = e14.getValue();
      long size15 = v14.size();
      out.writeMapStart();
      out.setItemCount(size15);
      long actualSize15 = 0;
      for (java.util.Map.Entry e15: v14.entrySet()) {
        actualSize15++;
        out.startItem();
        out.writeString(e15.getKey());
        java.lang.Boolean v15 = e15.getValue();
        out.writeBoolean(v15);
      }
      out.writeMapEnd();
      if (actualSize15 != size15)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size15 + ", but element count was " + actualSize15 + ".");
    }
    out.writeMapEnd();
    if (actualSize14 != size14)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size14 + ", but element count was " + actualSize14 + ".");

    long size16 = this.myStringMapMap.size();
    out.writeMapStart();
    out.setItemCount(size16);
    long actualSize16 = 0;
    for (java.util.Map.Entry> e16: this.myStringMapMap.entrySet()) {
      actualSize16++;
      out.startItem();
      out.writeString(e16.getKey());
      java.util.Map v16 = e16.getValue();
      long size17 = v16.size();
      out.writeMapStart();
      out.setItemCount(size17);
      long actualSize17 = 0;
      for (java.util.Map.Entry e17: v16.entrySet()) {
        actualSize17++;
        out.startItem();
        out.writeString(e17.getKey());
        java.lang.String v17 = e17.getValue();
        out.writeString(v17);
      }
      out.writeMapEnd();
      if (actualSize17 != size17)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size17 + ", but element count was " + actualSize17 + ".");
    }
    out.writeMapEnd();
    if (actualSize16 != size16)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size16 + ", but element count was " + actualSize16 + ".");

    long size18 = this.myIntList.size();
    out.writeArrayStart();
    out.setItemCount(size18);
    long actualSize18 = 0;
    for (java.lang.Integer e18: this.myIntList) {
      actualSize18++;
      out.startItem();
      out.writeInt(e18);
    }
    out.writeArrayEnd();
    if (actualSize18 != size18)
      throw new java.util.ConcurrentModificationException("Array-size written was " + size18 + ", but element count was " + actualSize18 + ".");

    long size19 = this.myLongList.size();
    out.writeArrayStart();
    out.setItemCount(size19);
    long actualSize19 = 0;
    for (java.lang.Long e19: this.myLongList) {
      actualSize19++;
      out.startItem();
      out.writeLong(e19);
    }
    out.writeArrayEnd();
    if (actualSize19 != size19)
      throw new java.util.ConcurrentModificationException("Array-size written was " + size19 + ", but element count was " + actualSize19 + ".");

    long size20 = this.myFloatList.size();
    out.writeArrayStart();
    out.setItemCount(size20);
    long actualSize20 = 0;
    for (java.lang.Float e20: this.myFloatList) {
      actualSize20++;
      out.startItem();
      out.writeFloat(e20);
    }
    out.writeArrayEnd();
    if (actualSize20 != size20)
      throw new java.util.ConcurrentModificationException("Array-size written was " + size20 + ", but element count was " + actualSize20 + ".");

    long size21 = this.myDoubleList.size();
    out.writeArrayStart();
    out.setItemCount(size21);
    long actualSize21 = 0;
    for (java.lang.Double e21: this.myDoubleList) {
      actualSize21++;
      out.startItem();
      out.writeDouble(e21);
    }
    out.writeArrayEnd();
    if (actualSize21 != size21)
      throw new java.util.ConcurrentModificationException("Array-size written was " + size21 + ", but element count was " + actualSize21 + ".");

    long size22 = this.myBoolList.size();
    out.writeArrayStart();
    out.setItemCount(size22);
    long actualSize22 = 0;
    for (java.lang.Boolean e22: this.myBoolList) {
      actualSize22++;
      out.startItem();
      out.writeBoolean(e22);
    }
    out.writeArrayEnd();
    if (actualSize22 != size22)
      throw new java.util.ConcurrentModificationException("Array-size written was " + size22 + ", but element count was " + actualSize22 + ".");

    long size23 = this.myStringList.size();
    out.writeArrayStart();
    out.setItemCount(size23);
    long actualSize23 = 0;
    for (java.lang.String e23: this.myStringList) {
      actualSize23++;
      out.startItem();
      out.writeString(e23);
    }
    out.writeArrayEnd();
    if (actualSize23 != size23)
      throw new java.util.ConcurrentModificationException("Array-size written was " + size23 + ", but element count was " + actualSize23 + ".");

    long size24 = this.myIntMapList.size();
    out.writeArrayStart();
    out.setItemCount(size24);
    long actualSize24 = 0;
    for (java.util.Map e24: this.myIntMapList) {
      actualSize24++;
      out.startItem();
      long size25 = e24.size();
      out.writeMapStart();
      out.setItemCount(size25);
      long actualSize25 = 0;
      for (java.util.Map.Entry e25: e24.entrySet()) {
        actualSize25++;
        out.startItem();
        out.writeString(e25.getKey());
        java.lang.Integer v25 = e25.getValue();
        out.writeInt(v25);
      }
      out.writeMapEnd();
      if (actualSize25 != size25)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size25 + ", but element count was " + actualSize25 + ".");
    }
    out.writeArrayEnd();
    if (actualSize24 != size24)
      throw new java.util.ConcurrentModificationException("Array-size written was " + size24 + ", but element count was " + actualSize24 + ".");

    long size26 = this.myLongMapList.size();
    out.writeArrayStart();
    out.setItemCount(size26);
    long actualSize26 = 0;
    for (java.util.Map e26: this.myLongMapList) {
      actualSize26++;
      out.startItem();
      long size27 = e26.size();
      out.writeMapStart();
      out.setItemCount(size27);
      long actualSize27 = 0;
      for (java.util.Map.Entry e27: e26.entrySet()) {
        actualSize27++;
        out.startItem();
        out.writeString(e27.getKey());
        java.lang.Long v27 = e27.getValue();
        out.writeLong(v27);
      }
      out.writeMapEnd();
      if (actualSize27 != size27)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size27 + ", but element count was " + actualSize27 + ".");
    }
    out.writeArrayEnd();
    if (actualSize26 != size26)
      throw new java.util.ConcurrentModificationException("Array-size written was " + size26 + ", but element count was " + actualSize26 + ".");

    long size28 = this.myFloatMapList.size();
    out.writeArrayStart();
    out.setItemCount(size28);
    long actualSize28 = 0;
    for (java.util.Map e28: this.myFloatMapList) {
      actualSize28++;
      out.startItem();
      long size29 = e28.size();
      out.writeMapStart();
      out.setItemCount(size29);
      long actualSize29 = 0;
      for (java.util.Map.Entry e29: e28.entrySet()) {
        actualSize29++;
        out.startItem();
        out.writeString(e29.getKey());
        java.lang.Float v29 = e29.getValue();
        out.writeFloat(v29);
      }
      out.writeMapEnd();
      if (actualSize29 != size29)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size29 + ", but element count was " + actualSize29 + ".");
    }
    out.writeArrayEnd();
    if (actualSize28 != size28)
      throw new java.util.ConcurrentModificationException("Array-size written was " + size28 + ", but element count was " + actualSize28 + ".");

    long size30 = this.myDoubleMapList.size();
    out.writeArrayStart();
    out.setItemCount(size30);
    long actualSize30 = 0;
    for (java.util.Map e30: this.myDoubleMapList) {
      actualSize30++;
      out.startItem();
      long size31 = e30.size();
      out.writeMapStart();
      out.setItemCount(size31);
      long actualSize31 = 0;
      for (java.util.Map.Entry e31: e30.entrySet()) {
        actualSize31++;
        out.startItem();
        out.writeString(e31.getKey());
        java.lang.Double v31 = e31.getValue();
        out.writeDouble(v31);
      }
      out.writeMapEnd();
      if (actualSize31 != size31)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size31 + ", but element count was " + actualSize31 + ".");
    }
    out.writeArrayEnd();
    if (actualSize30 != size30)
      throw new java.util.ConcurrentModificationException("Array-size written was " + size30 + ", but element count was " + actualSize30 + ".");

    long size32 = this.myBoolMapList.size();
    out.writeArrayStart();
    out.setItemCount(size32);
    long actualSize32 = 0;
    for (java.util.Map e32: this.myBoolMapList) {
      actualSize32++;
      out.startItem();
      long size33 = e32.size();
      out.writeMapStart();
      out.setItemCount(size33);
      long actualSize33 = 0;
      for (java.util.Map.Entry e33: e32.entrySet()) {
        actualSize33++;
        out.startItem();
        out.writeString(e33.getKey());
        java.lang.Boolean v33 = e33.getValue();
        out.writeBoolean(v33);
      }
      out.writeMapEnd();
      if (actualSize33 != size33)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size33 + ", but element count was " + actualSize33 + ".");
    }
    out.writeArrayEnd();
    if (actualSize32 != size32)
      throw new java.util.ConcurrentModificationException("Array-size written was " + size32 + ", but element count was " + actualSize32 + ".");

    long size34 = this.myStringMapList.size();
    out.writeArrayStart();
    out.setItemCount(size34);
    long actualSize34 = 0;
    for (java.util.Map e34: this.myStringMapList) {
      actualSize34++;
      out.startItem();
      long size35 = e34.size();
      out.writeMapStart();
      out.setItemCount(size35);
      long actualSize35 = 0;
      for (java.util.Map.Entry e35: e34.entrySet()) {
        actualSize35++;
        out.startItem();
        out.writeString(e35.getKey());
        java.lang.String v35 = e35.getValue();
        out.writeString(v35);
      }
      out.writeMapEnd();
      if (actualSize35 != size35)
      throw new java.util.ConcurrentModificationException("Map-size written was " + size35 + ", but element count was " + actualSize35 + ".");
    }
    out.writeArrayEnd();
    if (actualSize34 != size34)
      throw new java.util.ConcurrentModificationException("Array-size written was " + size34 + ", but element count was " + actualSize34 + ".");

  }

  @Override public void customDecode(org.apache.avro.io.ResolvingDecoder in)
    throws java.io.IOException
  {
    org.apache.avro.Schema.Field[] fieldOrder = in.readFieldOrderIfDiff();
    if (fieldOrder == null) {
      this.myInt = in.readInt();

      this.myLong = in.readLong();

      this.myFloat = in.readFloat();

      this.myDouble = in.readDouble();

      this.myBool = in.readBoolean();

      this.myString = in.readString();

      long size0 = in.readMapStart();
      java.util.Map m0 = this.myIntMap; // Need fresh name due to limitation of macro system
      if (m0 == null) {
        m0 = new java.util.HashMap((int)size0);
        this.myIntMap = m0;
      } else m0.clear();
      for ( ; 0 < size0; size0 = in.mapNext()) {
        for ( ; size0 != 0; size0--) {
          java.lang.String k0 = null;
          k0 = in.readString();
          java.lang.Integer v0 = null;
          v0 = in.readInt();
          m0.put(k0, v0);
        }
      }

      long size1 = in.readMapStart();
      java.util.Map m1 = this.myLongMap; // Need fresh name due to limitation of macro system
      if (m1 == null) {
        m1 = new java.util.HashMap((int)size1);
        this.myLongMap = m1;
      } else m1.clear();
      for ( ; 0 < size1; size1 = in.mapNext()) {
        for ( ; size1 != 0; size1--) {
          java.lang.String k1 = null;
          k1 = in.readString();
          java.lang.Long v1 = null;
          v1 = in.readLong();
          m1.put(k1, v1);
        }
      }

      long size2 = in.readMapStart();
      java.util.Map m2 = this.myFloatMap; // Need fresh name due to limitation of macro system
      if (m2 == null) {
        m2 = new java.util.HashMap((int)size2);
        this.myFloatMap = m2;
      } else m2.clear();
      for ( ; 0 < size2; size2 = in.mapNext()) {
        for ( ; size2 != 0; size2--) {
          java.lang.String k2 = null;
          k2 = in.readString();
          java.lang.Float v2 = null;
          v2 = in.readFloat();
          m2.put(k2, v2);
        }
      }

      long size3 = in.readMapStart();
      java.util.Map m3 = this.myDoubleMap; // Need fresh name due to limitation of macro system
      if (m3 == null) {
        m3 = new java.util.HashMap((int)size3);
        this.myDoubleMap = m3;
      } else m3.clear();
      for ( ; 0 < size3; size3 = in.mapNext()) {
        for ( ; size3 != 0; size3--) {
          java.lang.String k3 = null;
          k3 = in.readString();
          java.lang.Double v3 = null;
          v3 = in.readDouble();
          m3.put(k3, v3);
        }
      }

      long size4 = in.readMapStart();
      java.util.Map m4 = this.myBoolMap; // Need fresh name due to limitation of macro system
      if (m4 == null) {
        m4 = new java.util.HashMap((int)size4);
        this.myBoolMap = m4;
      } else m4.clear();
      for ( ; 0 < size4; size4 = in.mapNext()) {
        for ( ; size4 != 0; size4--) {
          java.lang.String k4 = null;
          k4 = in.readString();
          java.lang.Boolean v4 = null;
          v4 = in.readBoolean();
          m4.put(k4, v4);
        }
      }

      long size5 = in.readMapStart();
      java.util.Map m5 = this.myStringMap; // Need fresh name due to limitation of macro system
      if (m5 == null) {
        m5 = new java.util.HashMap((int)size5);
        this.myStringMap = m5;
      } else m5.clear();
      for ( ; 0 < size5; size5 = in.mapNext()) {
        for ( ; size5 != 0; size5--) {
          java.lang.String k5 = null;
          k5 = in.readString();
          java.lang.String v5 = null;
          v5 = in.readString();
          m5.put(k5, v5);
        }
      }

      long size6 = in.readMapStart();
      java.util.Map> m6 = this.myIntMapMap; // Need fresh name due to limitation of macro system
      if (m6 == null) {
        m6 = new java.util.HashMap>((int)size6);
        this.myIntMapMap = m6;
      } else m6.clear();
      for ( ; 0 < size6; size6 = in.mapNext()) {
        for ( ; size6 != 0; size6--) {
          java.lang.String k6 = null;
          k6 = in.readString();
          java.util.Map v6 = null;
          long size7 = in.readMapStart();
          java.util.Map m7 = v6; // Need fresh name due to limitation of macro system
          if (m7 == null) {
            m7 = new java.util.HashMap((int)size7);
            v6 = m7;
          } else m7.clear();
          for ( ; 0 < size7; size7 = in.mapNext()) {
            for ( ; size7 != 0; size7--) {
              java.lang.String k7 = null;
              k7 = in.readString();
              java.lang.Integer v7 = null;
              v7 = in.readInt();
              m7.put(k7, v7);
            }
          }
          m6.put(k6, v6);
        }
      }

      long size8 = in.readMapStart();
      java.util.Map> m8 = this.myLongMapMap; // Need fresh name due to limitation of macro system
      if (m8 == null) {
        m8 = new java.util.HashMap>((int)size8);
        this.myLongMapMap = m8;
      } else m8.clear();
      for ( ; 0 < size8; size8 = in.mapNext()) {
        for ( ; size8 != 0; size8--) {
          java.lang.String k8 = null;
          k8 = in.readString();
          java.util.Map v8 = null;
          long size9 = in.readMapStart();
          java.util.Map m9 = v8; // Need fresh name due to limitation of macro system
          if (m9 == null) {
            m9 = new java.util.HashMap((int)size9);
            v8 = m9;
          } else m9.clear();
          for ( ; 0 < size9; size9 = in.mapNext()) {
            for ( ; size9 != 0; size9--) {
              java.lang.String k9 = null;
              k9 = in.readString();
              java.lang.Long v9 = null;
              v9 = in.readLong();
              m9.put(k9, v9);
            }
          }
          m8.put(k8, v8);
        }
      }

      long size10 = in.readMapStart();
      java.util.Map> m10 = this.myFloatMapMap; // Need fresh name due to limitation of macro system
      if (m10 == null) {
        m10 = new java.util.HashMap>((int)size10);
        this.myFloatMapMap = m10;
      } else m10.clear();
      for ( ; 0 < size10; size10 = in.mapNext()) {
        for ( ; size10 != 0; size10--) {
          java.lang.String k10 = null;
          k10 = in.readString();
          java.util.Map v10 = null;
          long size11 = in.readMapStart();
          java.util.Map m11 = v10; // Need fresh name due to limitation of macro system
          if (m11 == null) {
            m11 = new java.util.HashMap((int)size11);
            v10 = m11;
          } else m11.clear();
          for ( ; 0 < size11; size11 = in.mapNext()) {
            for ( ; size11 != 0; size11--) {
              java.lang.String k11 = null;
              k11 = in.readString();
              java.lang.Float v11 = null;
              v11 = in.readFloat();
              m11.put(k11, v11);
            }
          }
          m10.put(k10, v10);
        }
      }

      long size12 = in.readMapStart();
      java.util.Map> m12 = this.myDoubleMapMap; // Need fresh name due to limitation of macro system
      if (m12 == null) {
        m12 = new java.util.HashMap>((int)size12);
        this.myDoubleMapMap = m12;
      } else m12.clear();
      for ( ; 0 < size12; size12 = in.mapNext()) {
        for ( ; size12 != 0; size12--) {
          java.lang.String k12 = null;
          k12 = in.readString();
          java.util.Map v12 = null;
          long size13 = in.readMapStart();
          java.util.Map m13 = v12; // Need fresh name due to limitation of macro system
          if (m13 == null) {
            m13 = new java.util.HashMap((int)size13);
            v12 = m13;
          } else m13.clear();
          for ( ; 0 < size13; size13 = in.mapNext()) {
            for ( ; size13 != 0; size13--) {
              java.lang.String k13 = null;
              k13 = in.readString();
              java.lang.Double v13 = null;
              v13 = in.readDouble();
              m13.put(k13, v13);
            }
          }
          m12.put(k12, v12);
        }
      }

      long size14 = in.readMapStart();
      java.util.Map> m14 = this.myBoolMapMap; // Need fresh name due to limitation of macro system
      if (m14 == null) {
        m14 = new java.util.HashMap>((int)size14);
        this.myBoolMapMap = m14;
      } else m14.clear();
      for ( ; 0 < size14; size14 = in.mapNext()) {
        for ( ; size14 != 0; size14--) {
          java.lang.String k14 = null;
          k14 = in.readString();
          java.util.Map v14 = null;
          long size15 = in.readMapStart();
          java.util.Map m15 = v14; // Need fresh name due to limitation of macro system
          if (m15 == null) {
            m15 = new java.util.HashMap((int)size15);
            v14 = m15;
          } else m15.clear();
          for ( ; 0 < size15; size15 = in.mapNext()) {
            for ( ; size15 != 0; size15--) {
              java.lang.String k15 = null;
              k15 = in.readString();
              java.lang.Boolean v15 = null;
              v15 = in.readBoolean();
              m15.put(k15, v15);
            }
          }
          m14.put(k14, v14);
        }
      }

      long size16 = in.readMapStart();
      java.util.Map> m16 = this.myStringMapMap; // Need fresh name due to limitation of macro system
      if (m16 == null) {
        m16 = new java.util.HashMap>((int)size16);
        this.myStringMapMap = m16;
      } else m16.clear();
      for ( ; 0 < size16; size16 = in.mapNext()) {
        for ( ; size16 != 0; size16--) {
          java.lang.String k16 = null;
          k16 = in.readString();
          java.util.Map v16 = null;
          long size17 = in.readMapStart();
          java.util.Map m17 = v16; // Need fresh name due to limitation of macro system
          if (m17 == null) {
            m17 = new java.util.HashMap((int)size17);
            v16 = m17;
          } else m17.clear();
          for ( ; 0 < size17; size17 = in.mapNext()) {
            for ( ; size17 != 0; size17--) {
              java.lang.String k17 = null;
              k17 = in.readString();
              java.lang.String v17 = null;
              v17 = in.readString();
              m17.put(k17, v17);
            }
          }
          m16.put(k16, v16);
        }
      }

      long size18 = in.readArrayStart();
      java.util.List a18 = this.myIntList;
      if (a18 == null) {
        a18 = new SpecificData.Array((int)size18, SCHEMA$.getField("myIntList").schema());
        this.myIntList = a18;
      } else a18.clear();
      SpecificData.Array ga18 = (a18 instanceof SpecificData.Array ? (SpecificData.Array)a18 : null);
      for ( ; 0 < size18; size18 = in.arrayNext()) {
        for ( ; size18 != 0; size18--) {
          java.lang.Integer e18 = (ga18 != null ? ga18.peek() : null);
          e18 = in.readInt();
          a18.add(e18);
        }
      }

      long size19 = in.readArrayStart();
      java.util.List a19 = this.myLongList;
      if (a19 == null) {
        a19 = new SpecificData.Array((int)size19, SCHEMA$.getField("myLongList").schema());
        this.myLongList = a19;
      } else a19.clear();
      SpecificData.Array ga19 = (a19 instanceof SpecificData.Array ? (SpecificData.Array)a19 : null);
      for ( ; 0 < size19; size19 = in.arrayNext()) {
        for ( ; size19 != 0; size19--) {
          java.lang.Long e19 = (ga19 != null ? ga19.peek() : null);
          e19 = in.readLong();
          a19.add(e19);
        }
      }

      long size20 = in.readArrayStart();
      java.util.List a20 = this.myFloatList;
      if (a20 == null) {
        a20 = new SpecificData.Array((int)size20, SCHEMA$.getField("myFloatList").schema());
        this.myFloatList = a20;
      } else a20.clear();
      SpecificData.Array ga20 = (a20 instanceof SpecificData.Array ? (SpecificData.Array)a20 : null);
      for ( ; 0 < size20; size20 = in.arrayNext()) {
        for ( ; size20 != 0; size20--) {
          java.lang.Float e20 = (ga20 != null ? ga20.peek() : null);
          e20 = in.readFloat();
          a20.add(e20);
        }
      }

      long size21 = in.readArrayStart();
      java.util.List a21 = this.myDoubleList;
      if (a21 == null) {
        a21 = new SpecificData.Array((int)size21, SCHEMA$.getField("myDoubleList").schema());
        this.myDoubleList = a21;
      } else a21.clear();
      SpecificData.Array ga21 = (a21 instanceof SpecificData.Array ? (SpecificData.Array)a21 : null);
      for ( ; 0 < size21; size21 = in.arrayNext()) {
        for ( ; size21 != 0; size21--) {
          java.lang.Double e21 = (ga21 != null ? ga21.peek() : null);
          e21 = in.readDouble();
          a21.add(e21);
        }
      }

      long size22 = in.readArrayStart();
      java.util.List a22 = this.myBoolList;
      if (a22 == null) {
        a22 = new SpecificData.Array((int)size22, SCHEMA$.getField("myBoolList").schema());
        this.myBoolList = a22;
      } else a22.clear();
      SpecificData.Array ga22 = (a22 instanceof SpecificData.Array ? (SpecificData.Array)a22 : null);
      for ( ; 0 < size22; size22 = in.arrayNext()) {
        for ( ; size22 != 0; size22--) {
          java.lang.Boolean e22 = (ga22 != null ? ga22.peek() : null);
          e22 = in.readBoolean();
          a22.add(e22);
        }
      }

      long size23 = in.readArrayStart();
      java.util.List a23 = this.myStringList;
      if (a23 == null) {
        a23 = new SpecificData.Array((int)size23, SCHEMA$.getField("myStringList").schema());
        this.myStringList = a23;
      } else a23.clear();
      SpecificData.Array ga23 = (a23 instanceof SpecificData.Array ? (SpecificData.Array)a23 : null);
      for ( ; 0 < size23; size23 = in.arrayNext()) {
        for ( ; size23 != 0; size23--) {
          java.lang.String e23 = (ga23 != null ? ga23.peek() : null);
          e23 = in.readString();
          a23.add(e23);
        }
      }

      long size24 = in.readArrayStart();
      java.util.List> a24 = this.myIntMapList;
      if (a24 == null) {
        a24 = new SpecificData.Array>((int)size24, SCHEMA$.getField("myIntMapList").schema());
        this.myIntMapList = a24;
      } else a24.clear();
      SpecificData.Array> ga24 = (a24 instanceof SpecificData.Array ? (SpecificData.Array>)a24 : null);
      for ( ; 0 < size24; size24 = in.arrayNext()) {
        for ( ; size24 != 0; size24--) {
          java.util.Map e24 = (ga24 != null ? ga24.peek() : null);
          long size25 = in.readMapStart();
          java.util.Map m25 = e24; // Need fresh name due to limitation of macro system
          if (m25 == null) {
            m25 = new java.util.HashMap((int)size25);
            e24 = m25;
          } else m25.clear();
          for ( ; 0 < size25; size25 = in.mapNext()) {
            for ( ; size25 != 0; size25--) {
              java.lang.String k25 = null;
              k25 = in.readString();
              java.lang.Integer v25 = null;
              v25 = in.readInt();
              m25.put(k25, v25);
            }
          }
          a24.add(e24);
        }
      }

      long size26 = in.readArrayStart();
      java.util.List> a26 = this.myLongMapList;
      if (a26 == null) {
        a26 = new SpecificData.Array>((int)size26, SCHEMA$.getField("myLongMapList").schema());
        this.myLongMapList = a26;
      } else a26.clear();
      SpecificData.Array> ga26 = (a26 instanceof SpecificData.Array ? (SpecificData.Array>)a26 : null);
      for ( ; 0 < size26; size26 = in.arrayNext()) {
        for ( ; size26 != 0; size26--) {
          java.util.Map e26 = (ga26 != null ? ga26.peek() : null);
          long size27 = in.readMapStart();
          java.util.Map m27 = e26; // Need fresh name due to limitation of macro system
          if (m27 == null) {
            m27 = new java.util.HashMap((int)size27);
            e26 = m27;
          } else m27.clear();
          for ( ; 0 < size27; size27 = in.mapNext()) {
            for ( ; size27 != 0; size27--) {
              java.lang.String k27 = null;
              k27 = in.readString();
              java.lang.Long v27 = null;
              v27 = in.readLong();
              m27.put(k27, v27);
            }
          }
          a26.add(e26);
        }
      }

      long size28 = in.readArrayStart();
      java.util.List> a28 = this.myFloatMapList;
      if (a28 == null) {
        a28 = new SpecificData.Array>((int)size28, SCHEMA$.getField("myFloatMapList").schema());
        this.myFloatMapList = a28;
      } else a28.clear();
      SpecificData.Array> ga28 = (a28 instanceof SpecificData.Array ? (SpecificData.Array>)a28 : null);
      for ( ; 0 < size28; size28 = in.arrayNext()) {
        for ( ; size28 != 0; size28--) {
          java.util.Map e28 = (ga28 != null ? ga28.peek() : null);
          long size29 = in.readMapStart();
          java.util.Map m29 = e28; // Need fresh name due to limitation of macro system
          if (m29 == null) {
            m29 = new java.util.HashMap((int)size29);
            e28 = m29;
          } else m29.clear();
          for ( ; 0 < size29; size29 = in.mapNext()) {
            for ( ; size29 != 0; size29--) {
              java.lang.String k29 = null;
              k29 = in.readString();
              java.lang.Float v29 = null;
              v29 = in.readFloat();
              m29.put(k29, v29);
            }
          }
          a28.add(e28);
        }
      }

      long size30 = in.readArrayStart();
      java.util.List> a30 = this.myDoubleMapList;
      if (a30 == null) {
        a30 = new SpecificData.Array>((int)size30, SCHEMA$.getField("myDoubleMapList").schema());
        this.myDoubleMapList = a30;
      } else a30.clear();
      SpecificData.Array> ga30 = (a30 instanceof SpecificData.Array ? (SpecificData.Array>)a30 : null);
      for ( ; 0 < size30; size30 = in.arrayNext()) {
        for ( ; size30 != 0; size30--) {
          java.util.Map e30 = (ga30 != null ? ga30.peek() : null);
          long size31 = in.readMapStart();
          java.util.Map m31 = e30; // Need fresh name due to limitation of macro system
          if (m31 == null) {
            m31 = new java.util.HashMap((int)size31);
            e30 = m31;
          } else m31.clear();
          for ( ; 0 < size31; size31 = in.mapNext()) {
            for ( ; size31 != 0; size31--) {
              java.lang.String k31 = null;
              k31 = in.readString();
              java.lang.Double v31 = null;
              v31 = in.readDouble();
              m31.put(k31, v31);
            }
          }
          a30.add(e30);
        }
      }

      long size32 = in.readArrayStart();
      java.util.List> a32 = this.myBoolMapList;
      if (a32 == null) {
        a32 = new SpecificData.Array>((int)size32, SCHEMA$.getField("myBoolMapList").schema());
        this.myBoolMapList = a32;
      } else a32.clear();
      SpecificData.Array> ga32 = (a32 instanceof SpecificData.Array ? (SpecificData.Array>)a32 : null);
      for ( ; 0 < size32; size32 = in.arrayNext()) {
        for ( ; size32 != 0; size32--) {
          java.util.Map e32 = (ga32 != null ? ga32.peek() : null);
          long size33 = in.readMapStart();
          java.util.Map m33 = e32; // Need fresh name due to limitation of macro system
          if (m33 == null) {
            m33 = new java.util.HashMap((int)size33);
            e32 = m33;
          } else m33.clear();
          for ( ; 0 < size33; size33 = in.mapNext()) {
            for ( ; size33 != 0; size33--) {
              java.lang.String k33 = null;
              k33 = in.readString();
              java.lang.Boolean v33 = null;
              v33 = in.readBoolean();
              m33.put(k33, v33);
            }
          }
          a32.add(e32);
        }
      }

      long size34 = in.readArrayStart();
      java.util.List> a34 = this.myStringMapList;
      if (a34 == null) {
        a34 = new SpecificData.Array>((int)size34, SCHEMA$.getField("myStringMapList").schema());
        this.myStringMapList = a34;
      } else a34.clear();
      SpecificData.Array> ga34 = (a34 instanceof SpecificData.Array ? (SpecificData.Array>)a34 : null);
      for ( ; 0 < size34; size34 = in.arrayNext()) {
        for ( ; size34 != 0; size34--) {
          java.util.Map e34 = (ga34 != null ? ga34.peek() : null);
          long size35 = in.readMapStart();
          java.util.Map m35 = e34; // Need fresh name due to limitation of macro system
          if (m35 == null) {
            m35 = new java.util.HashMap((int)size35);
            e34 = m35;
          } else m35.clear();
          for ( ; 0 < size35; size35 = in.mapNext()) {
            for ( ; size35 != 0; size35--) {
              java.lang.String k35 = null;
              k35 = in.readString();
              java.lang.String v35 = null;
              v35 = in.readString();
              m35.put(k35, v35);
            }
          }
          a34.add(e34);
        }
      }

    } else {
      for (int i = 0; i < 30; i++) {
        switch (fieldOrder[i].pos()) {
        case 0:
          this.myInt = in.readInt();
          break;

        case 1:
          this.myLong = in.readLong();
          break;

        case 2:
          this.myFloat = in.readFloat();
          break;

        case 3:
          this.myDouble = in.readDouble();
          break;

        case 4:
          this.myBool = in.readBoolean();
          break;

        case 5:
          this.myString = in.readString();
          break;

        case 6:
          long size0 = in.readMapStart();
          java.util.Map m0 = this.myIntMap; // Need fresh name due to limitation of macro system
          if (m0 == null) {
            m0 = new java.util.HashMap((int)size0);
            this.myIntMap = m0;
          } else m0.clear();
          for ( ; 0 < size0; size0 = in.mapNext()) {
            for ( ; size0 != 0; size0--) {
              java.lang.String k0 = null;
              k0 = in.readString();
              java.lang.Integer v0 = null;
              v0 = in.readInt();
              m0.put(k0, v0);
            }
          }
          break;

        case 7:
          long size1 = in.readMapStart();
          java.util.Map m1 = this.myLongMap; // Need fresh name due to limitation of macro system
          if (m1 == null) {
            m1 = new java.util.HashMap((int)size1);
            this.myLongMap = m1;
          } else m1.clear();
          for ( ; 0 < size1; size1 = in.mapNext()) {
            for ( ; size1 != 0; size1--) {
              java.lang.String k1 = null;
              k1 = in.readString();
              java.lang.Long v1 = null;
              v1 = in.readLong();
              m1.put(k1, v1);
            }
          }
          break;

        case 8:
          long size2 = in.readMapStart();
          java.util.Map m2 = this.myFloatMap; // Need fresh name due to limitation of macro system
          if (m2 == null) {
            m2 = new java.util.HashMap((int)size2);
            this.myFloatMap = m2;
          } else m2.clear();
          for ( ; 0 < size2; size2 = in.mapNext()) {
            for ( ; size2 != 0; size2--) {
              java.lang.String k2 = null;
              k2 = in.readString();
              java.lang.Float v2 = null;
              v2 = in.readFloat();
              m2.put(k2, v2);
            }
          }
          break;

        case 9:
          long size3 = in.readMapStart();
          java.util.Map m3 = this.myDoubleMap; // Need fresh name due to limitation of macro system
          if (m3 == null) {
            m3 = new java.util.HashMap((int)size3);
            this.myDoubleMap = m3;
          } else m3.clear();
          for ( ; 0 < size3; size3 = in.mapNext()) {
            for ( ; size3 != 0; size3--) {
              java.lang.String k3 = null;
              k3 = in.readString();
              java.lang.Double v3 = null;
              v3 = in.readDouble();
              m3.put(k3, v3);
            }
          }
          break;

        case 10:
          long size4 = in.readMapStart();
          java.util.Map m4 = this.myBoolMap; // Need fresh name due to limitation of macro system
          if (m4 == null) {
            m4 = new java.util.HashMap((int)size4);
            this.myBoolMap = m4;
          } else m4.clear();
          for ( ; 0 < size4; size4 = in.mapNext()) {
            for ( ; size4 != 0; size4--) {
              java.lang.String k4 = null;
              k4 = in.readString();
              java.lang.Boolean v4 = null;
              v4 = in.readBoolean();
              m4.put(k4, v4);
            }
          }
          break;

        case 11:
          long size5 = in.readMapStart();
          java.util.Map m5 = this.myStringMap; // Need fresh name due to limitation of macro system
          if (m5 == null) {
            m5 = new java.util.HashMap((int)size5);
            this.myStringMap = m5;
          } else m5.clear();
          for ( ; 0 < size5; size5 = in.mapNext()) {
            for ( ; size5 != 0; size5--) {
              java.lang.String k5 = null;
              k5 = in.readString();
              java.lang.String v5 = null;
              v5 = in.readString();
              m5.put(k5, v5);
            }
          }
          break;

        case 12:
          long size6 = in.readMapStart();
          java.util.Map> m6 = this.myIntMapMap; // Need fresh name due to limitation of macro system
          if (m6 == null) {
            m6 = new java.util.HashMap>((int)size6);
            this.myIntMapMap = m6;
          } else m6.clear();
          for ( ; 0 < size6; size6 = in.mapNext()) {
            for ( ; size6 != 0; size6--) {
              java.lang.String k6 = null;
              k6 = in.readString();
              java.util.Map v6 = null;
              long size7 = in.readMapStart();
              java.util.Map m7 = v6; // Need fresh name due to limitation of macro system
              if (m7 == null) {
                m7 = new java.util.HashMap((int)size7);
                v6 = m7;
              } else m7.clear();
              for ( ; 0 < size7; size7 = in.mapNext()) {
                for ( ; size7 != 0; size7--) {
                  java.lang.String k7 = null;
                  k7 = in.readString();
                  java.lang.Integer v7 = null;
                  v7 = in.readInt();
                  m7.put(k7, v7);
                }
              }
              m6.put(k6, v6);
            }
          }
          break;

        case 13:
          long size8 = in.readMapStart();
          java.util.Map> m8 = this.myLongMapMap; // Need fresh name due to limitation of macro system
          if (m8 == null) {
            m8 = new java.util.HashMap>((int)size8);
            this.myLongMapMap = m8;
          } else m8.clear();
          for ( ; 0 < size8; size8 = in.mapNext()) {
            for ( ; size8 != 0; size8--) {
              java.lang.String k8 = null;
              k8 = in.readString();
              java.util.Map v8 = null;
              long size9 = in.readMapStart();
              java.util.Map m9 = v8; // Need fresh name due to limitation of macro system
              if (m9 == null) {
                m9 = new java.util.HashMap((int)size9);
                v8 = m9;
              } else m9.clear();
              for ( ; 0 < size9; size9 = in.mapNext()) {
                for ( ; size9 != 0; size9--) {
                  java.lang.String k9 = null;
                  k9 = in.readString();
                  java.lang.Long v9 = null;
                  v9 = in.readLong();
                  m9.put(k9, v9);
                }
              }
              m8.put(k8, v8);
            }
          }
          break;

        case 14:
          long size10 = in.readMapStart();
          java.util.Map> m10 = this.myFloatMapMap; // Need fresh name due to limitation of macro system
          if (m10 == null) {
            m10 = new java.util.HashMap>((int)size10);
            this.myFloatMapMap = m10;
          } else m10.clear();
          for ( ; 0 < size10; size10 = in.mapNext()) {
            for ( ; size10 != 0; size10--) {
              java.lang.String k10 = null;
              k10 = in.readString();
              java.util.Map v10 = null;
              long size11 = in.readMapStart();
              java.util.Map m11 = v10; // Need fresh name due to limitation of macro system
              if (m11 == null) {
                m11 = new java.util.HashMap((int)size11);
                v10 = m11;
              } else m11.clear();
              for ( ; 0 < size11; size11 = in.mapNext()) {
                for ( ; size11 != 0; size11--) {
                  java.lang.String k11 = null;
                  k11 = in.readString();
                  java.lang.Float v11 = null;
                  v11 = in.readFloat();
                  m11.put(k11, v11);
                }
              }
              m10.put(k10, v10);
            }
          }
          break;

        case 15:
          long size12 = in.readMapStart();
          java.util.Map> m12 = this.myDoubleMapMap; // Need fresh name due to limitation of macro system
          if (m12 == null) {
            m12 = new java.util.HashMap>((int)size12);
            this.myDoubleMapMap = m12;
          } else m12.clear();
          for ( ; 0 < size12; size12 = in.mapNext()) {
            for ( ; size12 != 0; size12--) {
              java.lang.String k12 = null;
              k12 = in.readString();
              java.util.Map v12 = null;
              long size13 = in.readMapStart();
              java.util.Map m13 = v12; // Need fresh name due to limitation of macro system
              if (m13 == null) {
                m13 = new java.util.HashMap((int)size13);
                v12 = m13;
              } else m13.clear();
              for ( ; 0 < size13; size13 = in.mapNext()) {
                for ( ; size13 != 0; size13--) {
                  java.lang.String k13 = null;
                  k13 = in.readString();
                  java.lang.Double v13 = null;
                  v13 = in.readDouble();
                  m13.put(k13, v13);
                }
              }
              m12.put(k12, v12);
            }
          }
          break;

        case 16:
          long size14 = in.readMapStart();
          java.util.Map> m14 = this.myBoolMapMap; // Need fresh name due to limitation of macro system
          if (m14 == null) {
            m14 = new java.util.HashMap>((int)size14);
            this.myBoolMapMap = m14;
          } else m14.clear();
          for ( ; 0 < size14; size14 = in.mapNext()) {
            for ( ; size14 != 0; size14--) {
              java.lang.String k14 = null;
              k14 = in.readString();
              java.util.Map v14 = null;
              long size15 = in.readMapStart();
              java.util.Map m15 = v14; // Need fresh name due to limitation of macro system
              if (m15 == null) {
                m15 = new java.util.HashMap((int)size15);
                v14 = m15;
              } else m15.clear();
              for ( ; 0 < size15; size15 = in.mapNext()) {
                for ( ; size15 != 0; size15--) {
                  java.lang.String k15 = null;
                  k15 = in.readString();
                  java.lang.Boolean v15 = null;
                  v15 = in.readBoolean();
                  m15.put(k15, v15);
                }
              }
              m14.put(k14, v14);
            }
          }
          break;

        case 17:
          long size16 = in.readMapStart();
          java.util.Map> m16 = this.myStringMapMap; // Need fresh name due to limitation of macro system
          if (m16 == null) {
            m16 = new java.util.HashMap>((int)size16);
            this.myStringMapMap = m16;
          } else m16.clear();
          for ( ; 0 < size16; size16 = in.mapNext()) {
            for ( ; size16 != 0; size16--) {
              java.lang.String k16 = null;
              k16 = in.readString();
              java.util.Map v16 = null;
              long size17 = in.readMapStart();
              java.util.Map m17 = v16; // Need fresh name due to limitation of macro system
              if (m17 == null) {
                m17 = new java.util.HashMap((int)size17);
                v16 = m17;
              } else m17.clear();
              for ( ; 0 < size17; size17 = in.mapNext()) {
                for ( ; size17 != 0; size17--) {
                  java.lang.String k17 = null;
                  k17 = in.readString();
                  java.lang.String v17 = null;
                  v17 = in.readString();
                  m17.put(k17, v17);
                }
              }
              m16.put(k16, v16);
            }
          }
          break;

        case 18:
          long size18 = in.readArrayStart();
          java.util.List a18 = this.myIntList;
          if (a18 == null) {
            a18 = new SpecificData.Array((int)size18, SCHEMA$.getField("myIntList").schema());
            this.myIntList = a18;
          } else a18.clear();
          SpecificData.Array ga18 = (a18 instanceof SpecificData.Array ? (SpecificData.Array)a18 : null);
          for ( ; 0 < size18; size18 = in.arrayNext()) {
            for ( ; size18 != 0; size18--) {
              java.lang.Integer e18 = (ga18 != null ? ga18.peek() : null);
              e18 = in.readInt();
              a18.add(e18);
            }
          }
          break;

        case 19:
          long size19 = in.readArrayStart();
          java.util.List a19 = this.myLongList;
          if (a19 == null) {
            a19 = new SpecificData.Array((int)size19, SCHEMA$.getField("myLongList").schema());
            this.myLongList = a19;
          } else a19.clear();
          SpecificData.Array ga19 = (a19 instanceof SpecificData.Array ? (SpecificData.Array)a19 : null);
          for ( ; 0 < size19; size19 = in.arrayNext()) {
            for ( ; size19 != 0; size19--) {
              java.lang.Long e19 = (ga19 != null ? ga19.peek() : null);
              e19 = in.readLong();
              a19.add(e19);
            }
          }
          break;

        case 20:
          long size20 = in.readArrayStart();
          java.util.List a20 = this.myFloatList;
          if (a20 == null) {
            a20 = new SpecificData.Array((int)size20, SCHEMA$.getField("myFloatList").schema());
            this.myFloatList = a20;
          } else a20.clear();
          SpecificData.Array ga20 = (a20 instanceof SpecificData.Array ? (SpecificData.Array)a20 : null);
          for ( ; 0 < size20; size20 = in.arrayNext()) {
            for ( ; size20 != 0; size20--) {
              java.lang.Float e20 = (ga20 != null ? ga20.peek() : null);
              e20 = in.readFloat();
              a20.add(e20);
            }
          }
          break;

        case 21:
          long size21 = in.readArrayStart();
          java.util.List a21 = this.myDoubleList;
          if (a21 == null) {
            a21 = new SpecificData.Array((int)size21, SCHEMA$.getField("myDoubleList").schema());
            this.myDoubleList = a21;
          } else a21.clear();
          SpecificData.Array ga21 = (a21 instanceof SpecificData.Array ? (SpecificData.Array)a21 : null);
          for ( ; 0 < size21; size21 = in.arrayNext()) {
            for ( ; size21 != 0; size21--) {
              java.lang.Double e21 = (ga21 != null ? ga21.peek() : null);
              e21 = in.readDouble();
              a21.add(e21);
            }
          }
          break;

        case 22:
          long size22 = in.readArrayStart();
          java.util.List a22 = this.myBoolList;
          if (a22 == null) {
            a22 = new SpecificData.Array((int)size22, SCHEMA$.getField("myBoolList").schema());
            this.myBoolList = a22;
          } else a22.clear();
          SpecificData.Array ga22 = (a22 instanceof SpecificData.Array ? (SpecificData.Array)a22 : null);
          for ( ; 0 < size22; size22 = in.arrayNext()) {
            for ( ; size22 != 0; size22--) {
              java.lang.Boolean e22 = (ga22 != null ? ga22.peek() : null);
              e22 = in.readBoolean();
              a22.add(e22);
            }
          }
          break;

        case 23:
          long size23 = in.readArrayStart();
          java.util.List a23 = this.myStringList;
          if (a23 == null) {
            a23 = new SpecificData.Array((int)size23, SCHEMA$.getField("myStringList").schema());
            this.myStringList = a23;
          } else a23.clear();
          SpecificData.Array ga23 = (a23 instanceof SpecificData.Array ? (SpecificData.Array)a23 : null);
          for ( ; 0 < size23; size23 = in.arrayNext()) {
            for ( ; size23 != 0; size23--) {
              java.lang.String e23 = (ga23 != null ? ga23.peek() : null);
              e23 = in.readString();
              a23.add(e23);
            }
          }
          break;

        case 24:
          long size24 = in.readArrayStart();
          java.util.List> a24 = this.myIntMapList;
          if (a24 == null) {
            a24 = new SpecificData.Array>((int)size24, SCHEMA$.getField("myIntMapList").schema());
            this.myIntMapList = a24;
          } else a24.clear();
          SpecificData.Array> ga24 = (a24 instanceof SpecificData.Array ? (SpecificData.Array>)a24 : null);
          for ( ; 0 < size24; size24 = in.arrayNext()) {
            for ( ; size24 != 0; size24--) {
              java.util.Map e24 = (ga24 != null ? ga24.peek() : null);
              long size25 = in.readMapStart();
              java.util.Map m25 = e24; // Need fresh name due to limitation of macro system
              if (m25 == null) {
                m25 = new java.util.HashMap((int)size25);
                e24 = m25;
              } else m25.clear();
              for ( ; 0 < size25; size25 = in.mapNext()) {
                for ( ; size25 != 0; size25--) {
                  java.lang.String k25 = null;
                  k25 = in.readString();
                  java.lang.Integer v25 = null;
                  v25 = in.readInt();
                  m25.put(k25, v25);
                }
              }
              a24.add(e24);
            }
          }
          break;

        case 25:
          long size26 = in.readArrayStart();
          java.util.List> a26 = this.myLongMapList;
          if (a26 == null) {
            a26 = new SpecificData.Array>((int)size26, SCHEMA$.getField("myLongMapList").schema());
            this.myLongMapList = a26;
          } else a26.clear();
          SpecificData.Array> ga26 = (a26 instanceof SpecificData.Array ? (SpecificData.Array>)a26 : null);
          for ( ; 0 < size26; size26 = in.arrayNext()) {
            for ( ; size26 != 0; size26--) {
              java.util.Map e26 = (ga26 != null ? ga26.peek() : null);
              long size27 = in.readMapStart();
              java.util.Map m27 = e26; // Need fresh name due to limitation of macro system
              if (m27 == null) {
                m27 = new java.util.HashMap((int)size27);
                e26 = m27;
              } else m27.clear();
              for ( ; 0 < size27; size27 = in.mapNext()) {
                for ( ; size27 != 0; size27--) {
                  java.lang.String k27 = null;
                  k27 = in.readString();
                  java.lang.Long v27 = null;
                  v27 = in.readLong();
                  m27.put(k27, v27);
                }
              }
              a26.add(e26);
            }
          }
          break;

        case 26:
          long size28 = in.readArrayStart();
          java.util.List> a28 = this.myFloatMapList;
          if (a28 == null) {
            a28 = new SpecificData.Array>((int)size28, SCHEMA$.getField("myFloatMapList").schema());
            this.myFloatMapList = a28;
          } else a28.clear();
          SpecificData.Array> ga28 = (a28 instanceof SpecificData.Array ? (SpecificData.Array>)a28 : null);
          for ( ; 0 < size28; size28 = in.arrayNext()) {
            for ( ; size28 != 0; size28--) {
              java.util.Map e28 = (ga28 != null ? ga28.peek() : null);
              long size29 = in.readMapStart();
              java.util.Map m29 = e28; // Need fresh name due to limitation of macro system
              if (m29 == null) {
                m29 = new java.util.HashMap((int)size29);
                e28 = m29;
              } else m29.clear();
              for ( ; 0 < size29; size29 = in.mapNext()) {
                for ( ; size29 != 0; size29--) {
                  java.lang.String k29 = null;
                  k29 = in.readString();
                  java.lang.Float v29 = null;
                  v29 = in.readFloat();
                  m29.put(k29, v29);
                }
              }
              a28.add(e28);
            }
          }
          break;

        case 27:
          long size30 = in.readArrayStart();
          java.util.List> a30 = this.myDoubleMapList;
          if (a30 == null) {
            a30 = new SpecificData.Array>((int)size30, SCHEMA$.getField("myDoubleMapList").schema());
            this.myDoubleMapList = a30;
          } else a30.clear();
          SpecificData.Array> ga30 = (a30 instanceof SpecificData.Array ? (SpecificData.Array>)a30 : null);
          for ( ; 0 < size30; size30 = in.arrayNext()) {
            for ( ; size30 != 0; size30--) {
              java.util.Map e30 = (ga30 != null ? ga30.peek() : null);
              long size31 = in.readMapStart();
              java.util.Map m31 = e30; // Need fresh name due to limitation of macro system
              if (m31 == null) {
                m31 = new java.util.HashMap((int)size31);
                e30 = m31;
              } else m31.clear();
              for ( ; 0 < size31; size31 = in.mapNext()) {
                for ( ; size31 != 0; size31--) {
                  java.lang.String k31 = null;
                  k31 = in.readString();
                  java.lang.Double v31 = null;
                  v31 = in.readDouble();
                  m31.put(k31, v31);
                }
              }
              a30.add(e30);
            }
          }
          break;

        case 28:
          long size32 = in.readArrayStart();
          java.util.List> a32 = this.myBoolMapList;
          if (a32 == null) {
            a32 = new SpecificData.Array>((int)size32, SCHEMA$.getField("myBoolMapList").schema());
            this.myBoolMapList = a32;
          } else a32.clear();
          SpecificData.Array> ga32 = (a32 instanceof SpecificData.Array ? (SpecificData.Array>)a32 : null);
          for ( ; 0 < size32; size32 = in.arrayNext()) {
            for ( ; size32 != 0; size32--) {
              java.util.Map e32 = (ga32 != null ? ga32.peek() : null);
              long size33 = in.readMapStart();
              java.util.Map m33 = e32; // Need fresh name due to limitation of macro system
              if (m33 == null) {
                m33 = new java.util.HashMap((int)size33);
                e32 = m33;
              } else m33.clear();
              for ( ; 0 < size33; size33 = in.mapNext()) {
                for ( ; size33 != 0; size33--) {
                  java.lang.String k33 = null;
                  k33 = in.readString();
                  java.lang.Boolean v33 = null;
                  v33 = in.readBoolean();
                  m33.put(k33, v33);
                }
              }
              a32.add(e32);
            }
          }
          break;

        case 29:
          long size34 = in.readArrayStart();
          java.util.List> a34 = this.myStringMapList;
          if (a34 == null) {
            a34 = new SpecificData.Array>((int)size34, SCHEMA$.getField("myStringMapList").schema());
            this.myStringMapList = a34;
          } else a34.clear();
          SpecificData.Array> ga34 = (a34 instanceof SpecificData.Array ? (SpecificData.Array>)a34 : null);
          for ( ; 0 < size34; size34 = in.arrayNext()) {
            for ( ; size34 != 0; size34--) {
              java.util.Map e34 = (ga34 != null ? ga34.peek() : null);
              long size35 = in.readMapStart();
              java.util.Map m35 = e34; // Need fresh name due to limitation of macro system
              if (m35 == null) {
                m35 = new java.util.HashMap((int)size35);
                e34 = m35;
              } else m35.clear();
              for ( ; 0 < size35; size35 = in.mapNext()) {
                for ( ; size35 != 0; size35--) {
                  java.lang.String k35 = null;
                  k35 = in.readString();
                  java.lang.String v35 = null;
                  v35 = in.readString();
                  m35.put(k35, v35);
                }
              }
              a34.add(e34);
            }
          }
          break;

        default:
          throw new java.io.IOException("Corrupt ResolvingDecoder.");
        }
      }
    }
  }
}














© 2015 - 2024 Weber Informatics LLC | Privacy Policy