@Override
  protected java.lang.Object tupleSchemeReadValue(org.apache.thrift.protocol.TProtocol iprot, short fieldID) throws org.apache.thrift.TException {
    _Fields setField = _Fields.findByThriftId(fieldID);
    if (setField != null) {
      switch (setField) {
        case INT_VALUE:
          java.lang.Integer intValue;
          intValue = iprot.readI32();
          return intValue;
        case LONG_VALUE:
          java.lang.Long longValue;
          longValue = iprot.readI64();
          return longValue;
        case STRING_VALUE:
          java.lang.String stringValue;
          stringValue = iprot.readString();
          return stringValue;
        case DOUBLE_VALUE:
          java.lang.Double doubleValue;
          doubleValue = iprot.readDouble();
          return doubleValue;
        case FLAG:
          java.lang.Boolean flag;
          flag = iprot.readBool();
          return flag;
        case L_STRING:
          java.util.List<java.lang.String> lString;
          {
            org.apache.thrift.protocol.TList _list9 = iprot.readListBegin();
            lString = new java.util.ArrayList<java.lang.String>(_list9.size);
            @org.apache.thrift.annotation.Nullable java.lang.String _elem10;
            for (int _i11 = 0; _i11 < _list9.size; ++_i11)
            {
              _elem10 = iprot.readString();
              lString.add(_elem10);
            }
            iprot.readListEnd();
          }
          return lString;
        case UNION_MSTRING_STRING:
          java.util.Map<java.lang.String,java.lang.String> unionMStringString;
          {
            org.apache.thrift.protocol.TMap _map12 = iprot.readMapBegin();
            unionMStringString = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map12.size);
            @org.apache.thrift.annotation.Nullable java.lang.String _key13;
            @org.apache.thrift.annotation.Nullable java.lang.String _val14;
            for (int _i15 = 0; _i15 < _map12.size; ++_i15)
            {
              _key13 = iprot.readString();
              _val14 = iprot.readString();
              unionMStringString.put(_key13, _val14);
            }
            iprot.readMapEnd();
          }
          return unionMStringString;
        default:
          throw new java.lang.IllegalStateException("setField wasn't null, but didn't match any of the case statements!");
      }
    } else {
      throw new org.apache.thrift.protocol.TProtocolException("Couldn't find a field with field id " + fieldID);
    }
  }
Find the _Fields constant that matches name, or null if its not found.
serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/PropValueUnion.java