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

        if (obj instanceof CloudWatchLogsLogStream == false)
            return false;
        CloudWatchLogsLogStream other = (CloudWatchLogsLogStream) obj;
        if (other.getLogGroupName() == null ^ this.getLogGroupName() == null)
            return false;
        if (other.getLogGroupName() != null && other.getLogGroupName().equals(this.getLogGroupName()) == false)
            return false;
        if (other.getDatetimeFormat() == null ^ this.getDatetimeFormat() == null)
            return false;
        if (other.getDatetimeFormat() != null && other.getDatetimeFormat().equals(this.getDatetimeFormat()) == false)
            return false;
        if (other.getTimeZone() == null ^ this.getTimeZone() == null)
            return false;
        if (other.getTimeZone() != null && other.getTimeZone().equals(this.getTimeZone()) == false)
            return false;
        if (other.getFile() == null ^ this.getFile() == null)
            return false;
        if (other.getFile() != null && other.getFile().equals(this.getFile()) == false)
            return false;
        if (other.getFileFingerprintLines() == null ^ this.getFileFingerprintLines() == null)
            return false;
        if (other.getFileFingerprintLines() != null && other.getFileFingerprintLines().equals(this.getFileFingerprintLines()) == false)
            return false;
        if (other.getMultiLineStartPattern() == null ^ this.getMultiLineStartPattern() == null)
            return false;
        if (other.getMultiLineStartPattern() != null && other.getMultiLineStartPattern().equals(this.getMultiLineStartPattern()) == false)
            return false;
        if (other.getInitialPosition() == null ^ this.getInitialPosition() == null)
            return false;
        if (other.getInitialPosition() != null && other.getInitialPosition().equals(this.getInitialPosition()) == false)
            return false;
        if (other.getEncoding() == null ^ this.getEncoding() == null)
            return false;
        if (other.getEncoding() != null && other.getEncoding().equals(this.getEncoding()) == false)
            return false;
        if (other.getBufferDuration() == null ^ this.getBufferDuration() == null)
            return false;
        if (other.getBufferDuration() != null && other.getBufferDuration().equals(this.getBufferDuration()) == false)
            return false;
        if (other.getBatchCount() == null ^ this.getBatchCount() == null)
            return false;
        if (other.getBatchCount() != null && other.getBatchCount().equals(this.getBatchCount()) == false)
            return false;
        if (other.getBatchSize() == null ^ this.getBatchSize() == null)
            return false;
        if (other.getBatchSize() != null && other.getBatchSize().equals(this.getBatchSize()) == 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-opsworks/src/main/java/com/amazonaws/services/opsworks/model/CloudWatchLogsLogStream.java