public synchronized boolean equals(Object obj) {
        if (!(obj instanceof BatchSaveResult)) return false;
        BatchSaveResult other = (BatchSaveResult) obj;
        if (obj == null) return false;
        if (this == obj) return true;
        if (__equalsCalc != null) {
            return (__equalsCalc == obj);
        }
        __equalsCalc = obj;
        boolean _equals;
        _equals = super.equals(obj) && 
            this.batchId == other.getBatchId() &&
            ((this.estimatedCompletion==null && other.getEstimatedCompletion()==null) || 
             (this.estimatedCompletion!=null &&
              this.estimatedCompletion.equals(other.getEstimatedCompletion())));
        __equalsCalc = null;
        return _equals;
    }