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

        if (obj instanceof StreamConfiguration == false)
            return false;
        StreamConfiguration other = (StreamConfiguration) obj;
        if (other.getAutomaticTerminationMode() == null ^ this.getAutomaticTerminationMode() == null)
            return false;
        if (other.getAutomaticTerminationMode() != null && other.getAutomaticTerminationMode().equals(this.getAutomaticTerminationMode()) == false)
            return false;
        if (other.getClipboardMode() == null ^ this.getClipboardMode() == null)
            return false;
        if (other.getClipboardMode() != null && other.getClipboardMode().equals(this.getClipboardMode()) == false)
            return false;
        if (other.getEc2InstanceTypes() == null ^ this.getEc2InstanceTypes() == null)
            return false;
        if (other.getEc2InstanceTypes() != null && other.getEc2InstanceTypes().equals(this.getEc2InstanceTypes()) == false)
            return false;
        if (other.getMaxSessionLengthInMinutes() == null ^ this.getMaxSessionLengthInMinutes() == null)
            return false;
        if (other.getMaxSessionLengthInMinutes() != null && other.getMaxSessionLengthInMinutes().equals(this.getMaxSessionLengthInMinutes()) == false)
            return false;
        if (other.getMaxStoppedSessionLengthInMinutes() == null ^ this.getMaxStoppedSessionLengthInMinutes() == null)
            return false;
        if (other.getMaxStoppedSessionLengthInMinutes() != null
                && other.getMaxStoppedSessionLengthInMinutes().equals(this.getMaxStoppedSessionLengthInMinutes()) == false)
            return false;
        if (other.getSessionBackup() == null ^ this.getSessionBackup() == null)
            return false;
        if (other.getSessionBackup() != null && other.getSessionBackup().equals(this.getSessionBackup()) == false)
            return false;
        if (other.getSessionPersistenceMode() == null ^ this.getSessionPersistenceMode() == null)
            return false;
        if (other.getSessionPersistenceMode() != null && other.getSessionPersistenceMode().equals(this.getSessionPersistenceMode()) == false)
            return false;
        if (other.getSessionStorage() == null ^ this.getSessionStorage() == null)
            return false;
        if (other.getSessionStorage() != null && other.getSessionStorage().equals(this.getSessionStorage()) == false)
            return false;
        if (other.getStreamingImageIds() == null ^ this.getStreamingImageIds() == null)
            return false;
        if (other.getStreamingImageIds() != null && other.getStreamingImageIds().equals(this.getStreamingImageIds()) == false)
            return false;
        if (other.getVolumeConfiguration() == null ^ this.getVolumeConfiguration() == null)
            return false;
        if (other.getVolumeConfiguration() != null && other.getVolumeConfiguration().equals(this.getVolumeConfiguration()) == 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-nimblestudio/src/main/java/com/amazonaws/services/nimblestudio/model/StreamConfiguration.java