public void read(org.apache.thrift.protocol.TProtocol iprot, TOperationHandle 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: // OPERATION_ID
         if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
           struct.operationId = new THandleIdentifier();
           struct.operationId.read(iprot);
           struct.setOperationIdIsSet(true);
         } else {
           org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
         break;
       case 2: // OPERATION_TYPE
         if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
           struct.operationType = TOperationType.findByValue(iprot.readI32());
           struct.setOperationTypeIsSet(true);
         } else {
           org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
         break;
       case 3: // HAS_RESULT_SET
         if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
           struct.hasResultSet = iprot.readBool();
           struct.setHasResultSetIsSet(true);
         } else {
           org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
         break;
       case 4: // MODIFIED_ROW_COUNT
         if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
           struct.modifiedRowCount = iprot.readDouble();
           struct.setModifiedRowCountIsSet(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();
 }
 @Override
 public void read(org.apache.thrift.protocol.TProtocol prot, TOperationHandle struct)
     throws org.apache.thrift.TException {
   TTupleProtocol iprot = (TTupleProtocol) prot;
   struct.operationId = new THandleIdentifier();
   struct.operationId.read(iprot);
   struct.setOperationIdIsSet(true);
   struct.operationType = TOperationType.findByValue(iprot.readI32());
   struct.setOperationTypeIsSet(true);
   struct.hasResultSet = iprot.readBool();
   struct.setHasResultSetIsSet(true);
   BitSet incoming = iprot.readBitSet(1);
   if (incoming.get(0)) {
     struct.modifiedRowCount = iprot.readDouble();
     struct.setModifiedRowCountIsSet(true);
   }
 }
  @Override
  public int hashCode() {
    HashCodeBuilder builder = new HashCodeBuilder();

    boolean present_operationId = true && (isSetOperationId());
    builder.append(present_operationId);
    if (present_operationId) builder.append(operationId);

    boolean present_operationType = true && (isSetOperationType());
    builder.append(present_operationType);
    if (present_operationType) builder.append(operationType.getValue());

    boolean present_hasResultSet = true;
    builder.append(present_hasResultSet);
    if (present_hasResultSet) builder.append(hasResultSet);

    boolean present_modifiedRowCount = true && (isSetModifiedRowCount());
    builder.append(present_modifiedRowCount);
    if (present_modifiedRowCount) builder.append(modifiedRowCount);

    return builder.toHashCode();
  }