/**
 * Autogenerated by Thrift
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
import java.util.Set;
import java.util.HashSet;
import java.util.Collections;
import java.util.BitSet;
import java.util.Arrays;
import com.facebook.thrift.*;
import com.facebook.thrift.annotations.*;
import com.facebook.thrift.async.*;
import com.facebook.thrift.meta_data.*;
import com.facebook.thrift.server.*;
import com.facebook.thrift.transport.*;
import com.facebook.thrift.protocol.*;

@SuppressWarnings({ "unused", "serial" })
public class MyNomralStruct implements TBase, java.io.Serializable, Cloneable, Comparable<MyNomralStruct> {
  private static final TStruct STRUCT_DESC = new TStruct("MyNomralStruct");
  private static final TField MSG1_FIELD_DESC = new TField("msg1", TType.STRING, (short)1);
  private static final TField MSG2_FIELD_DESC = new TField("msg2", TType.STRING, (short)2);
  private static final TField MSG3_FIELD_DESC = new TField("msg3", TType.STRING, (short)3);
  private static final TField MSG4_FIELD_DESC = new TField("msg4", TType.STRING, (short)4);
  private static final TField MSG5_FIELD_DESC = new TField("msg5", TType.STRING, (short)5);
  private static final TField MSG6_FIELD_DESC = new TField("msg6", TType.STRING, (short)6);
  private static final TField MSG7_FIELD_DESC = new TField("msg7", TType.STRING, (short)7);
  private static final TField MSG8_FIELD_DESC = new TField("msg8", TType.STRING, (short)8);
  private static final TField MSG9_FIELD_DESC = new TField("msg9", TType.STRING, (short)9);
  private static final TField MY_INT_FIELD10_FIELD_DESC = new TField("myIntField10", TType.I32, (short)10);
  private static final TField MY_INT_FIELD11_FIELD_DESC = new TField("myIntField11", TType.I32, (short)11);
  private static final TField MY_INT_FIELD12_FIELD_DESC = new TField("myIntField12", TType.I32, (short)12);
  private static final TField MY_INT_FIELD13_FIELD_DESC = new TField("myIntField13", TType.I32, (short)13);
  private static final TField MY_INT_FIELD14_FIELD_DESC = new TField("myIntField14", TType.I32, (short)14);
  private static final TField MY_INT_FIELD15_FIELD_DESC = new TField("myIntField15", TType.I32, (short)15);
  private static final TField MY_INT_FIELD16_FIELD_DESC = new TField("myIntField16", TType.I32, (short)16);
  private static final TField MY_INT_FIELD17_FIELD_DESC = new TField("myIntField17", TType.I32, (short)17);
  private static final TField MY_INT_FIELD18_FIELD_DESC = new TField("myIntField18", TType.I32, (short)18);
  private static final TField MY_INT_FIELD19_FIELD_DESC = new TField("myIntField19", TType.I32, (short)19);
  private static final TField MY_INT_FIELD20_FIELD_DESC = new TField("myIntField20", TType.I32, (short)20);
  private static final TField MY_DOUBLE_FIELD21_FIELD_DESC = new TField("myDoubleField21", TType.DOUBLE, (short)21);
  private static final TField MY_DOUBLE_FIELD22_FIELD_DESC = new TField("myDoubleField22", TType.DOUBLE, (short)22);
  private static final TField MY_DOUBLE_FIELD23_FIELD_DESC = new TField("myDoubleField23", TType.DOUBLE, (short)23);
  private static final TField MY_DOUBLE_FIELD24_FIELD_DESC = new TField("myDoubleField24", TType.DOUBLE, (short)24);
  private static final TField MY_DOUBLE_FIELD25_FIELD_DESC = new TField("myDoubleField25", TType.DOUBLE, (short)25);
  private static final TField MY_DOUBLE_FIELD26_FIELD_DESC = new TField("myDoubleField26", TType.DOUBLE, (short)26);
  private static final TField MY_DOUBLE_FIELD27_FIELD_DESC = new TField("myDoubleField27", TType.DOUBLE, (short)27);
  private static final TField MY_DOUBLE_FIELD28_FIELD_DESC = new TField("myDoubleField28", TType.DOUBLE, (short)28);
  private static final TField MY_DOUBLE_FIELD29_FIELD_DESC = new TField("myDoubleField29", TType.DOUBLE, (short)29);
  private static final TField MY_DOUBLE_FIELD30_FIELD_DESC = new TField("myDoubleField30", TType.DOUBLE, (short)30);

  public String msg1;
  public String msg2;
  public String msg3;
  public String msg4;
  public String msg5;
  public String msg6;
  public String msg7;
  public String msg8;
  public String msg9;
  public int myIntField10;
  public int myIntField11;
  public int myIntField12;
  public int myIntField13;
  public int myIntField14;
  public int myIntField15;
  public int myIntField16;
  public int myIntField17;
  public int myIntField18;
  public int myIntField19;
  public int myIntField20;
  public double myDoubleField21;
  public double myDoubleField22;
  public double myDoubleField23;
  public double myDoubleField24;
  public double myDoubleField25;
  public double myDoubleField26;
  public double myDoubleField27;
  public double myDoubleField28;
  public double myDoubleField29;
  public double myDoubleField30;
  public static final int MSG1 = 1;
  public static final int MSG2 = 2;
  public static final int MSG3 = 3;
  public static final int MSG4 = 4;
  public static final int MSG5 = 5;
  public static final int MSG6 = 6;
  public static final int MSG7 = 7;
  public static final int MSG8 = 8;
  public static final int MSG9 = 9;
  public static final int MYINTFIELD10 = 10;
  public static final int MYINTFIELD11 = 11;
  public static final int MYINTFIELD12 = 12;
  public static final int MYINTFIELD13 = 13;
  public static final int MYINTFIELD14 = 14;
  public static final int MYINTFIELD15 = 15;
  public static final int MYINTFIELD16 = 16;
  public static final int MYINTFIELD17 = 17;
  public static final int MYINTFIELD18 = 18;
  public static final int MYINTFIELD19 = 19;
  public static final int MYINTFIELD20 = 20;
  public static final int MYDOUBLEFIELD21 = 21;
  public static final int MYDOUBLEFIELD22 = 22;
  public static final int MYDOUBLEFIELD23 = 23;
  public static final int MYDOUBLEFIELD24 = 24;
  public static final int MYDOUBLEFIELD25 = 25;
  public static final int MYDOUBLEFIELD26 = 26;
  public static final int MYDOUBLEFIELD27 = 27;
  public static final int MYDOUBLEFIELD28 = 28;
  public static final int MYDOUBLEFIELD29 = 29;
  public static final int MYDOUBLEFIELD30 = 30;

  // isset id assignments
  private static final int __MYINTFIELD10_ISSET_ID = 0;
  private static final int __MYINTFIELD11_ISSET_ID = 1;
  private static final int __MYINTFIELD12_ISSET_ID = 2;
  private static final int __MYINTFIELD13_ISSET_ID = 3;
  private static final int __MYINTFIELD14_ISSET_ID = 4;
  private static final int __MYINTFIELD15_ISSET_ID = 5;
  private static final int __MYINTFIELD16_ISSET_ID = 6;
  private static final int __MYINTFIELD17_ISSET_ID = 7;
  private static final int __MYINTFIELD18_ISSET_ID = 8;
  private static final int __MYINTFIELD19_ISSET_ID = 9;
  private static final int __MYINTFIELD20_ISSET_ID = 10;
  private static final int __MYDOUBLEFIELD21_ISSET_ID = 11;
  private static final int __MYDOUBLEFIELD22_ISSET_ID = 12;
  private static final int __MYDOUBLEFIELD23_ISSET_ID = 13;
  private static final int __MYDOUBLEFIELD24_ISSET_ID = 14;
  private static final int __MYDOUBLEFIELD25_ISSET_ID = 15;
  private static final int __MYDOUBLEFIELD26_ISSET_ID = 16;
  private static final int __MYDOUBLEFIELD27_ISSET_ID = 17;
  private static final int __MYDOUBLEFIELD28_ISSET_ID = 18;
  private static final int __MYDOUBLEFIELD29_ISSET_ID = 19;
  private static final int __MYDOUBLEFIELD30_ISSET_ID = 20;
  private BitSet __isset_bit_vector = new BitSet(21);

  public static final Map<Integer, FieldMetaData> metaDataMap;

  static {
    Map<Integer, FieldMetaData> tmpMetaDataMap = new HashMap<Integer, FieldMetaData>();
    tmpMetaDataMap.put(MSG1, new FieldMetaData("msg1", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    tmpMetaDataMap.put(MSG2, new FieldMetaData("msg2", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    tmpMetaDataMap.put(MSG3, new FieldMetaData("msg3", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    tmpMetaDataMap.put(MSG4, new FieldMetaData("msg4", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    tmpMetaDataMap.put(MSG5, new FieldMetaData("msg5", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    tmpMetaDataMap.put(MSG6, new FieldMetaData("msg6", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    tmpMetaDataMap.put(MSG7, new FieldMetaData("msg7", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    tmpMetaDataMap.put(MSG8, new FieldMetaData("msg8", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    tmpMetaDataMap.put(MSG9, new FieldMetaData("msg9", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.STRING)));
    tmpMetaDataMap.put(MYINTFIELD10, new FieldMetaData("myIntField10", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I32)));
    tmpMetaDataMap.put(MYINTFIELD11, new FieldMetaData("myIntField11", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I32)));
    tmpMetaDataMap.put(MYINTFIELD12, new FieldMetaData("myIntField12", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I32)));
    tmpMetaDataMap.put(MYINTFIELD13, new FieldMetaData("myIntField13", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I32)));
    tmpMetaDataMap.put(MYINTFIELD14, new FieldMetaData("myIntField14", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I32)));
    tmpMetaDataMap.put(MYINTFIELD15, new FieldMetaData("myIntField15", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I32)));
    tmpMetaDataMap.put(MYINTFIELD16, new FieldMetaData("myIntField16", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I32)));
    tmpMetaDataMap.put(MYINTFIELD17, new FieldMetaData("myIntField17", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I32)));
    tmpMetaDataMap.put(MYINTFIELD18, new FieldMetaData("myIntField18", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I32)));
    tmpMetaDataMap.put(MYINTFIELD19, new FieldMetaData("myIntField19", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I32)));
    tmpMetaDataMap.put(MYINTFIELD20, new FieldMetaData("myIntField20", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.I32)));
    tmpMetaDataMap.put(MYDOUBLEFIELD21, new FieldMetaData("myDoubleField21", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.DOUBLE)));
    tmpMetaDataMap.put(MYDOUBLEFIELD22, new FieldMetaData("myDoubleField22", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.DOUBLE)));
    tmpMetaDataMap.put(MYDOUBLEFIELD23, new FieldMetaData("myDoubleField23", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.DOUBLE)));
    tmpMetaDataMap.put(MYDOUBLEFIELD24, new FieldMetaData("myDoubleField24", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.DOUBLE)));
    tmpMetaDataMap.put(MYDOUBLEFIELD25, new FieldMetaData("myDoubleField25", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.DOUBLE)));
    tmpMetaDataMap.put(MYDOUBLEFIELD26, new FieldMetaData("myDoubleField26", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.DOUBLE)));
    tmpMetaDataMap.put(MYDOUBLEFIELD27, new FieldMetaData("myDoubleField27", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.DOUBLE)));
    tmpMetaDataMap.put(MYDOUBLEFIELD28, new FieldMetaData("myDoubleField28", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.DOUBLE)));
    tmpMetaDataMap.put(MYDOUBLEFIELD29, new FieldMetaData("myDoubleField29", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.DOUBLE)));
    tmpMetaDataMap.put(MYDOUBLEFIELD30, new FieldMetaData("myDoubleField30", TFieldRequirementType.DEFAULT, 
        new FieldValueMetaData(TType.DOUBLE)));
    metaDataMap = Collections.unmodifiableMap(tmpMetaDataMap);
  }

  static {
    FieldMetaData.addStructMetaDataMap(MyNomralStruct.class, metaDataMap);
  }

  public MyNomralStruct() {
  }

  public MyNomralStruct(
      String msg1,
      String msg2,
      String msg3,
      String msg4,
      String msg5,
      String msg6,
      String msg7,
      String msg8,
      String msg9,
      int myIntField10,
      int myIntField11,
      int myIntField12,
      int myIntField13,
      int myIntField14,
      int myIntField15,
      int myIntField16,
      int myIntField17,
      int myIntField18,
      int myIntField19,
      int myIntField20,
      double myDoubleField21,
      double myDoubleField22,
      double myDoubleField23,
      double myDoubleField24,
      double myDoubleField25,
      double myDoubleField26,
      double myDoubleField27,
      double myDoubleField28,
      double myDoubleField29,
      double myDoubleField30) {
    this();
    this.msg1 = msg1;
    this.msg2 = msg2;
    this.msg3 = msg3;
    this.msg4 = msg4;
    this.msg5 = msg5;
    this.msg6 = msg6;
    this.msg7 = msg7;
    this.msg8 = msg8;
    this.msg9 = msg9;
    this.myIntField10 = myIntField10;
    setMyIntField10IsSet(true);
    this.myIntField11 = myIntField11;
    setMyIntField11IsSet(true);
    this.myIntField12 = myIntField12;
    setMyIntField12IsSet(true);
    this.myIntField13 = myIntField13;
    setMyIntField13IsSet(true);
    this.myIntField14 = myIntField14;
    setMyIntField14IsSet(true);
    this.myIntField15 = myIntField15;
    setMyIntField15IsSet(true);
    this.myIntField16 = myIntField16;
    setMyIntField16IsSet(true);
    this.myIntField17 = myIntField17;
    setMyIntField17IsSet(true);
    this.myIntField18 = myIntField18;
    setMyIntField18IsSet(true);
    this.myIntField19 = myIntField19;
    setMyIntField19IsSet(true);
    this.myIntField20 = myIntField20;
    setMyIntField20IsSet(true);
    this.myDoubleField21 = myDoubleField21;
    setMyDoubleField21IsSet(true);
    this.myDoubleField22 = myDoubleField22;
    setMyDoubleField22IsSet(true);
    this.myDoubleField23 = myDoubleField23;
    setMyDoubleField23IsSet(true);
    this.myDoubleField24 = myDoubleField24;
    setMyDoubleField24IsSet(true);
    this.myDoubleField25 = myDoubleField25;
    setMyDoubleField25IsSet(true);
    this.myDoubleField26 = myDoubleField26;
    setMyDoubleField26IsSet(true);
    this.myDoubleField27 = myDoubleField27;
    setMyDoubleField27IsSet(true);
    this.myDoubleField28 = myDoubleField28;
    setMyDoubleField28IsSet(true);
    this.myDoubleField29 = myDoubleField29;
    setMyDoubleField29IsSet(true);
    this.myDoubleField30 = myDoubleField30;
    setMyDoubleField30IsSet(true);
  }

  public static class Builder {
    private String msg1;
    private String msg2;
    private String msg3;
    private String msg4;
    private String msg5;
    private String msg6;
    private String msg7;
    private String msg8;
    private String msg9;
    private int myIntField10;
    private int myIntField11;
    private int myIntField12;
    private int myIntField13;
    private int myIntField14;
    private int myIntField15;
    private int myIntField16;
    private int myIntField17;
    private int myIntField18;
    private int myIntField19;
    private int myIntField20;
    private double myDoubleField21;
    private double myDoubleField22;
    private double myDoubleField23;
    private double myDoubleField24;
    private double myDoubleField25;
    private double myDoubleField26;
    private double myDoubleField27;
    private double myDoubleField28;
    private double myDoubleField29;
    private double myDoubleField30;

    BitSet __optional_isset = new BitSet(21);

    public Builder() {
    }

    public Builder setMsg1(final String msg1) {
      this.msg1 = msg1;
      return this;
    }

    public Builder setMsg2(final String msg2) {
      this.msg2 = msg2;
      return this;
    }

    public Builder setMsg3(final String msg3) {
      this.msg3 = msg3;
      return this;
    }

    public Builder setMsg4(final String msg4) {
      this.msg4 = msg4;
      return this;
    }

    public Builder setMsg5(final String msg5) {
      this.msg5 = msg5;
      return this;
    }

    public Builder setMsg6(final String msg6) {
      this.msg6 = msg6;
      return this;
    }

    public Builder setMsg7(final String msg7) {
      this.msg7 = msg7;
      return this;
    }

    public Builder setMsg8(final String msg8) {
      this.msg8 = msg8;
      return this;
    }

    public Builder setMsg9(final String msg9) {
      this.msg9 = msg9;
      return this;
    }

    public Builder setMyIntField10(final int myIntField10) {
      this.myIntField10 = myIntField10;
      __optional_isset.set(__MYINTFIELD10_ISSET_ID, true);
      return this;
    }

    public Builder setMyIntField11(final int myIntField11) {
      this.myIntField11 = myIntField11;
      __optional_isset.set(__MYINTFIELD11_ISSET_ID, true);
      return this;
    }

    public Builder setMyIntField12(final int myIntField12) {
      this.myIntField12 = myIntField12;
      __optional_isset.set(__MYINTFIELD12_ISSET_ID, true);
      return this;
    }

    public Builder setMyIntField13(final int myIntField13) {
      this.myIntField13 = myIntField13;
      __optional_isset.set(__MYINTFIELD13_ISSET_ID, true);
      return this;
    }

    public Builder setMyIntField14(final int myIntField14) {
      this.myIntField14 = myIntField14;
      __optional_isset.set(__MYINTFIELD14_ISSET_ID, true);
      return this;
    }

    public Builder setMyIntField15(final int myIntField15) {
      this.myIntField15 = myIntField15;
      __optional_isset.set(__MYINTFIELD15_ISSET_ID, true);
      return this;
    }

    public Builder setMyIntField16(final int myIntField16) {
      this.myIntField16 = myIntField16;
      __optional_isset.set(__MYINTFIELD16_ISSET_ID, true);
      return this;
    }

    public Builder setMyIntField17(final int myIntField17) {
      this.myIntField17 = myIntField17;
      __optional_isset.set(__MYINTFIELD17_ISSET_ID, true);
      return this;
    }

    public Builder setMyIntField18(final int myIntField18) {
      this.myIntField18 = myIntField18;
      __optional_isset.set(__MYINTFIELD18_ISSET_ID, true);
      return this;
    }

    public Builder setMyIntField19(final int myIntField19) {
      this.myIntField19 = myIntField19;
      __optional_isset.set(__MYINTFIELD19_ISSET_ID, true);
      return this;
    }

    public Builder setMyIntField20(final int myIntField20) {
      this.myIntField20 = myIntField20;
      __optional_isset.set(__MYINTFIELD20_ISSET_ID, true);
      return this;
    }

    public Builder setMyDoubleField21(final double myDoubleField21) {
      this.myDoubleField21 = myDoubleField21;
      __optional_isset.set(__MYDOUBLEFIELD21_ISSET_ID, true);
      return this;
    }

    public Builder setMyDoubleField22(final double myDoubleField22) {
      this.myDoubleField22 = myDoubleField22;
      __optional_isset.set(__MYDOUBLEFIELD22_ISSET_ID, true);
      return this;
    }

    public Builder setMyDoubleField23(final double myDoubleField23) {
      this.myDoubleField23 = myDoubleField23;
      __optional_isset.set(__MYDOUBLEFIELD23_ISSET_ID, true);
      return this;
    }

    public Builder setMyDoubleField24(final double myDoubleField24) {
      this.myDoubleField24 = myDoubleField24;
      __optional_isset.set(__MYDOUBLEFIELD24_ISSET_ID, true);
      return this;
    }

    public Builder setMyDoubleField25(final double myDoubleField25) {
      this.myDoubleField25 = myDoubleField25;
      __optional_isset.set(__MYDOUBLEFIELD25_ISSET_ID, true);
      return this;
    }

    public Builder setMyDoubleField26(final double myDoubleField26) {
      this.myDoubleField26 = myDoubleField26;
      __optional_isset.set(__MYDOUBLEFIELD26_ISSET_ID, true);
      return this;
    }

    public Builder setMyDoubleField27(final double myDoubleField27) {
      this.myDoubleField27 = myDoubleField27;
      __optional_isset.set(__MYDOUBLEFIELD27_ISSET_ID, true);
      return this;
    }

    public Builder setMyDoubleField28(final double myDoubleField28) {
      this.myDoubleField28 = myDoubleField28;
      __optional_isset.set(__MYDOUBLEFIELD28_ISSET_ID, true);
      return this;
    }

    public Builder setMyDoubleField29(final double myDoubleField29) {
      this.myDoubleField29 = myDoubleField29;
      __optional_isset.set(__MYDOUBLEFIELD29_ISSET_ID, true);
      return this;
    }

    public Builder setMyDoubleField30(final double myDoubleField30) {
      this.myDoubleField30 = myDoubleField30;
      __optional_isset.set(__MYDOUBLEFIELD30_ISSET_ID, true);
      return this;
    }

    public MyNomralStruct build() {
      MyNomralStruct result = new MyNomralStruct();
      result.setMsg1(this.msg1);
      result.setMsg2(this.msg2);
      result.setMsg3(this.msg3);
      result.setMsg4(this.msg4);
      result.setMsg5(this.msg5);
      result.setMsg6(this.msg6);
      result.setMsg7(this.msg7);
      result.setMsg8(this.msg8);
      result.setMsg9(this.msg9);
      if (__optional_isset.get(__MYINTFIELD10_ISSET_ID)) {
        result.setMyIntField10(this.myIntField10);
      }
      if (__optional_isset.get(__MYINTFIELD11_ISSET_ID)) {
        result.setMyIntField11(this.myIntField11);
      }
      if (__optional_isset.get(__MYINTFIELD12_ISSET_ID)) {
        result.setMyIntField12(this.myIntField12);
      }
      if (__optional_isset.get(__MYINTFIELD13_ISSET_ID)) {
        result.setMyIntField13(this.myIntField13);
      }
      if (__optional_isset.get(__MYINTFIELD14_ISSET_ID)) {
        result.setMyIntField14(this.myIntField14);
      }
      if (__optional_isset.get(__MYINTFIELD15_ISSET_ID)) {
        result.setMyIntField15(this.myIntField15);
      }
      if (__optional_isset.get(__MYINTFIELD16_ISSET_ID)) {
        result.setMyIntField16(this.myIntField16);
      }
      if (__optional_isset.get(__MYINTFIELD17_ISSET_ID)) {
        result.setMyIntField17(this.myIntField17);
      }
      if (__optional_isset.get(__MYINTFIELD18_ISSET_ID)) {
        result.setMyIntField18(this.myIntField18);
      }
      if (__optional_isset.get(__MYINTFIELD19_ISSET_ID)) {
        result.setMyIntField19(this.myIntField19);
      }
      if (__optional_isset.get(__MYINTFIELD20_ISSET_ID)) {
        result.setMyIntField20(this.myIntField20);
      }
      if (__optional_isset.get(__MYDOUBLEFIELD21_ISSET_ID)) {
        result.setMyDoubleField21(this.myDoubleField21);
      }
      if (__optional_isset.get(__MYDOUBLEFIELD22_ISSET_ID)) {
        result.setMyDoubleField22(this.myDoubleField22);
      }
      if (__optional_isset.get(__MYDOUBLEFIELD23_ISSET_ID)) {
        result.setMyDoubleField23(this.myDoubleField23);
      }
      if (__optional_isset.get(__MYDOUBLEFIELD24_ISSET_ID)) {
        result.setMyDoubleField24(this.myDoubleField24);
      }
      if (__optional_isset.get(__MYDOUBLEFIELD25_ISSET_ID)) {
        result.setMyDoubleField25(this.myDoubleField25);
      }
      if (__optional_isset.get(__MYDOUBLEFIELD26_ISSET_ID)) {
        result.setMyDoubleField26(this.myDoubleField26);
      }
      if (__optional_isset.get(__MYDOUBLEFIELD27_ISSET_ID)) {
        result.setMyDoubleField27(this.myDoubleField27);
      }
      if (__optional_isset.get(__MYDOUBLEFIELD28_ISSET_ID)) {
        result.setMyDoubleField28(this.myDoubleField28);
      }
      if (__optional_isset.get(__MYDOUBLEFIELD29_ISSET_ID)) {
        result.setMyDoubleField29(this.myDoubleField29);
      }
      if (__optional_isset.get(__MYDOUBLEFIELD30_ISSET_ID)) {
        result.setMyDoubleField30(this.myDoubleField30);
      }
      return result;
    }
  }

  public static Builder builder() {
    return new Builder();
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public MyNomralStruct(MyNomralStruct other) {
    __isset_bit_vector.clear();
    __isset_bit_vector.or(other.__isset_bit_vector);
    if (other.isSetMsg1()) {
      this.msg1 = TBaseHelper.deepCopy(other.msg1);
    }
    if (other.isSetMsg2()) {
      this.msg2 = TBaseHelper.deepCopy(other.msg2);
    }
    if (other.isSetMsg3()) {
      this.msg3 = TBaseHelper.deepCopy(other.msg3);
    }
    if (other.isSetMsg4()) {
      this.msg4 = TBaseHelper.deepCopy(other.msg4);
    }
    if (other.isSetMsg5()) {
      this.msg5 = TBaseHelper.deepCopy(other.msg5);
    }
    if (other.isSetMsg6()) {
      this.msg6 = TBaseHelper.deepCopy(other.msg6);
    }
    if (other.isSetMsg7()) {
      this.msg7 = TBaseHelper.deepCopy(other.msg7);
    }
    if (other.isSetMsg8()) {
      this.msg8 = TBaseHelper.deepCopy(other.msg8);
    }
    if (other.isSetMsg9()) {
      this.msg9 = TBaseHelper.deepCopy(other.msg9);
    }
    this.myIntField10 = TBaseHelper.deepCopy(other.myIntField10);
    this.myIntField11 = TBaseHelper.deepCopy(other.myIntField11);
    this.myIntField12 = TBaseHelper.deepCopy(other.myIntField12);
    this.myIntField13 = TBaseHelper.deepCopy(other.myIntField13);
    this.myIntField14 = TBaseHelper.deepCopy(other.myIntField14);
    this.myIntField15 = TBaseHelper.deepCopy(other.myIntField15);
    this.myIntField16 = TBaseHelper.deepCopy(other.myIntField16);
    this.myIntField17 = TBaseHelper.deepCopy(other.myIntField17);
    this.myIntField18 = TBaseHelper.deepCopy(other.myIntField18);
    this.myIntField19 = TBaseHelper.deepCopy(other.myIntField19);
    this.myIntField20 = TBaseHelper.deepCopy(other.myIntField20);
    this.myDoubleField21 = TBaseHelper.deepCopy(other.myDoubleField21);
    this.myDoubleField22 = TBaseHelper.deepCopy(other.myDoubleField22);
    this.myDoubleField23 = TBaseHelper.deepCopy(other.myDoubleField23);
    this.myDoubleField24 = TBaseHelper.deepCopy(other.myDoubleField24);
    this.myDoubleField25 = TBaseHelper.deepCopy(other.myDoubleField25);
    this.myDoubleField26 = TBaseHelper.deepCopy(other.myDoubleField26);
    this.myDoubleField27 = TBaseHelper.deepCopy(other.myDoubleField27);
    this.myDoubleField28 = TBaseHelper.deepCopy(other.myDoubleField28);
    this.myDoubleField29 = TBaseHelper.deepCopy(other.myDoubleField29);
    this.myDoubleField30 = TBaseHelper.deepCopy(other.myDoubleField30);
  }

  public MyNomralStruct deepCopy() {
    return new MyNomralStruct(this);
  }

  public String getMsg1() {
    return this.msg1;
  }

  public MyNomralStruct setMsg1(String msg1) {
    this.msg1 = msg1;
    return this;
  }

  public void unsetMsg1() {
    this.msg1 = null;
  }

  // Returns true if field msg1 is set (has been assigned a value) and false otherwise
  public boolean isSetMsg1() {
    return this.msg1 != null;
  }

  public void setMsg1IsSet(boolean __value) {
    if (!__value) {
      this.msg1 = null;
    }
  }

  public String getMsg2() {
    return this.msg2;
  }

  public MyNomralStruct setMsg2(String msg2) {
    this.msg2 = msg2;
    return this;
  }

  public void unsetMsg2() {
    this.msg2 = null;
  }

  // Returns true if field msg2 is set (has been assigned a value) and false otherwise
  public boolean isSetMsg2() {
    return this.msg2 != null;
  }

  public void setMsg2IsSet(boolean __value) {
    if (!__value) {
      this.msg2 = null;
    }
  }

  public String getMsg3() {
    return this.msg3;
  }

  public MyNomralStruct setMsg3(String msg3) {
    this.msg3 = msg3;
    return this;
  }

  public void unsetMsg3() {
    this.msg3 = null;
  }

  // Returns true if field msg3 is set (has been assigned a value) and false otherwise
  public boolean isSetMsg3() {
    return this.msg3 != null;
  }

  public void setMsg3IsSet(boolean __value) {
    if (!__value) {
      this.msg3 = null;
    }
  }

  public String getMsg4() {
    return this.msg4;
  }

  public MyNomralStruct setMsg4(String msg4) {
    this.msg4 = msg4;
    return this;
  }

  public void unsetMsg4() {
    this.msg4 = null;
  }

  // Returns true if field msg4 is set (has been assigned a value) and false otherwise
  public boolean isSetMsg4() {
    return this.msg4 != null;
  }

  public void setMsg4IsSet(boolean __value) {
    if (!__value) {
      this.msg4 = null;
    }
  }

  public String getMsg5() {
    return this.msg5;
  }

  public MyNomralStruct setMsg5(String msg5) {
    this.msg5 = msg5;
    return this;
  }

  public void unsetMsg5() {
    this.msg5 = null;
  }

  // Returns true if field msg5 is set (has been assigned a value) and false otherwise
  public boolean isSetMsg5() {
    return this.msg5 != null;
  }

  public void setMsg5IsSet(boolean __value) {
    if (!__value) {
      this.msg5 = null;
    }
  }

  public String getMsg6() {
    return this.msg6;
  }

  public MyNomralStruct setMsg6(String msg6) {
    this.msg6 = msg6;
    return this;
  }

  public void unsetMsg6() {
    this.msg6 = null;
  }

  // Returns true if field msg6 is set (has been assigned a value) and false otherwise
  public boolean isSetMsg6() {
    return this.msg6 != null;
  }

  public void setMsg6IsSet(boolean __value) {
    if (!__value) {
      this.msg6 = null;
    }
  }

  public String getMsg7() {
    return this.msg7;
  }

  public MyNomralStruct setMsg7(String msg7) {
    this.msg7 = msg7;
    return this;
  }

  public void unsetMsg7() {
    this.msg7 = null;
  }

  // Returns true if field msg7 is set (has been assigned a value) and false otherwise
  public boolean isSetMsg7() {
    return this.msg7 != null;
  }

  public void setMsg7IsSet(boolean __value) {
    if (!__value) {
      this.msg7 = null;
    }
  }

  public String getMsg8() {
    return this.msg8;
  }

  public MyNomralStruct setMsg8(String msg8) {
    this.msg8 = msg8;
    return this;
  }

  public void unsetMsg8() {
    this.msg8 = null;
  }

  // Returns true if field msg8 is set (has been assigned a value) and false otherwise
  public boolean isSetMsg8() {
    return this.msg8 != null;
  }

  public void setMsg8IsSet(boolean __value) {
    if (!__value) {
      this.msg8 = null;
    }
  }

  public String getMsg9() {
    return this.msg9;
  }

  public MyNomralStruct setMsg9(String msg9) {
    this.msg9 = msg9;
    return this;
  }

  public void unsetMsg9() {
    this.msg9 = null;
  }

  // Returns true if field msg9 is set (has been assigned a value) and false otherwise
  public boolean isSetMsg9() {
    return this.msg9 != null;
  }

  public void setMsg9IsSet(boolean __value) {
    if (!__value) {
      this.msg9 = null;
    }
  }

  public int getMyIntField10() {
    return this.myIntField10;
  }

  public MyNomralStruct setMyIntField10(int myIntField10) {
    this.myIntField10 = myIntField10;
    setMyIntField10IsSet(true);
    return this;
  }

  public void unsetMyIntField10() {
    __isset_bit_vector.clear(__MYINTFIELD10_ISSET_ID);
  }

  // Returns true if field myIntField10 is set (has been assigned a value) and false otherwise
  public boolean isSetMyIntField10() {
    return __isset_bit_vector.get(__MYINTFIELD10_ISSET_ID);
  }

  public void setMyIntField10IsSet(boolean __value) {
    __isset_bit_vector.set(__MYINTFIELD10_ISSET_ID, __value);
  }

  public int getMyIntField11() {
    return this.myIntField11;
  }

  public MyNomralStruct setMyIntField11(int myIntField11) {
    this.myIntField11 = myIntField11;
    setMyIntField11IsSet(true);
    return this;
  }

  public void unsetMyIntField11() {
    __isset_bit_vector.clear(__MYINTFIELD11_ISSET_ID);
  }

  // Returns true if field myIntField11 is set (has been assigned a value) and false otherwise
  public boolean isSetMyIntField11() {
    return __isset_bit_vector.get(__MYINTFIELD11_ISSET_ID);
  }

  public void setMyIntField11IsSet(boolean __value) {
    __isset_bit_vector.set(__MYINTFIELD11_ISSET_ID, __value);
  }

  public int getMyIntField12() {
    return this.myIntField12;
  }

  public MyNomralStruct setMyIntField12(int myIntField12) {
    this.myIntField12 = myIntField12;
    setMyIntField12IsSet(true);
    return this;
  }

  public void unsetMyIntField12() {
    __isset_bit_vector.clear(__MYINTFIELD12_ISSET_ID);
  }

  // Returns true if field myIntField12 is set (has been assigned a value) and false otherwise
  public boolean isSetMyIntField12() {
    return __isset_bit_vector.get(__MYINTFIELD12_ISSET_ID);
  }

  public void setMyIntField12IsSet(boolean __value) {
    __isset_bit_vector.set(__MYINTFIELD12_ISSET_ID, __value);
  }

  public int getMyIntField13() {
    return this.myIntField13;
  }

  public MyNomralStruct setMyIntField13(int myIntField13) {
    this.myIntField13 = myIntField13;
    setMyIntField13IsSet(true);
    return this;
  }

  public void unsetMyIntField13() {
    __isset_bit_vector.clear(__MYINTFIELD13_ISSET_ID);
  }

  // Returns true if field myIntField13 is set (has been assigned a value) and false otherwise
  public boolean isSetMyIntField13() {
    return __isset_bit_vector.get(__MYINTFIELD13_ISSET_ID);
  }

  public void setMyIntField13IsSet(boolean __value) {
    __isset_bit_vector.set(__MYINTFIELD13_ISSET_ID, __value);
  }

  public int getMyIntField14() {
    return this.myIntField14;
  }

  public MyNomralStruct setMyIntField14(int myIntField14) {
    this.myIntField14 = myIntField14;
    setMyIntField14IsSet(true);
    return this;
  }

  public void unsetMyIntField14() {
    __isset_bit_vector.clear(__MYINTFIELD14_ISSET_ID);
  }

  // Returns true if field myIntField14 is set (has been assigned a value) and false otherwise
  public boolean isSetMyIntField14() {
    return __isset_bit_vector.get(__MYINTFIELD14_ISSET_ID);
  }

  public void setMyIntField14IsSet(boolean __value) {
    __isset_bit_vector.set(__MYINTFIELD14_ISSET_ID, __value);
  }

  public int getMyIntField15() {
    return this.myIntField15;
  }

  public MyNomralStruct setMyIntField15(int myIntField15) {
    this.myIntField15 = myIntField15;
    setMyIntField15IsSet(true);
    return this;
  }

  public void unsetMyIntField15() {
    __isset_bit_vector.clear(__MYINTFIELD15_ISSET_ID);
  }

  // Returns true if field myIntField15 is set (has been assigned a value) and false otherwise
  public boolean isSetMyIntField15() {
    return __isset_bit_vector.get(__MYINTFIELD15_ISSET_ID);
  }

  public void setMyIntField15IsSet(boolean __value) {
    __isset_bit_vector.set(__MYINTFIELD15_ISSET_ID, __value);
  }

  public int getMyIntField16() {
    return this.myIntField16;
  }

  public MyNomralStruct setMyIntField16(int myIntField16) {
    this.myIntField16 = myIntField16;
    setMyIntField16IsSet(true);
    return this;
  }

  public void unsetMyIntField16() {
    __isset_bit_vector.clear(__MYINTFIELD16_ISSET_ID);
  }

  // Returns true if field myIntField16 is set (has been assigned a value) and false otherwise
  public boolean isSetMyIntField16() {
    return __isset_bit_vector.get(__MYINTFIELD16_ISSET_ID);
  }

  public void setMyIntField16IsSet(boolean __value) {
    __isset_bit_vector.set(__MYINTFIELD16_ISSET_ID, __value);
  }

  public int getMyIntField17() {
    return this.myIntField17;
  }

  public MyNomralStruct setMyIntField17(int myIntField17) {
    this.myIntField17 = myIntField17;
    setMyIntField17IsSet(true);
    return this;
  }

  public void unsetMyIntField17() {
    __isset_bit_vector.clear(__MYINTFIELD17_ISSET_ID);
  }

  // Returns true if field myIntField17 is set (has been assigned a value) and false otherwise
  public boolean isSetMyIntField17() {
    return __isset_bit_vector.get(__MYINTFIELD17_ISSET_ID);
  }

  public void setMyIntField17IsSet(boolean __value) {
    __isset_bit_vector.set(__MYINTFIELD17_ISSET_ID, __value);
  }

  public int getMyIntField18() {
    return this.myIntField18;
  }

  public MyNomralStruct setMyIntField18(int myIntField18) {
    this.myIntField18 = myIntField18;
    setMyIntField18IsSet(true);
    return this;
  }

  public void unsetMyIntField18() {
    __isset_bit_vector.clear(__MYINTFIELD18_ISSET_ID);
  }

  // Returns true if field myIntField18 is set (has been assigned a value) and false otherwise
  public boolean isSetMyIntField18() {
    return __isset_bit_vector.get(__MYINTFIELD18_ISSET_ID);
  }

  public void setMyIntField18IsSet(boolean __value) {
    __isset_bit_vector.set(__MYINTFIELD18_ISSET_ID, __value);
  }

  public int getMyIntField19() {
    return this.myIntField19;
  }

  public MyNomralStruct setMyIntField19(int myIntField19) {
    this.myIntField19 = myIntField19;
    setMyIntField19IsSet(true);
    return this;
  }

  public void unsetMyIntField19() {
    __isset_bit_vector.clear(__MYINTFIELD19_ISSET_ID);
  }

  // Returns true if field myIntField19 is set (has been assigned a value) and false otherwise
  public boolean isSetMyIntField19() {
    return __isset_bit_vector.get(__MYINTFIELD19_ISSET_ID);
  }

  public void setMyIntField19IsSet(boolean __value) {
    __isset_bit_vector.set(__MYINTFIELD19_ISSET_ID, __value);
  }

  public int getMyIntField20() {
    return this.myIntField20;
  }

  public MyNomralStruct setMyIntField20(int myIntField20) {
    this.myIntField20 = myIntField20;
    setMyIntField20IsSet(true);
    return this;
  }

  public void unsetMyIntField20() {
    __isset_bit_vector.clear(__MYINTFIELD20_ISSET_ID);
  }

  // Returns true if field myIntField20 is set (has been assigned a value) and false otherwise
  public boolean isSetMyIntField20() {
    return __isset_bit_vector.get(__MYINTFIELD20_ISSET_ID);
  }

  public void setMyIntField20IsSet(boolean __value) {
    __isset_bit_vector.set(__MYINTFIELD20_ISSET_ID, __value);
  }

  public double getMyDoubleField21() {
    return this.myDoubleField21;
  }

  public MyNomralStruct setMyDoubleField21(double myDoubleField21) {
    this.myDoubleField21 = myDoubleField21;
    setMyDoubleField21IsSet(true);
    return this;
  }

  public void unsetMyDoubleField21() {
    __isset_bit_vector.clear(__MYDOUBLEFIELD21_ISSET_ID);
  }

  // Returns true if field myDoubleField21 is set (has been assigned a value) and false otherwise
  public boolean isSetMyDoubleField21() {
    return __isset_bit_vector.get(__MYDOUBLEFIELD21_ISSET_ID);
  }

  public void setMyDoubleField21IsSet(boolean __value) {
    __isset_bit_vector.set(__MYDOUBLEFIELD21_ISSET_ID, __value);
  }

  public double getMyDoubleField22() {
    return this.myDoubleField22;
  }

  public MyNomralStruct setMyDoubleField22(double myDoubleField22) {
    this.myDoubleField22 = myDoubleField22;
    setMyDoubleField22IsSet(true);
    return this;
  }

  public void unsetMyDoubleField22() {
    __isset_bit_vector.clear(__MYDOUBLEFIELD22_ISSET_ID);
  }

  // Returns true if field myDoubleField22 is set (has been assigned a value) and false otherwise
  public boolean isSetMyDoubleField22() {
    return __isset_bit_vector.get(__MYDOUBLEFIELD22_ISSET_ID);
  }

  public void setMyDoubleField22IsSet(boolean __value) {
    __isset_bit_vector.set(__MYDOUBLEFIELD22_ISSET_ID, __value);
  }

  public double getMyDoubleField23() {
    return this.myDoubleField23;
  }

  public MyNomralStruct setMyDoubleField23(double myDoubleField23) {
    this.myDoubleField23 = myDoubleField23;
    setMyDoubleField23IsSet(true);
    return this;
  }

  public void unsetMyDoubleField23() {
    __isset_bit_vector.clear(__MYDOUBLEFIELD23_ISSET_ID);
  }

  // Returns true if field myDoubleField23 is set (has been assigned a value) and false otherwise
  public boolean isSetMyDoubleField23() {
    return __isset_bit_vector.get(__MYDOUBLEFIELD23_ISSET_ID);
  }

  public void setMyDoubleField23IsSet(boolean __value) {
    __isset_bit_vector.set(__MYDOUBLEFIELD23_ISSET_ID, __value);
  }

  public double getMyDoubleField24() {
    return this.myDoubleField24;
  }

  public MyNomralStruct setMyDoubleField24(double myDoubleField24) {
    this.myDoubleField24 = myDoubleField24;
    setMyDoubleField24IsSet(true);
    return this;
  }

  public void unsetMyDoubleField24() {
    __isset_bit_vector.clear(__MYDOUBLEFIELD24_ISSET_ID);
  }

  // Returns true if field myDoubleField24 is set (has been assigned a value) and false otherwise
  public boolean isSetMyDoubleField24() {
    return __isset_bit_vector.get(__MYDOUBLEFIELD24_ISSET_ID);
  }

  public void setMyDoubleField24IsSet(boolean __value) {
    __isset_bit_vector.set(__MYDOUBLEFIELD24_ISSET_ID, __value);
  }

  public double getMyDoubleField25() {
    return this.myDoubleField25;
  }

  public MyNomralStruct setMyDoubleField25(double myDoubleField25) {
    this.myDoubleField25 = myDoubleField25;
    setMyDoubleField25IsSet(true);
    return this;
  }

  public void unsetMyDoubleField25() {
    __isset_bit_vector.clear(__MYDOUBLEFIELD25_ISSET_ID);
  }

  // Returns true if field myDoubleField25 is set (has been assigned a value) and false otherwise
  public boolean isSetMyDoubleField25() {
    return __isset_bit_vector.get(__MYDOUBLEFIELD25_ISSET_ID);
  }

  public void setMyDoubleField25IsSet(boolean __value) {
    __isset_bit_vector.set(__MYDOUBLEFIELD25_ISSET_ID, __value);
  }

  public double getMyDoubleField26() {
    return this.myDoubleField26;
  }

  public MyNomralStruct setMyDoubleField26(double myDoubleField26) {
    this.myDoubleField26 = myDoubleField26;
    setMyDoubleField26IsSet(true);
    return this;
  }

  public void unsetMyDoubleField26() {
    __isset_bit_vector.clear(__MYDOUBLEFIELD26_ISSET_ID);
  }

  // Returns true if field myDoubleField26 is set (has been assigned a value) and false otherwise
  public boolean isSetMyDoubleField26() {
    return __isset_bit_vector.get(__MYDOUBLEFIELD26_ISSET_ID);
  }

  public void setMyDoubleField26IsSet(boolean __value) {
    __isset_bit_vector.set(__MYDOUBLEFIELD26_ISSET_ID, __value);
  }

  public double getMyDoubleField27() {
    return this.myDoubleField27;
  }

  public MyNomralStruct setMyDoubleField27(double myDoubleField27) {
    this.myDoubleField27 = myDoubleField27;
    setMyDoubleField27IsSet(true);
    return this;
  }

  public void unsetMyDoubleField27() {
    __isset_bit_vector.clear(__MYDOUBLEFIELD27_ISSET_ID);
  }

  // Returns true if field myDoubleField27 is set (has been assigned a value) and false otherwise
  public boolean isSetMyDoubleField27() {
    return __isset_bit_vector.get(__MYDOUBLEFIELD27_ISSET_ID);
  }

  public void setMyDoubleField27IsSet(boolean __value) {
    __isset_bit_vector.set(__MYDOUBLEFIELD27_ISSET_ID, __value);
  }

  public double getMyDoubleField28() {
    return this.myDoubleField28;
  }

  public MyNomralStruct setMyDoubleField28(double myDoubleField28) {
    this.myDoubleField28 = myDoubleField28;
    setMyDoubleField28IsSet(true);
    return this;
  }

  public void unsetMyDoubleField28() {
    __isset_bit_vector.clear(__MYDOUBLEFIELD28_ISSET_ID);
  }

  // Returns true if field myDoubleField28 is set (has been assigned a value) and false otherwise
  public boolean isSetMyDoubleField28() {
    return __isset_bit_vector.get(__MYDOUBLEFIELD28_ISSET_ID);
  }

  public void setMyDoubleField28IsSet(boolean __value) {
    __isset_bit_vector.set(__MYDOUBLEFIELD28_ISSET_ID, __value);
  }

  public double getMyDoubleField29() {
    return this.myDoubleField29;
  }

  public MyNomralStruct setMyDoubleField29(double myDoubleField29) {
    this.myDoubleField29 = myDoubleField29;
    setMyDoubleField29IsSet(true);
    return this;
  }

  public void unsetMyDoubleField29() {
    __isset_bit_vector.clear(__MYDOUBLEFIELD29_ISSET_ID);
  }

  // Returns true if field myDoubleField29 is set (has been assigned a value) and false otherwise
  public boolean isSetMyDoubleField29() {
    return __isset_bit_vector.get(__MYDOUBLEFIELD29_ISSET_ID);
  }

  public void setMyDoubleField29IsSet(boolean __value) {
    __isset_bit_vector.set(__MYDOUBLEFIELD29_ISSET_ID, __value);
  }

  public double getMyDoubleField30() {
    return this.myDoubleField30;
  }

  public MyNomralStruct setMyDoubleField30(double myDoubleField30) {
    this.myDoubleField30 = myDoubleField30;
    setMyDoubleField30IsSet(true);
    return this;
  }

  public void unsetMyDoubleField30() {
    __isset_bit_vector.clear(__MYDOUBLEFIELD30_ISSET_ID);
  }

  // Returns true if field myDoubleField30 is set (has been assigned a value) and false otherwise
  public boolean isSetMyDoubleField30() {
    return __isset_bit_vector.get(__MYDOUBLEFIELD30_ISSET_ID);
  }

  public void setMyDoubleField30IsSet(boolean __value) {
    __isset_bit_vector.set(__MYDOUBLEFIELD30_ISSET_ID, __value);
  }

  public void setFieldValue(int fieldID, Object __value) {
    switch (fieldID) {
    case MSG1:
      if (__value == null) {
        unsetMsg1();
      } else {
        setMsg1((String)__value);
      }
      break;

    case MSG2:
      if (__value == null) {
        unsetMsg2();
      } else {
        setMsg2((String)__value);
      }
      break;

    case MSG3:
      if (__value == null) {
        unsetMsg3();
      } else {
        setMsg3((String)__value);
      }
      break;

    case MSG4:
      if (__value == null) {
        unsetMsg4();
      } else {
        setMsg4((String)__value);
      }
      break;

    case MSG5:
      if (__value == null) {
        unsetMsg5();
      } else {
        setMsg5((String)__value);
      }
      break;

    case MSG6:
      if (__value == null) {
        unsetMsg6();
      } else {
        setMsg6((String)__value);
      }
      break;

    case MSG7:
      if (__value == null) {
        unsetMsg7();
      } else {
        setMsg7((String)__value);
      }
      break;

    case MSG8:
      if (__value == null) {
        unsetMsg8();
      } else {
        setMsg8((String)__value);
      }
      break;

    case MSG9:
      if (__value == null) {
        unsetMsg9();
      } else {
        setMsg9((String)__value);
      }
      break;

    case MYINTFIELD10:
      if (__value == null) {
        unsetMyIntField10();
      } else {
        setMyIntField10((Integer)__value);
      }
      break;

    case MYINTFIELD11:
      if (__value == null) {
        unsetMyIntField11();
      } else {
        setMyIntField11((Integer)__value);
      }
      break;

    case MYINTFIELD12:
      if (__value == null) {
        unsetMyIntField12();
      } else {
        setMyIntField12((Integer)__value);
      }
      break;

    case MYINTFIELD13:
      if (__value == null) {
        unsetMyIntField13();
      } else {
        setMyIntField13((Integer)__value);
      }
      break;

    case MYINTFIELD14:
      if (__value == null) {
        unsetMyIntField14();
      } else {
        setMyIntField14((Integer)__value);
      }
      break;

    case MYINTFIELD15:
      if (__value == null) {
        unsetMyIntField15();
      } else {
        setMyIntField15((Integer)__value);
      }
      break;

    case MYINTFIELD16:
      if (__value == null) {
        unsetMyIntField16();
      } else {
        setMyIntField16((Integer)__value);
      }
      break;

    case MYINTFIELD17:
      if (__value == null) {
        unsetMyIntField17();
      } else {
        setMyIntField17((Integer)__value);
      }
      break;

    case MYINTFIELD18:
      if (__value == null) {
        unsetMyIntField18();
      } else {
        setMyIntField18((Integer)__value);
      }
      break;

    case MYINTFIELD19:
      if (__value == null) {
        unsetMyIntField19();
      } else {
        setMyIntField19((Integer)__value);
      }
      break;

    case MYINTFIELD20:
      if (__value == null) {
        unsetMyIntField20();
      } else {
        setMyIntField20((Integer)__value);
      }
      break;

    case MYDOUBLEFIELD21:
      if (__value == null) {
        unsetMyDoubleField21();
      } else {
        setMyDoubleField21((Double)__value);
      }
      break;

    case MYDOUBLEFIELD22:
      if (__value == null) {
        unsetMyDoubleField22();
      } else {
        setMyDoubleField22((Double)__value);
      }
      break;

    case MYDOUBLEFIELD23:
      if (__value == null) {
        unsetMyDoubleField23();
      } else {
        setMyDoubleField23((Double)__value);
      }
      break;

    case MYDOUBLEFIELD24:
      if (__value == null) {
        unsetMyDoubleField24();
      } else {
        setMyDoubleField24((Double)__value);
      }
      break;

    case MYDOUBLEFIELD25:
      if (__value == null) {
        unsetMyDoubleField25();
      } else {
        setMyDoubleField25((Double)__value);
      }
      break;

    case MYDOUBLEFIELD26:
      if (__value == null) {
        unsetMyDoubleField26();
      } else {
        setMyDoubleField26((Double)__value);
      }
      break;

    case MYDOUBLEFIELD27:
      if (__value == null) {
        unsetMyDoubleField27();
      } else {
        setMyDoubleField27((Double)__value);
      }
      break;

    case MYDOUBLEFIELD28:
      if (__value == null) {
        unsetMyDoubleField28();
      } else {
        setMyDoubleField28((Double)__value);
      }
      break;

    case MYDOUBLEFIELD29:
      if (__value == null) {
        unsetMyDoubleField29();
      } else {
        setMyDoubleField29((Double)__value);
      }
      break;

    case MYDOUBLEFIELD30:
      if (__value == null) {
        unsetMyDoubleField30();
      } else {
        setMyDoubleField30((Double)__value);
      }
      break;

    default:
      throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
    }
  }

  public Object getFieldValue(int fieldID) {
    switch (fieldID) {
    case MSG1:
      return getMsg1();

    case MSG2:
      return getMsg2();

    case MSG3:
      return getMsg3();

    case MSG4:
      return getMsg4();

    case MSG5:
      return getMsg5();

    case MSG6:
      return getMsg6();

    case MSG7:
      return getMsg7();

    case MSG8:
      return getMsg8();

    case MSG9:
      return getMsg9();

    case MYINTFIELD10:
      return new Integer(getMyIntField10());

    case MYINTFIELD11:
      return new Integer(getMyIntField11());

    case MYINTFIELD12:
      return new Integer(getMyIntField12());

    case MYINTFIELD13:
      return new Integer(getMyIntField13());

    case MYINTFIELD14:
      return new Integer(getMyIntField14());

    case MYINTFIELD15:
      return new Integer(getMyIntField15());

    case MYINTFIELD16:
      return new Integer(getMyIntField16());

    case MYINTFIELD17:
      return new Integer(getMyIntField17());

    case MYINTFIELD18:
      return new Integer(getMyIntField18());

    case MYINTFIELD19:
      return new Integer(getMyIntField19());

    case MYINTFIELD20:
      return new Integer(getMyIntField20());

    case MYDOUBLEFIELD21:
      return new Double(getMyDoubleField21());

    case MYDOUBLEFIELD22:
      return new Double(getMyDoubleField22());

    case MYDOUBLEFIELD23:
      return new Double(getMyDoubleField23());

    case MYDOUBLEFIELD24:
      return new Double(getMyDoubleField24());

    case MYDOUBLEFIELD25:
      return new Double(getMyDoubleField25());

    case MYDOUBLEFIELD26:
      return new Double(getMyDoubleField26());

    case MYDOUBLEFIELD27:
      return new Double(getMyDoubleField27());

    case MYDOUBLEFIELD28:
      return new Double(getMyDoubleField28());

    case MYDOUBLEFIELD29:
      return new Double(getMyDoubleField29());

    case MYDOUBLEFIELD30:
      return new Double(getMyDoubleField30());

    default:
      throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
    }
  }

  @Override
  public boolean equals(Object _that) {
    if (_that == null)
      return false;
    if (this == _that)
      return true;
    if (!(_that instanceof MyNomralStruct))
      return false;
    MyNomralStruct that = (MyNomralStruct)_that;

    if (!TBaseHelper.equalsNobinary(this.isSetMsg1(), that.isSetMsg1(), this.msg1, that.msg1)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.isSetMsg2(), that.isSetMsg2(), this.msg2, that.msg2)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.isSetMsg3(), that.isSetMsg3(), this.msg3, that.msg3)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.isSetMsg4(), that.isSetMsg4(), this.msg4, that.msg4)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.isSetMsg5(), that.isSetMsg5(), this.msg5, that.msg5)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.isSetMsg6(), that.isSetMsg6(), this.msg6, that.msg6)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.isSetMsg7(), that.isSetMsg7(), this.msg7, that.msg7)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.isSetMsg8(), that.isSetMsg8(), this.msg8, that.msg8)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.isSetMsg9(), that.isSetMsg9(), this.msg9, that.msg9)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myIntField10, that.myIntField10)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myIntField11, that.myIntField11)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myIntField12, that.myIntField12)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myIntField13, that.myIntField13)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myIntField14, that.myIntField14)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myIntField15, that.myIntField15)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myIntField16, that.myIntField16)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myIntField17, that.myIntField17)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myIntField18, that.myIntField18)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myIntField19, that.myIntField19)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myIntField20, that.myIntField20)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myDoubleField21, that.myDoubleField21)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myDoubleField22, that.myDoubleField22)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myDoubleField23, that.myDoubleField23)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myDoubleField24, that.myDoubleField24)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myDoubleField25, that.myDoubleField25)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myDoubleField26, that.myDoubleField26)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myDoubleField27, that.myDoubleField27)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myDoubleField28, that.myDoubleField28)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myDoubleField29, that.myDoubleField29)) { return false; }

    if (!TBaseHelper.equalsNobinary(this.myDoubleField30, that.myDoubleField30)) { return false; }

    return true;
  }

  @Override
  public int hashCode() {
    return Arrays.deepHashCode(new Object[] {msg1, msg2, msg3, msg4, msg5, msg6, msg7, msg8, msg9, myIntField10, myIntField11, myIntField12, myIntField13, myIntField14, myIntField15, myIntField16, myIntField17, myIntField18, myIntField19, myIntField20, myDoubleField21, myDoubleField22, myDoubleField23, myDoubleField24, myDoubleField25, myDoubleField26, myDoubleField27, myDoubleField28, myDoubleField29, myDoubleField30});
  }

  @Override
  public int compareTo(MyNomralStruct other) {
    if (other == null) {
      // See java.lang.Comparable docs
      throw new NullPointerException();
    }

    if (other == this) {
      return 0;
    }
    int lastComparison = 0;

    lastComparison = Boolean.valueOf(isSetMsg1()).compareTo(other.isSetMsg1());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(msg1, other.msg1);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMsg2()).compareTo(other.isSetMsg2());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(msg2, other.msg2);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMsg3()).compareTo(other.isSetMsg3());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(msg3, other.msg3);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMsg4()).compareTo(other.isSetMsg4());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(msg4, other.msg4);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMsg5()).compareTo(other.isSetMsg5());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(msg5, other.msg5);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMsg6()).compareTo(other.isSetMsg6());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(msg6, other.msg6);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMsg7()).compareTo(other.isSetMsg7());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(msg7, other.msg7);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMsg8()).compareTo(other.isSetMsg8());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(msg8, other.msg8);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMsg9()).compareTo(other.isSetMsg9());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(msg9, other.msg9);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyIntField10()).compareTo(other.isSetMyIntField10());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myIntField10, other.myIntField10);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyIntField11()).compareTo(other.isSetMyIntField11());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myIntField11, other.myIntField11);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyIntField12()).compareTo(other.isSetMyIntField12());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myIntField12, other.myIntField12);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyIntField13()).compareTo(other.isSetMyIntField13());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myIntField13, other.myIntField13);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyIntField14()).compareTo(other.isSetMyIntField14());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myIntField14, other.myIntField14);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyIntField15()).compareTo(other.isSetMyIntField15());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myIntField15, other.myIntField15);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyIntField16()).compareTo(other.isSetMyIntField16());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myIntField16, other.myIntField16);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyIntField17()).compareTo(other.isSetMyIntField17());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myIntField17, other.myIntField17);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyIntField18()).compareTo(other.isSetMyIntField18());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myIntField18, other.myIntField18);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyIntField19()).compareTo(other.isSetMyIntField19());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myIntField19, other.myIntField19);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyIntField20()).compareTo(other.isSetMyIntField20());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myIntField20, other.myIntField20);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyDoubleField21()).compareTo(other.isSetMyDoubleField21());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myDoubleField21, other.myDoubleField21);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyDoubleField22()).compareTo(other.isSetMyDoubleField22());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myDoubleField22, other.myDoubleField22);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyDoubleField23()).compareTo(other.isSetMyDoubleField23());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myDoubleField23, other.myDoubleField23);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyDoubleField24()).compareTo(other.isSetMyDoubleField24());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myDoubleField24, other.myDoubleField24);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyDoubleField25()).compareTo(other.isSetMyDoubleField25());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myDoubleField25, other.myDoubleField25);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyDoubleField26()).compareTo(other.isSetMyDoubleField26());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myDoubleField26, other.myDoubleField26);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyDoubleField27()).compareTo(other.isSetMyDoubleField27());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myDoubleField27, other.myDoubleField27);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyDoubleField28()).compareTo(other.isSetMyDoubleField28());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myDoubleField28, other.myDoubleField28);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyDoubleField29()).compareTo(other.isSetMyDoubleField29());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myDoubleField29, other.myDoubleField29);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    lastComparison = Boolean.valueOf(isSetMyDoubleField30()).compareTo(other.isSetMyDoubleField30());
    if (lastComparison != 0) {
      return lastComparison;
    }
    lastComparison = TBaseHelper.compareTo(myDoubleField30, other.myDoubleField30);
    if (lastComparison != 0) { 
      return lastComparison;
    }
    return 0;
  }

  public void read(TProtocol iprot) throws TException {
    TField __field;
    iprot.readStructBegin(metaDataMap);
    while (true)
    {
      __field = iprot.readFieldBegin();
      if (__field.type == TType.STOP) {
        break;
      }
      switch (__field.id)
      {
        case MSG1:
          if (__field.type == TType.STRING) {
            this.msg1 = iprot.readString();
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MSG2:
          if (__field.type == TType.STRING) {
            this.msg2 = iprot.readString();
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MSG3:
          if (__field.type == TType.STRING) {
            this.msg3 = iprot.readString();
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MSG4:
          if (__field.type == TType.STRING) {
            this.msg4 = iprot.readString();
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MSG5:
          if (__field.type == TType.STRING) {
            this.msg5 = iprot.readString();
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MSG6:
          if (__field.type == TType.STRING) {
            this.msg6 = iprot.readString();
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MSG7:
          if (__field.type == TType.STRING) {
            this.msg7 = iprot.readString();
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MSG8:
          if (__field.type == TType.STRING) {
            this.msg8 = iprot.readString();
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MSG9:
          if (__field.type == TType.STRING) {
            this.msg9 = iprot.readString();
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYINTFIELD10:
          if (__field.type == TType.I32) {
            this.myIntField10 = iprot.readI32();
            setMyIntField10IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYINTFIELD11:
          if (__field.type == TType.I32) {
            this.myIntField11 = iprot.readI32();
            setMyIntField11IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYINTFIELD12:
          if (__field.type == TType.I32) {
            this.myIntField12 = iprot.readI32();
            setMyIntField12IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYINTFIELD13:
          if (__field.type == TType.I32) {
            this.myIntField13 = iprot.readI32();
            setMyIntField13IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYINTFIELD14:
          if (__field.type == TType.I32) {
            this.myIntField14 = iprot.readI32();
            setMyIntField14IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYINTFIELD15:
          if (__field.type == TType.I32) {
            this.myIntField15 = iprot.readI32();
            setMyIntField15IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYINTFIELD16:
          if (__field.type == TType.I32) {
            this.myIntField16 = iprot.readI32();
            setMyIntField16IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYINTFIELD17:
          if (__field.type == TType.I32) {
            this.myIntField17 = iprot.readI32();
            setMyIntField17IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYINTFIELD18:
          if (__field.type == TType.I32) {
            this.myIntField18 = iprot.readI32();
            setMyIntField18IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYINTFIELD19:
          if (__field.type == TType.I32) {
            this.myIntField19 = iprot.readI32();
            setMyIntField19IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYINTFIELD20:
          if (__field.type == TType.I32) {
            this.myIntField20 = iprot.readI32();
            setMyIntField20IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYDOUBLEFIELD21:
          if (__field.type == TType.DOUBLE) {
            this.myDoubleField21 = iprot.readDouble();
            setMyDoubleField21IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYDOUBLEFIELD22:
          if (__field.type == TType.DOUBLE) {
            this.myDoubleField22 = iprot.readDouble();
            setMyDoubleField22IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYDOUBLEFIELD23:
          if (__field.type == TType.DOUBLE) {
            this.myDoubleField23 = iprot.readDouble();
            setMyDoubleField23IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYDOUBLEFIELD24:
          if (__field.type == TType.DOUBLE) {
            this.myDoubleField24 = iprot.readDouble();
            setMyDoubleField24IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYDOUBLEFIELD25:
          if (__field.type == TType.DOUBLE) {
            this.myDoubleField25 = iprot.readDouble();
            setMyDoubleField25IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYDOUBLEFIELD26:
          if (__field.type == TType.DOUBLE) {
            this.myDoubleField26 = iprot.readDouble();
            setMyDoubleField26IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYDOUBLEFIELD27:
          if (__field.type == TType.DOUBLE) {
            this.myDoubleField27 = iprot.readDouble();
            setMyDoubleField27IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYDOUBLEFIELD28:
          if (__field.type == TType.DOUBLE) {
            this.myDoubleField28 = iprot.readDouble();
            setMyDoubleField28IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYDOUBLEFIELD29:
          if (__field.type == TType.DOUBLE) {
            this.myDoubleField29 = iprot.readDouble();
            setMyDoubleField29IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        case MYDOUBLEFIELD30:
          if (__field.type == TType.DOUBLE) {
            this.myDoubleField30 = iprot.readDouble();
            setMyDoubleField30IsSet(true);
          } else {
            TProtocolUtil.skip(iprot, __field.type);
          }
          break;
        default:
          TProtocolUtil.skip(iprot, __field.type);
          break;
      }
      iprot.readFieldEnd();
    }
    iprot.readStructEnd();


    // check for required fields of primitive type, which can't be checked in the validate method
    validate();
  }

  public void write(TProtocol oprot) throws TException {
    validate();

    oprot.writeStructBegin(STRUCT_DESC);
    if (this.msg1 != null) {
      oprot.writeFieldBegin(MSG1_FIELD_DESC);
      oprot.writeString(this.msg1);
      oprot.writeFieldEnd();
    }
    if (this.msg2 != null) {
      oprot.writeFieldBegin(MSG2_FIELD_DESC);
      oprot.writeString(this.msg2);
      oprot.writeFieldEnd();
    }
    if (this.msg3 != null) {
      oprot.writeFieldBegin(MSG3_FIELD_DESC);
      oprot.writeString(this.msg3);
      oprot.writeFieldEnd();
    }
    if (this.msg4 != null) {
      oprot.writeFieldBegin(MSG4_FIELD_DESC);
      oprot.writeString(this.msg4);
      oprot.writeFieldEnd();
    }
    if (this.msg5 != null) {
      oprot.writeFieldBegin(MSG5_FIELD_DESC);
      oprot.writeString(this.msg5);
      oprot.writeFieldEnd();
    }
    if (this.msg6 != null) {
      oprot.writeFieldBegin(MSG6_FIELD_DESC);
      oprot.writeString(this.msg6);
      oprot.writeFieldEnd();
    }
    if (this.msg7 != null) {
      oprot.writeFieldBegin(MSG7_FIELD_DESC);
      oprot.writeString(this.msg7);
      oprot.writeFieldEnd();
    }
    if (this.msg8 != null) {
      oprot.writeFieldBegin(MSG8_FIELD_DESC);
      oprot.writeString(this.msg8);
      oprot.writeFieldEnd();
    }
    if (this.msg9 != null) {
      oprot.writeFieldBegin(MSG9_FIELD_DESC);
      oprot.writeString(this.msg9);
      oprot.writeFieldEnd();
    }
    oprot.writeFieldBegin(MY_INT_FIELD10_FIELD_DESC);
    oprot.writeI32(this.myIntField10);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MY_INT_FIELD11_FIELD_DESC);
    oprot.writeI32(this.myIntField11);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MY_INT_FIELD12_FIELD_DESC);
    oprot.writeI32(this.myIntField12);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MY_INT_FIELD13_FIELD_DESC);
    oprot.writeI32(this.myIntField13);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MY_INT_FIELD14_FIELD_DESC);
    oprot.writeI32(this.myIntField14);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MY_INT_FIELD15_FIELD_DESC);
    oprot.writeI32(this.myIntField15);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MY_INT_FIELD16_FIELD_DESC);
    oprot.writeI32(this.myIntField16);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MY_INT_FIELD17_FIELD_DESC);
    oprot.writeI32(this.myIntField17);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MY_INT_FIELD18_FIELD_DESC);
    oprot.writeI32(this.myIntField18);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MY_INT_FIELD19_FIELD_DESC);
    oprot.writeI32(this.myIntField19);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MY_INT_FIELD20_FIELD_DESC);
    oprot.writeI32(this.myIntField20);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MY_DOUBLE_FIELD21_FIELD_DESC);
    oprot.writeDouble(this.myDoubleField21);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MY_DOUBLE_FIELD22_FIELD_DESC);
    oprot.writeDouble(this.myDoubleField22);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MY_DOUBLE_FIELD23_FIELD_DESC);
    oprot.writeDouble(this.myDoubleField23);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MY_DOUBLE_FIELD24_FIELD_DESC);
    oprot.writeDouble(this.myDoubleField24);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MY_DOUBLE_FIELD25_FIELD_DESC);
    oprot.writeDouble(this.myDoubleField25);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MY_DOUBLE_FIELD26_FIELD_DESC);
    oprot.writeDouble(this.myDoubleField26);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MY_DOUBLE_FIELD27_FIELD_DESC);
    oprot.writeDouble(this.myDoubleField27);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MY_DOUBLE_FIELD28_FIELD_DESC);
    oprot.writeDouble(this.myDoubleField28);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MY_DOUBLE_FIELD29_FIELD_DESC);
    oprot.writeDouble(this.myDoubleField29);
    oprot.writeFieldEnd();
    oprot.writeFieldBegin(MY_DOUBLE_FIELD30_FIELD_DESC);
    oprot.writeDouble(this.myDoubleField30);
    oprot.writeFieldEnd();
    oprot.writeFieldStop();
    oprot.writeStructEnd();
  }

  @Override
  public String toString() {
    return toString(1, true);
  }

  @Override
  public String toString(int indent, boolean prettyPrint) {
    String indentStr = prettyPrint ? TBaseHelper.getIndentedString(indent) : "";
    String newLine = prettyPrint ? "\n" : "";
    String space = prettyPrint ? " " : "";
    StringBuilder sb = new StringBuilder("MyNomralStruct");
    sb.append(space);
    sb.append("(");
    sb.append(newLine);
    boolean first = true;

    sb.append(indentStr);
    sb.append("msg1");
    sb.append(space);
    sb.append(":").append(space);
    if (this.getMsg1() == null) {
      sb.append("null");
    } else {
      sb.append(TBaseHelper.toString(this.getMsg1(), indent + 1, prettyPrint));
    }
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("msg2");
    sb.append(space);
    sb.append(":").append(space);
    if (this.getMsg2() == null) {
      sb.append("null");
    } else {
      sb.append(TBaseHelper.toString(this.getMsg2(), indent + 1, prettyPrint));
    }
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("msg3");
    sb.append(space);
    sb.append(":").append(space);
    if (this.getMsg3() == null) {
      sb.append("null");
    } else {
      sb.append(TBaseHelper.toString(this.getMsg3(), indent + 1, prettyPrint));
    }
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("msg4");
    sb.append(space);
    sb.append(":").append(space);
    if (this.getMsg4() == null) {
      sb.append("null");
    } else {
      sb.append(TBaseHelper.toString(this.getMsg4(), indent + 1, prettyPrint));
    }
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("msg5");
    sb.append(space);
    sb.append(":").append(space);
    if (this.getMsg5() == null) {
      sb.append("null");
    } else {
      sb.append(TBaseHelper.toString(this.getMsg5(), indent + 1, prettyPrint));
    }
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("msg6");
    sb.append(space);
    sb.append(":").append(space);
    if (this.getMsg6() == null) {
      sb.append("null");
    } else {
      sb.append(TBaseHelper.toString(this.getMsg6(), indent + 1, prettyPrint));
    }
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("msg7");
    sb.append(space);
    sb.append(":").append(space);
    if (this.getMsg7() == null) {
      sb.append("null");
    } else {
      sb.append(TBaseHelper.toString(this.getMsg7(), indent + 1, prettyPrint));
    }
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("msg8");
    sb.append(space);
    sb.append(":").append(space);
    if (this.getMsg8() == null) {
      sb.append("null");
    } else {
      sb.append(TBaseHelper.toString(this.getMsg8(), indent + 1, prettyPrint));
    }
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("msg9");
    sb.append(space);
    sb.append(":").append(space);
    if (this.getMsg9() == null) {
      sb.append("null");
    } else {
      sb.append(TBaseHelper.toString(this.getMsg9(), indent + 1, prettyPrint));
    }
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myIntField10");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyIntField10(), indent + 1, prettyPrint));
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myIntField11");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyIntField11(), indent + 1, prettyPrint));
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myIntField12");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyIntField12(), indent + 1, prettyPrint));
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myIntField13");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyIntField13(), indent + 1, prettyPrint));
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myIntField14");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyIntField14(), indent + 1, prettyPrint));
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myIntField15");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyIntField15(), indent + 1, prettyPrint));
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myIntField16");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyIntField16(), indent + 1, prettyPrint));
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myIntField17");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyIntField17(), indent + 1, prettyPrint));
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myIntField18");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyIntField18(), indent + 1, prettyPrint));
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myIntField19");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyIntField19(), indent + 1, prettyPrint));
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myIntField20");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyIntField20(), indent + 1, prettyPrint));
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myDoubleField21");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyDoubleField21(), indent + 1, prettyPrint));
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myDoubleField22");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyDoubleField22(), indent + 1, prettyPrint));
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myDoubleField23");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyDoubleField23(), indent + 1, prettyPrint));
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myDoubleField24");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyDoubleField24(), indent + 1, prettyPrint));
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myDoubleField25");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyDoubleField25(), indent + 1, prettyPrint));
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myDoubleField26");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyDoubleField26(), indent + 1, prettyPrint));
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myDoubleField27");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyDoubleField27(), indent + 1, prettyPrint));
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myDoubleField28");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyDoubleField28(), indent + 1, prettyPrint));
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myDoubleField29");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyDoubleField29(), indent + 1, prettyPrint));
    first = false;
    if (!first) sb.append("," + newLine);
    sb.append(indentStr);
    sb.append("myDoubleField30");
    sb.append(space);
    sb.append(":").append(space);
    sb.append(TBaseHelper.toString(this.getMyDoubleField30(), indent + 1, prettyPrint));
    first = false;
    sb.append(newLine + TBaseHelper.reduceIndent(indentStr));
    sb.append(")");
    return sb.toString();
  }

  public void validate() throws TException {
    // check for required fields
  }

}

