public virtual Task <SourceResultDataContract> CancelFileSourceExtraction(Guid sourceId)
 {
     return(Task.Run(() =>
     {
         var fileSource = Context.GetDataSource <FileDataSource>(sourceId);
         if ((fileSource == null) || (fileSource.InputStatus != SourceStatus.PendingExtraction))
         {
             return DataContractError(sourceId, DataSourceServiceResources.FileSourceIsNotPendingExtraction);
         }
         Context.RemoveSource(sourceId);
         streamManager.RemoveStream(sourceId, fileSource.CurrentFileName);
         return DataContractSuccess(sourceId);
     }));
 }