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

        if (obj instanceof CreateTokenWithIAMRequest == false)
            return false;
        CreateTokenWithIAMRequest other = (CreateTokenWithIAMRequest) obj;
        if (other.getClientId() == null ^ this.getClientId() == null)
            return false;
        if (other.getClientId() != null && other.getClientId().equals(this.getClientId()) == false)
            return false;
        if (other.getGrantType() == null ^ this.getGrantType() == null)
            return false;
        if (other.getGrantType() != null && other.getGrantType().equals(this.getGrantType()) == false)
            return false;
        if (other.getCode() == null ^ this.getCode() == null)
            return false;
        if (other.getCode() != null && other.getCode().equals(this.getCode()) == false)
            return false;
        if (other.getRefreshToken() == null ^ this.getRefreshToken() == null)
            return false;
        if (other.getRefreshToken() != null && other.getRefreshToken().equals(this.getRefreshToken()) == false)
            return false;
        if (other.getAssertion() == null ^ this.getAssertion() == null)
            return false;
        if (other.getAssertion() != null && other.getAssertion().equals(this.getAssertion()) == false)
            return false;
        if (other.getScope() == null ^ this.getScope() == null)
            return false;
        if (other.getScope() != null && other.getScope().equals(this.getScope()) == false)
            return false;
        if (other.getRedirectUri() == null ^ this.getRedirectUri() == null)
            return false;
        if (other.getRedirectUri() != null && other.getRedirectUri().equals(this.getRedirectUri()) == false)
            return false;
        if (other.getSubjectToken() == null ^ this.getSubjectToken() == null)
            return false;
        if (other.getSubjectToken() != null && other.getSubjectToken().equals(this.getSubjectToken()) == false)
            return false;
        if (other.getSubjectTokenType() == null ^ this.getSubjectTokenType() == null)
            return false;
        if (other.getSubjectTokenType() != null && other.getSubjectTokenType().equals(this.getSubjectTokenType()) == false)
            return false;
        if (other.getRequestedTokenType() == null ^ this.getRequestedTokenType() == null)
            return false;
        if (other.getRequestedTokenType() != null && other.getRequestedTokenType().equals(this.getRequestedTokenType()) == false)
            return false;
        if (other.getCodeVerifier() == null ^ this.getCodeVerifier() == null)
            return false;
        if (other.getCodeVerifier() != null && other.getCodeVerifier().equals(this.getCodeVerifier()) == 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-ssooidc/src/main/java/com/amazonaws/services/ssooidc/model/CreateTokenWithIAMRequest.java