@Override
    public void write(org.apache.thrift.protocol.TProtocol prot, MegaStruct struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      java.util.BitSet optionals = new java.util.BitSet();
      if (struct.isSetMy_bool()) {
        optionals.set(0);
      }
      if (struct.isSetMy_byte()) {
        optionals.set(1);
      }
      if (struct.isSetMy_16bit_int()) {
        optionals.set(2);
      }
      if (struct.isSetMy_32bit_int()) {
        optionals.set(3);
      }
      if (struct.isSetMy_64bit_int()) {
        optionals.set(4);
      }
      if (struct.isSetMy_double()) {
        optionals.set(5);
      }
      if (struct.isSetMy_string()) {
        optionals.set(6);
      }
      if (struct.isSetMy_binary()) {
        optionals.set(7);
      }
      if (struct.isSetMy_string_string_map()) {
        optionals.set(8);
      }
      if (struct.isSetMy_string_enum_map()) {
        optionals.set(9);
      }
      if (struct.isSetMy_enum_string_map()) {
        optionals.set(10);
      }
      if (struct.isSetMy_enum_struct_map()) {
        optionals.set(11);
      }
      if (struct.isSetMy_enum_stringlist_map()) {
        optionals.set(12);
      }
      if (struct.isSetMy_enum_structlist_map()) {
        optionals.set(13);
      }
      if (struct.isSetMy_stringlist()) {
        optionals.set(14);
      }
      if (struct.isSetMy_structlist()) {
        optionals.set(15);
      }
      if (struct.isSetMy_enumlist()) {
        optionals.set(16);
      }
      if (struct.isSetMy_stringset()) {
        optionals.set(17);
      }
      if (struct.isSetMy_enumset()) {
        optionals.set(18);
      }
      if (struct.isSetMy_structset()) {
        optionals.set(19);
      }
      oprot.writeBitSet(optionals, 20);
      if (struct.isSetMy_bool()) {
        oprot.writeBool(struct.my_bool);
      }
      if (struct.isSetMy_byte()) {
        oprot.writeByte(struct.my_byte);
      }
      if (struct.isSetMy_16bit_int()) {
        oprot.writeI16(struct.my_16bit_int);
      }
      if (struct.isSetMy_32bit_int()) {
        oprot.writeI32(struct.my_32bit_int);
      }
      if (struct.isSetMy_64bit_int()) {
        oprot.writeI64(struct.my_64bit_int);
      }
      if (struct.isSetMy_double()) {
        oprot.writeDouble(struct.my_double);
      }
      if (struct.isSetMy_string()) {
        oprot.writeString(struct.my_string);
      }
      if (struct.isSetMy_binary()) {
        oprot.writeBinary(struct.my_binary);
      }
      if (struct.isSetMy_string_string_map()) {
        {
          oprot.writeI32(struct.my_string_string_map.size());
          for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter62 : struct.my_string_string_map.entrySet())
          {
            oprot.writeString(_iter62.getKey());
            oprot.writeString(_iter62.getValue());
          }
        }
      }
      if (struct.isSetMy_string_enum_map()) {
        {
          oprot.writeI32(struct.my_string_enum_map.size());
          for (java.util.Map.Entry<java.lang.String, MyEnum> _iter63 : struct.my_string_enum_map.entrySet())
          {
            oprot.writeString(_iter63.getKey());
            oprot.writeI32(_iter63.getValue().getValue());
          }
        }
      }
      if (struct.isSetMy_enum_string_map()) {
        {
          oprot.writeI32(struct.my_enum_string_map.size());
          for (java.util.Map.Entry<MyEnum, java.lang.String> _iter64 : struct.my_enum_string_map.entrySet())
          {
            oprot.writeI32(_iter64.getKey().getValue());
            oprot.writeString(_iter64.getValue());
          }
        }
      }
      if (struct.isSetMy_enum_struct_map()) {
        {
          oprot.writeI32(struct.my_enum_struct_map.size());
          for (java.util.Map.Entry<MyEnum, MiniStruct> _iter65 : struct.my_enum_struct_map.entrySet())
          {
            oprot.writeI32(_iter65.getKey().getValue());
            _iter65.getValue().write(oprot);
          }
        }
      }
      if (struct.isSetMy_enum_stringlist_map()) {
        {
          oprot.writeI32(struct.my_enum_stringlist_map.size());
          for (java.util.Map.Entry<MyEnum, java.util.List<java.lang.String>> _iter66 : struct.my_enum_stringlist_map.entrySet())
          {
            oprot.writeI32(_iter66.getKey().getValue());
            {
              oprot.writeI32(_iter66.getValue().size());
              for (java.lang.String _iter67 : _iter66.getValue())
              {
                oprot.writeString(_iter67);
              }
            }
          }
        }
      }
      if (struct.isSetMy_enum_structlist_map()) {
        {
          oprot.writeI32(struct.my_enum_structlist_map.size());
          for (java.util.Map.Entry<MyEnum, java.util.List<MiniStruct>> _iter68 : struct.my_enum_structlist_map.entrySet())
          {
            oprot.writeI32(_iter68.getKey().getValue());
            {
              oprot.writeI32(_iter68.getValue().size());
              for (MiniStruct _iter69 : _iter68.getValue())
              {
                _iter69.write(oprot);
              }
            }
          }
        }
      }
      if (struct.isSetMy_stringlist()) {
        {
          oprot.writeI32(struct.my_stringlist.size());
          for (java.lang.String _iter70 : struct.my_stringlist)
          {
            oprot.writeString(_iter70);
          }
        }
      }
      if (struct.isSetMy_structlist()) {
        {
          oprot.writeI32(struct.my_structlist.size());
          for (MiniStruct _iter71 : struct.my_structlist)
          {
            _iter71.write(oprot);
          }
        }
      }
      if (struct.isSetMy_enumlist()) {
        {
          oprot.writeI32(struct.my_enumlist.size());
          for (MyEnum _iter72 : struct.my_enumlist)
          {
            oprot.writeI32(_iter72.getValue());
          }
        }
      }
      if (struct.isSetMy_stringset()) {
        {
          oprot.writeI32(struct.my_stringset.size());
          for (java.lang.String _iter73 : struct.my_stringset)
          {
            oprot.writeString(_iter73);
          }
        }
      }
      if (struct.isSetMy_enumset()) {
        {
          oprot.writeI32(struct.my_enumset.size());
          for (MyEnum _iter74 : struct.my_enumset)
          {
            oprot.writeI32(_iter74.getValue());
          }
        }
      }
      if (struct.isSetMy_structset()) {
        {
          oprot.writeI32(struct.my_structset.size());
          for (MiniStruct _iter75 : struct.my_structset)
          {
            _iter75.write(oprot);
          }
        }
      }
    }
Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise
serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/MegaStruct.java