@Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        WorkflowTask that = (WorkflowTask) o;
        return getStartDelay() == that.getStartDelay()
                && isOptional() == that.isOptional()
                && Objects.equals(getName(), that.getName())
                && Objects.equals(getTaskReferenceName(), that.getTaskReferenceName())
                && Objects.equals(getDescription(), that.getDescription())
                && Objects.equals(getInputParameters(), that.getInputParameters())
                && Objects.equals(getType(), that.getType())
                && Objects.equals(getDynamicTaskNameParam(), that.getDynamicTaskNameParam())
                && Objects.equals(getCaseValueParam(), that.getCaseValueParam())
                && Objects.equals(getEvaluatorType(), that.getEvaluatorType())
                && Objects.equals(getExpression(), that.getExpression())
                && Objects.equals(getCaseExpression(), that.getCaseExpression())
                && Objects.equals(getDecisionCases(), that.getDecisionCases())
                && Objects.equals(
                        getDynamicForkJoinTasksParam(), that.getDynamicForkJoinTasksParam())
                && Objects.equals(getDynamicForkTasksParam(), that.getDynamicForkTasksParam())
                && Objects.equals(
                        getDynamicForkTasksInputParamName(),
                        that.getDynamicForkTasksInputParamName())
                && Objects.equals(getDefaultCase(), that.getDefaultCase())
                && Objects.equals(getForkTasks(), that.getForkTasks())
                && Objects.equals(getSubWorkflowParam(), that.getSubWorkflowParam())
                && Objects.equals(getJoinOn(), that.getJoinOn())
                && Objects.equals(getSink(), that.getSink())
                && Objects.equals(isAsyncComplete(), that.isAsyncComplete())
                && Objects.equals(getDefaultExclusiveJoinTask(), that.getDefaultExclusiveJoinTask())
                && Objects.equals(getRetryCount(), that.getRetryCount());
    }
@param expression the expression to set
common/src/main/java/com/netflix/conductor/common/metadata/workflow/WorkflowTask.java