@Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        WorkflowDef that = (WorkflowDef) o;
        return getVersion() == that.getVersion()
                && getSchemaVersion() == that.getSchemaVersion()
                && Objects.equals(getName(), that.getName())
                && Objects.equals(getDescription(), that.getDescription())
                && Objects.equals(getTasks(), that.getTasks())
                && Objects.equals(getInputParameters(), that.getInputParameters())
                && Objects.equals(getOutputParameters(), that.getOutputParameters())
                && Objects.equals(getFailureWorkflow(), that.getFailureWorkflow())
                && Objects.equals(getOwnerEmail(), that.getOwnerEmail())
                && Objects.equals(getTimeoutSeconds(), that.getTimeoutSeconds());
    }
@param variables the set of global workflow variables to set
common/src/main/java/com/netflix/conductor/common/metadata/workflow/WorkflowDef.java