@Override
  public int compareTo(DadoTransporteThrift other) {
    if (!getClass().equals(other.getClass())) {
      return getClass().getName().compareTo(other.getClass().getName());
    }

    int lastComparison = 0;

    lastComparison =
        Boolean.valueOf(isSetUuidDadoSerializado()).compareTo(other.isSetUuidDadoSerializado());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetUuidDadoSerializado()) {
      lastComparison =
          org.apache.thrift.TBaseHelper.compareTo(
              this.uuidDadoSerializado, other.uuidDadoSerializado);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison =
        Boolean.valueOf(isSetTipoDadoSerializado()).compareTo(other.isSetTipoDadoSerializado());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTipoDadoSerializado()) {
      lastComparison =
          org.apache.thrift.TBaseHelper.compareTo(
              this.tipoDadoSerializado, other.tipoDadoSerializado);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison =
        Boolean.valueOf(isSetCnesDadoSerializado()).compareTo(other.isSetCnesDadoSerializado());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetCnesDadoSerializado()) {
      lastComparison =
          org.apache.thrift.TBaseHelper.compareTo(
              this.cnesDadoSerializado, other.cnesDadoSerializado);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetCodIbge()).compareTo(other.isSetCodIbge());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetCodIbge()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.codIbge, other.codIbge);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison =
        Boolean.valueOf(isSetIneDadoSerializado()).compareTo(other.isSetIneDadoSerializado());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetIneDadoSerializado()) {
      lastComparison =
          org.apache.thrift.TBaseHelper.compareTo(
              this.ineDadoSerializado, other.ineDadoSerializado);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetNumLote()).compareTo(other.isSetNumLote());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetNumLote()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.numLote, other.numLote);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison =
        Boolean.valueOf(isSetDadoSerializado()).compareTo(other.isSetDadoSerializado());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDadoSerializado()) {
      lastComparison =
          org.apache.thrift.TBaseHelper.compareTo(this.dadoSerializado, other.dadoSerializado);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetRemetente()).compareTo(other.isSetRemetente());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetRemetente()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.remetente, other.remetente);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetOriginadora()).compareTo(other.isSetOriginadora());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetOriginadora()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.originadora, other.originadora);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetVersao()).compareTo(other.isSetVersao());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetVersao()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.versao, other.versao);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    return 0;
  }