class TaskExecutionContext {

    public TaskExecutionContext(Task<? extends TaskParameters> task, boolean lenient) {
        if (isNull(task)) {
            throw new IllegalArgumentException("Task cannot be null");
        }
        this.taskMetadata = new NotifiableTaskMetadata(task);
        this.task = task;
        this.lenient = lenient;
    }

    public  TaskExecutionContext(Task<? extends TaskParameters> task, boolean lenient);

}