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

        if (obj instanceof SearchRequest == false)
            return false;
        SearchRequest other = (SearchRequest) obj;
        if (other.getCursor() == null ^ this.getCursor() == null)
            return false;
        if (other.getCursor() != null && other.getCursor().equals(this.getCursor()) == false)
            return false;
        if (other.getExpr() == null ^ this.getExpr() == null)
            return false;
        if (other.getExpr() != null && other.getExpr().equals(this.getExpr()) == false)
            return false;
        if (other.getFacet() == null ^ this.getFacet() == null)
            return false;
        if (other.getFacet() != null && other.getFacet().equals(this.getFacet()) == false)
            return false;
        if (other.getFilterQuery() == null ^ this.getFilterQuery() == null)
            return false;
        if (other.getFilterQuery() != null && other.getFilterQuery().equals(this.getFilterQuery()) == false)
            return false;
        if (other.getHighlight() == null ^ this.getHighlight() == null)
            return false;
        if (other.getHighlight() != null && other.getHighlight().equals(this.getHighlight()) == false)
            return false;
        if (other.getPartial() == null ^ this.getPartial() == null)
            return false;
        if (other.getPartial() != null && other.getPartial().equals(this.getPartial()) == false)
            return false;
        if (other.getQuery() == null ^ this.getQuery() == null)
            return false;
        if (other.getQuery() != null && other.getQuery().equals(this.getQuery()) == false)
            return false;
        if (other.getQueryOptions() == null ^ this.getQueryOptions() == null)
            return false;
        if (other.getQueryOptions() != null && other.getQueryOptions().equals(this.getQueryOptions()) == false)
            return false;
        if (other.getQueryParser() == null ^ this.getQueryParser() == null)
            return false;
        if (other.getQueryParser() != null && other.getQueryParser().equals(this.getQueryParser()) == false)
            return false;
        if (other.getReturn() == null ^ this.getReturn() == null)
            return false;
        if (other.getReturn() != null && other.getReturn().equals(this.getReturn()) == false)
            return false;
        if (other.getSize() == null ^ this.getSize() == null)
            return false;
        if (other.getSize() != null && other.getSize().equals(this.getSize()) == false)
            return false;
        if (other.getSort() == null ^ this.getSort() == null)
            return false;
        if (other.getSort() != null && other.getSort().equals(this.getSort()) == false)
            return false;
        if (other.getStart() == null ^ this.getStart() == null)
            return false;
        if (other.getStart() != null && other.getStart().equals(this.getStart()) == false)
            return false;
        if (other.getStats() == null ^ this.getStats() == null)
            return false;
        if (other.getStats() != null && other.getStats().equals(this.getStats()) == 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-cloudsearch/src/main/java/com/amazonaws/services/cloudsearchdomain/model/SearchRequest.java