@Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (!(o instanceof TaskMapperContext)) {
            return false;
        }

        TaskMapperContext that = (TaskMapperContext) o;

        if (getRetryCount() != that.getRetryCount()) {
            return false;
        }
        if (!getWorkflowDefinition().equals(that.getWorkflowDefinition())) {
            return false;
        }
        if (!getWorkflowModel().equals(that.getWorkflowModel())) {
            return false;
        }
        if (!getWorkflowTask().equals(that.getWorkflowTask())) {
            return false;
        }
        if (!getTaskInput().equals(that.getTaskInput())) {
            return false;
        }
        if (getRetryTaskId() != null
                ? !getRetryTaskId().equals(that.getRetryTaskId())
                : that.getRetryTaskId() != null) {
            return false;
        }
        return getTaskId().equals(that.getTaskId());
    }
Business Object class used for interaction between the DeciderService and Different Mappers
core/src/main/java/com/netflix/conductor/core/execution/mapper/TaskMapperContext.java