@Override
    public void read(org.apache.thrift.protocol.TProtocol prot, Complex struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      java.util.BitSet incoming = iprot.readBitSet(10);
      if (incoming.get(0)) {
        struct.aint = iprot.readI32();
        struct.setAintIsSet(true);
      }
      if (incoming.get(1)) {
        struct.aString = iprot.readString();
        struct.setAStringIsSet(true);
      }
      if (incoming.get(2)) {
        {
          org.apache.thrift.protocol.TList _list57 = iprot.readListBegin(org.apache.thrift.protocol.TType.I32);
          struct.lint = new java.util.ArrayList<java.lang.Integer>(_list57.size);
          int _elem58;
          for (int _i59 = 0; _i59 < _list57.size; ++_i59)
          {
            _elem58 = iprot.readI32();
            struct.lint.add(_elem58);
          }
        }
        struct.setLintIsSet(true);
      }
      if (incoming.get(3)) {
        {
          org.apache.thrift.protocol.TList _list60 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
          struct.lString = new java.util.ArrayList<java.lang.String>(_list60.size);
          @org.apache.thrift.annotation.Nullable java.lang.String _elem61;
          for (int _i62 = 0; _i62 < _list60.size; ++_i62)
          {
            _elem61 = iprot.readString();
            struct.lString.add(_elem61);
          }
        }
        struct.setLStringIsSet(true);
      }
      if (incoming.get(4)) {
        {
          org.apache.thrift.protocol.TList _list63 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
          struct.lintString = new java.util.ArrayList<IntString>(_list63.size);
          @org.apache.thrift.annotation.Nullable IntString _elem64;
          for (int _i65 = 0; _i65 < _list63.size; ++_i65)
          {
            _elem64 = new IntString();
            _elem64.read(iprot);
            struct.lintString.add(_elem64);
          }
        }
        struct.setLintStringIsSet(true);
      }
      if (incoming.get(5)) {
        {
          org.apache.thrift.protocol.TMap _map66 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING); 
          struct.mStringString = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map66.size);
          @org.apache.thrift.annotation.Nullable java.lang.String _key67;
          @org.apache.thrift.annotation.Nullable java.lang.String _val68;
          for (int _i69 = 0; _i69 < _map66.size; ++_i69)
          {
            _key67 = iprot.readString();
            _val68 = iprot.readString();
            struct.mStringString.put(_key67, _val68);
          }
        }
        struct.setMStringStringIsSet(true);
      }
      if (incoming.get(6)) {
        {
          org.apache.thrift.protocol.TMap _map70 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP); 
          struct.attributes = new java.util.HashMap<java.lang.String,java.util.Map<java.lang.String,java.util.Map<java.lang.String,PropValueUnion>>>(2*_map70.size);
          @org.apache.thrift.annotation.Nullable java.lang.String _key71;
          @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.util.Map<java.lang.String,PropValueUnion>> _val72;
          for (int _i73 = 0; _i73 < _map70.size; ++_i73)
          {
            _key71 = iprot.readString();
            {
              org.apache.thrift.protocol.TMap _map74 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP); 
              _val72 = new java.util.HashMap<java.lang.String,java.util.Map<java.lang.String,PropValueUnion>>(2*_map74.size);
              @org.apache.thrift.annotation.Nullable java.lang.String _key75;
              @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,PropValueUnion> _val76;
              for (int _i77 = 0; _i77 < _map74.size; ++_i77)
              {
                _key75 = iprot.readString();
                {
                  org.apache.thrift.protocol.TMap _map78 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT); 
                  _val76 = new java.util.HashMap<java.lang.String,PropValueUnion>(2*_map78.size);
                  @org.apache.thrift.annotation.Nullable java.lang.String _key79;
                  @org.apache.thrift.annotation.Nullable PropValueUnion _val80;
                  for (int _i81 = 0; _i81 < _map78.size; ++_i81)
                  {
                    _key79 = iprot.readString();
                    _val80 = new PropValueUnion();
                    _val80.read(iprot);
                    _val76.put(_key79, _val80);
                  }
                }
                _val72.put(_key75, _val76);
              }
            }
            struct.attributes.put(_key71, _val72);
          }
        }
        struct.setAttributesIsSet(true);
      }
      if (incoming.get(7)) {
        struct.unionField1 = new PropValueUnion();
        struct.unionField1.read(iprot);
        struct.setUnionField1IsSet(true);
      }
      if (incoming.get(8)) {
        struct.unionField2 = new PropValueUnion();
        struct.unionField2.read(iprot);
        struct.setUnionField2IsSet(true);
      }
      if (incoming.get(9)) {
        struct.unionField3 = new PropValueUnion();
        struct.unionField3.read(iprot);
        struct.setUnionField3IsSet(true);
      }
    }
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/Complex.java