@Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;

        if (obj instanceof TaskExecutionResultDetail == false)
            return false;
        TaskExecutionResultDetail other = (TaskExecutionResultDetail) obj;
        if (other.getPrepareDuration() == null ^ this.getPrepareDuration() == null)
            return false;
        if (other.getPrepareDuration() != null && other.getPrepareDuration().equals(this.getPrepareDuration()) == false)
            return false;
        if (other.getPrepareStatus() == null ^ this.getPrepareStatus() == null)
            return false;
        if (other.getPrepareStatus() != null && other.getPrepareStatus().equals(this.getPrepareStatus()) == false)
            return false;
        if (other.getTotalDuration() == null ^ this.getTotalDuration() == null)
            return false;
        if (other.getTotalDuration() != null && other.getTotalDuration().equals(this.getTotalDuration()) == false)
            return false;
        if (other.getTransferDuration() == null ^ this.getTransferDuration() == null)
            return false;
        if (other.getTransferDuration() != null && other.getTransferDuration().equals(this.getTransferDuration()) == false)
            return false;
        if (other.getTransferStatus() == null ^ this.getTransferStatus() == null)
            return false;
        if (other.getTransferStatus() != null && other.getTransferStatus().equals(this.getTransferStatus()) == false)
            return false;
        if (other.getVerifyDuration() == null ^ this.getVerifyDuration() == null)
            return false;
        if (other.getVerifyDuration() != null && other.getVerifyDuration().equals(this.getVerifyDuration()) == false)
            return false;
        if (other.getVerifyStatus() == null ^ this.getVerifyStatus() == null)
            return false;
        if (other.getVerifyStatus() != null && other.getVerifyStatus().equals(this.getVerifyStatus()) == false)
            return false;
        if (other.getErrorCode() == null ^ this.getErrorCode() == null)
            return false;
        if (other.getErrorCode() != null && other.getErrorCode().equals(this.getErrorCode()) == false)
            return false;
        if (other.getErrorDetail() == null ^ this.getErrorDetail() == null)
            return false;
        if (other.getErrorDetail() != null && other.getErrorDetail().equals(this.getErrorDetail()) == false)
            return false;
        return true;
    }
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
redacted from this string using a placeholder value.

@return A string representation of this object.

@see java.lang.Object#toString()
aws-java-sdk-datasync/src/main/java/com/amazonaws/services/datasync/model/TaskExecutionResultDetail.java