public void read(org.apache.thrift.protocol.TProtocol iprot, Complex struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField schemeField;
      iprot.readStructBegin();
      while (true)
      {
        schemeField = iprot.readFieldBegin();
        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (schemeField.id) {
          case 1: // AINT
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.aint = iprot.readI32();
              struct.setAintIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 2: // A_STRING
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.aString = iprot.readString();
              struct.setAStringIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 3: // LINT
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list18 = iprot.readListBegin();
                struct.lint = new java.util.ArrayList<java.lang.Integer>(_list18.size);
                int _elem19;
                for (int _i20 = 0; _i20 < _list18.size; ++_i20)
                {
                  _elem19 = iprot.readI32();
                  struct.lint.add(_elem19);
                }
                iprot.readListEnd();
              }
              struct.setLintIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 4: // L_STRING
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list21 = iprot.readListBegin();
                struct.lString = new java.util.ArrayList<java.lang.String>(_list21.size);
                @org.apache.thrift.annotation.Nullable java.lang.String _elem22;
                for (int _i23 = 0; _i23 < _list21.size; ++_i23)
                {
                  _elem22 = iprot.readString();
                  struct.lString.add(_elem22);
                }
                iprot.readListEnd();
              }
              struct.setLStringIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 5: // LINT_STRING
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list24 = iprot.readListBegin();
                struct.lintString = new java.util.ArrayList<IntString>(_list24.size);
                @org.apache.thrift.annotation.Nullable IntString _elem25;
                for (int _i26 = 0; _i26 < _list24.size; ++_i26)
                {
                  _elem25 = new IntString();
                  _elem25.read(iprot);
                  struct.lintString.add(_elem25);
                }
                iprot.readListEnd();
              }
              struct.setLintStringIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 6: // M_STRING_STRING
            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map27 = iprot.readMapBegin();
                struct.mStringString = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map27.size);
                @org.apache.thrift.annotation.Nullable java.lang.String _key28;
                @org.apache.thrift.annotation.Nullable java.lang.String _val29;
                for (int _i30 = 0; _i30 < _map27.size; ++_i30)
                {
                  _key28 = iprot.readString();
                  _val29 = iprot.readString();
                  struct.mStringString.put(_key28, _val29);
                }
                iprot.readMapEnd();
              }
              struct.setMStringStringIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 7: // ATTRIBUTES
            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map31 = iprot.readMapBegin();
                struct.attributes = new java.util.HashMap<java.lang.String,java.util.Map<java.lang.String,java.util.Map<java.lang.String,PropValueUnion>>>(2*_map31.size);
                @org.apache.thrift.annotation.Nullable java.lang.String _key32;
                @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.util.Map<java.lang.String,PropValueUnion>> _val33;
                for (int _i34 = 0; _i34 < _map31.size; ++_i34)
                {
                  _key32 = iprot.readString();
                  {
                    org.apache.thrift.protocol.TMap _map35 = iprot.readMapBegin();
                    _val33 = new java.util.HashMap<java.lang.String,java.util.Map<java.lang.String,PropValueUnion>>(2*_map35.size);
                    @org.apache.thrift.annotation.Nullable java.lang.String _key36;
                    @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,PropValueUnion> _val37;
                    for (int _i38 = 0; _i38 < _map35.size; ++_i38)
                    {
                      _key36 = iprot.readString();
                      {
                        org.apache.thrift.protocol.TMap _map39 = iprot.readMapBegin();
                        _val37 = new java.util.HashMap<java.lang.String,PropValueUnion>(2*_map39.size);
                        @org.apache.thrift.annotation.Nullable java.lang.String _key40;
                        @org.apache.thrift.annotation.Nullable PropValueUnion _val41;
                        for (int _i42 = 0; _i42 < _map39.size; ++_i42)
                        {
                          _key40 = iprot.readString();
                          _val41 = new PropValueUnion();
                          _val41.read(iprot);
                          _val37.put(_key40, _val41);
                        }
                        iprot.readMapEnd();
                      }
                      _val33.put(_key36, _val37);
                    }
                    iprot.readMapEnd();
                  }
                  struct.attributes.put(_key32, _val33);
                }
                iprot.readMapEnd();
              }
              struct.setAttributesIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 8: // UNION_FIELD1
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.unionField1 = new PropValueUnion();
              struct.unionField1.read(iprot);
              struct.setUnionField1IsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 9: // UNION_FIELD2
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.unionField2 = new PropValueUnion();
              struct.unionField2.read(iprot);
              struct.setUnionField2IsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 10: // UNION_FIELD3
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.unionField3 = new PropValueUnion();
              struct.unionField3.read(iprot);
              struct.setUnionField3IsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      struct.validate();
    }
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