/// <inheritdoc />
    ///  <summary>
    ///  It Binds IFormFile to Common file, getting the file
    ///  from the binding context
    ///  </summary>
    ///  <param name="bindingContext">Http Context</param>
    ///  <returns>Completed Task</returns>
    // TODO: Bind this context to ICommonFile or ICommonFileCollection object
    public Task BindModelAsync(ModelBindingContext bindingContext)
    {
        dynamic model;

        if (bindingContext == null)
        {
            throw new ArgumentNullException(nameof(bindingContext));
        }
        var formFiles = bindingContext.ActionContext.HttpContext.Request.Form.Files;

        if (!formFiles.Any())
        {
            return(Task.CompletedTask);
        }
        if (formFiles.Count > 1)
        {
            model = formFiles.AsParallel().Select(_expression);
        }
        else
        {
            model = new FormFileCollection();
            model.AddRange(filteredFiles.AsParallel().Select(_expression));
        }
        bindingContext.Result = ModelBindingResult.Success(model);
        return(Task.CompletedTask);
    }