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

        if (obj instanceof ResourceStatistics == false)
            return false;
        ResourceStatistics other = (ResourceStatistics) obj;
        if (other.getTotalBytesClassified() == null ^ this.getTotalBytesClassified() == null)
            return false;
        if (other.getTotalBytesClassified() != null && other.getTotalBytesClassified().equals(this.getTotalBytesClassified()) == false)
            return false;
        if (other.getTotalDetections() == null ^ this.getTotalDetections() == null)
            return false;
        if (other.getTotalDetections() != null && other.getTotalDetections().equals(this.getTotalDetections()) == false)
            return false;
        if (other.getTotalDetectionsSuppressed() == null ^ this.getTotalDetectionsSuppressed() == null)
            return false;
        if (other.getTotalDetectionsSuppressed() != null && other.getTotalDetectionsSuppressed().equals(this.getTotalDetectionsSuppressed()) == false)
            return false;
        if (other.getTotalItemsClassified() == null ^ this.getTotalItemsClassified() == null)
            return false;
        if (other.getTotalItemsClassified() != null && other.getTotalItemsClassified().equals(this.getTotalItemsClassified()) == false)
            return false;
        if (other.getTotalItemsSensitive() == null ^ this.getTotalItemsSensitive() == null)
            return false;
        if (other.getTotalItemsSensitive() != null && other.getTotalItemsSensitive().equals(this.getTotalItemsSensitive()) == false)
            return false;
        if (other.getTotalItemsSkipped() == null ^ this.getTotalItemsSkipped() == null)
            return false;
        if (other.getTotalItemsSkipped() != null && other.getTotalItemsSkipped().equals(this.getTotalItemsSkipped()) == false)
            return false;
        if (other.getTotalItemsSkippedInvalidEncryption() == null ^ this.getTotalItemsSkippedInvalidEncryption() == null)
            return false;
        if (other.getTotalItemsSkippedInvalidEncryption() != null
                && other.getTotalItemsSkippedInvalidEncryption().equals(this.getTotalItemsSkippedInvalidEncryption()) == false)
            return false;
        if (other.getTotalItemsSkippedInvalidKms() == null ^ this.getTotalItemsSkippedInvalidKms() == null)
            return false;
        if (other.getTotalItemsSkippedInvalidKms() != null && other.getTotalItemsSkippedInvalidKms().equals(this.getTotalItemsSkippedInvalidKms()) == false)
            return false;
        if (other.getTotalItemsSkippedPermissionDenied() == null ^ this.getTotalItemsSkippedPermissionDenied() == null)
            return false;
        if (other.getTotalItemsSkippedPermissionDenied() != null
                && other.getTotalItemsSkippedPermissionDenied().equals(this.getTotalItemsSkippedPermissionDenied()) == 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-macie2/src/main/java/com/amazonaws/services/macie2/model/ResourceStatistics.java