@Override
    public void read(org.apache.thrift.protocol.TProtocol prot, ArrayHeaders struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      java.util.BitSet incoming = iprot.readBitSet(2);
      if (incoming.get(0)) {
        {
          org.apache.thrift.protocol.TList _list10 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
          struct.colHeaders = new java.util.ArrayList<ColHeader>(_list10.size);
          @org.apache.thrift.annotation.Nullable ColHeader _elem11;
          for (int _i12 = 0; _i12 < _list10.size; ++_i12)
          {
            _elem11 = new ColHeader();
            _elem11.read(iprot);
            struct.colHeaders.add(_elem11);
          }
        }
        struct.setColHeadersIsSet(true);
      }
      if (incoming.get(1)) {
        {
          org.apache.thrift.protocol.TList _list13 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
          struct.rowHeaders = new java.util.ArrayList<RowHeader>(_list13.size);
          @org.apache.thrift.annotation.Nullable RowHeader _elem14;
          for (int _i15 = 0; _i15 < _list13.size; ++_i15)
          {
            _elem14 = new RowHeader();
            _elem14.read(iprot);
            struct.rowHeaders.add(_elem14);
          }
        }
        struct.setRowHeadersIsSet(true);
      }
    }
@Override
    public void read(org.apache.thrift.protocol.TProtocol prot, ArrayHeaders struct)