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

        if (obj instanceof RestoreTableRequest == false)
            return false;
        RestoreTableRequest other = (RestoreTableRequest) obj;
        if (other.getSourceKeyspaceName() == null ^ this.getSourceKeyspaceName() == null)
            return false;
        if (other.getSourceKeyspaceName() != null && other.getSourceKeyspaceName().equals(this.getSourceKeyspaceName()) == false)
            return false;
        if (other.getSourceTableName() == null ^ this.getSourceTableName() == null)
            return false;
        if (other.getSourceTableName() != null && other.getSourceTableName().equals(this.getSourceTableName()) == false)
            return false;
        if (other.getTargetKeyspaceName() == null ^ this.getTargetKeyspaceName() == null)
            return false;
        if (other.getTargetKeyspaceName() != null && other.getTargetKeyspaceName().equals(this.getTargetKeyspaceName()) == false)
            return false;
        if (other.getTargetTableName() == null ^ this.getTargetTableName() == null)
            return false;
        if (other.getTargetTableName() != null && other.getTargetTableName().equals(this.getTargetTableName()) == false)
            return false;
        if (other.getRestoreTimestamp() == null ^ this.getRestoreTimestamp() == null)
            return false;
        if (other.getRestoreTimestamp() != null && other.getRestoreTimestamp().equals(this.getRestoreTimestamp()) == false)
            return false;
        if (other.getCapacitySpecificationOverride() == null ^ this.getCapacitySpecificationOverride() == null)
            return false;
        if (other.getCapacitySpecificationOverride() != null
                && other.getCapacitySpecificationOverride().equals(this.getCapacitySpecificationOverride()) == false)
            return false;
        if (other.getEncryptionSpecificationOverride() == null ^ this.getEncryptionSpecificationOverride() == null)
            return false;
        if (other.getEncryptionSpecificationOverride() != null
                && other.getEncryptionSpecificationOverride().equals(this.getEncryptionSpecificationOverride()) == false)
            return false;
        if (other.getPointInTimeRecoveryOverride() == null ^ this.getPointInTimeRecoveryOverride() == null)
            return false;
        if (other.getPointInTimeRecoveryOverride() != null && other.getPointInTimeRecoveryOverride().equals(this.getPointInTimeRecoveryOverride()) == false)
            return false;
        if (other.getTagsOverride() == null ^ this.getTagsOverride() == null)
            return false;
        if (other.getTagsOverride() != null && other.getTagsOverride().equals(this.getTagsOverride()) == false)
            return false;
        if (other.getAutoScalingSpecification() == null ^ this.getAutoScalingSpecification() == null)
            return false;
        if (other.getAutoScalingSpecification() != null && other.getAutoScalingSpecification().equals(this.getAutoScalingSpecification()) == false)
            return false;
        if (other.getReplicaSpecifications() == null ^ this.getReplicaSpecifications() == null)
            return false;
        if (other.getReplicaSpecifications() != null && other.getReplicaSpecifications().equals(this.getReplicaSpecifications()) == 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-keyspaces/src/main/java/com/amazonaws/services/keyspaces/model/RestoreTableRequest.java