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

        if (obj instanceof ReplicationTaskStats == false)
            return false;
        ReplicationTaskStats other = (ReplicationTaskStats) obj;
        if (other.getFullLoadProgressPercent() == null ^ this.getFullLoadProgressPercent() == null)
            return false;
        if (other.getFullLoadProgressPercent() != null && other.getFullLoadProgressPercent().equals(this.getFullLoadProgressPercent()) == false)
            return false;
        if (other.getElapsedTimeMillis() == null ^ this.getElapsedTimeMillis() == null)
            return false;
        if (other.getElapsedTimeMillis() != null && other.getElapsedTimeMillis().equals(this.getElapsedTimeMillis()) == false)
            return false;
        if (other.getTablesLoaded() == null ^ this.getTablesLoaded() == null)
            return false;
        if (other.getTablesLoaded() != null && other.getTablesLoaded().equals(this.getTablesLoaded()) == false)
            return false;
        if (other.getTablesLoading() == null ^ this.getTablesLoading() == null)
            return false;
        if (other.getTablesLoading() != null && other.getTablesLoading().equals(this.getTablesLoading()) == false)
            return false;
        if (other.getTablesQueued() == null ^ this.getTablesQueued() == null)
            return false;
        if (other.getTablesQueued() != null && other.getTablesQueued().equals(this.getTablesQueued()) == false)
            return false;
        if (other.getTablesErrored() == null ^ this.getTablesErrored() == null)
            return false;
        if (other.getTablesErrored() != null && other.getTablesErrored().equals(this.getTablesErrored()) == false)
            return false;
        if (other.getFreshStartDate() == null ^ this.getFreshStartDate() == null)
            return false;
        if (other.getFreshStartDate() != null && other.getFreshStartDate().equals(this.getFreshStartDate()) == false)
            return false;
        if (other.getStartDate() == null ^ this.getStartDate() == null)
            return false;
        if (other.getStartDate() != null && other.getStartDate().equals(this.getStartDate()) == false)
            return false;
        if (other.getStopDate() == null ^ this.getStopDate() == null)
            return false;
        if (other.getStopDate() != null && other.getStopDate().equals(this.getStopDate()) == false)
            return false;
        if (other.getFullLoadStartDate() == null ^ this.getFullLoadStartDate() == null)
            return false;
        if (other.getFullLoadStartDate() != null && other.getFullLoadStartDate().equals(this.getFullLoadStartDate()) == false)
            return false;
        if (other.getFullLoadFinishDate() == null ^ this.getFullLoadFinishDate() == null)
            return false;
        if (other.getFullLoadFinishDate() != null && other.getFullLoadFinishDate().equals(this.getFullLoadFinishDate()) == 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-dms/src/main/java/com/amazonaws/services/databasemigrationservice/model/ReplicationTaskStats.java