@Override
    public int hashCode() {
        final int prime = 31;
        int hashCode = 1;

        hashCode = prime * hashCode + ((getSourceType() == null) ? 0 : getSourceType().hashCode());
        hashCode = prime * hashCode + ((getConnection() == null) ? 0 : getConnection().hashCode());
        hashCode = prime * hashCode + ((getSchema() == null) ? 0 : getSchema().hashCode());
        hashCode = prime * hashCode + ((getTable() == null) ? 0 : getTable().hashCode());
        hashCode = prime * hashCode + ((getDatabase() == null) ? 0 : getDatabase().hashCode());
        hashCode = prime * hashCode + ((getTempDir() == null) ? 0 : getTempDir().hashCode());
        hashCode = prime * hashCode + ((getIamRole() == null) ? 0 : getIamRole().hashCode());
        hashCode = prime * hashCode + ((getAdditionalOptions() == null) ? 0 : getAdditionalOptions().hashCode());
        hashCode = prime * hashCode + ((getSampleQuery() == null) ? 0 : getSampleQuery().hashCode());
        hashCode = prime * hashCode + ((getPreAction() == null) ? 0 : getPreAction().hashCode());
        hashCode = prime * hashCode + ((getPostAction() == null) ? 0 : getPostAction().hashCode());
        hashCode = prime * hashCode + ((getAction() == null) ? 0 : getAction().hashCode());
        hashCode = prime * hashCode + ((getUpsert() == null) ? 0 : getUpsert().hashCode());
        hashCode = prime * hashCode + ((getMergeAction() == null) ? 0 : getMergeAction().hashCode());
        hashCode = prime * hashCode + ((getMergeWhenMatched() == null) ? 0 : getMergeWhenMatched().hashCode());
        hashCode = prime * hashCode + ((getMergeWhenNotMatched() == null) ? 0 : getMergeWhenNotMatched().hashCode());
        hashCode = prime * hashCode + ((getMergeClause() == null) ? 0 : getMergeClause().hashCode());
        hashCode = prime * hashCode + ((getStagingTable() == null) ? 0 : getStagingTable().hashCode());
        hashCode = prime * hashCode + ((getSelectedColumns() == null) ? 0 : getSelectedColumns().hashCode());
        hashCode = prime * hashCode + ((getAutoPushdown() == null) ? 0 : getAutoPushdown().hashCode());
        hashCode = prime * hashCode + ((getTableSchema() == null) ? 0 : getTableSchema().hashCode());
        return hashCode;
    }
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-glue/src/main/java/com/amazonaws/services/glue/model/SnowflakeNodeData.java