@Override
      public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol iprot, block_args struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
        org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TABLE_IDENTIFIER
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT) {
                struct.tableIdentifier = new org.apache.amoro.api.TableIdentifier();
                struct.tableIdentifier.read(iprot);
                struct.setTableIdentifierIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // OPERATIONS
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.LIST) {
                {
                  org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TList _list160 = iprot.readListBegin();
                  struct.operations = new java.util.ArrayList<BlockableOperation>(_list160.size);
                  @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable BlockableOperation _elem161;
                  for (int _i162 = 0; _i162 < _list160.size; ++_i162)
                  {
                    _elem161 = org.apache.amoro.api.BlockableOperation.findByValue(iprot.readI32());
                    if (_elem161 != null)
                    {
                      struct.operations.add(_elem161);
                    }
                  }
                  iprot.readListEnd();
                }
                struct.setOperationsIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // PROPERTIES
              if (schemeField.type == org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.MAP) {
                {
                  org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TMap _map163 = iprot.readMapBegin();
                  struct.properties = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map163.size);
                  @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String _key164;
                  @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable java.lang.String _val165;
                  for (int _i166 = 0; _i166 < _map163.size; ++_i166)
                  {
                    _key164 = iprot.readString();
                    _val165 = iprot.readString();
                    struct.properties.put(_key164, _val165);
                  }
                  iprot.readMapEnd();
                }
                struct.setPropertiesIsSet(true);
              } else { 
                org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }
Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise
amoro-common/src/main/gen-java/org/apache/amoro/api/AmoroTableMetastore.java