protected override async Task <AcquisitionActionResult> InitializeCore(InitializeAcquisitionParameter parameters, AcquisitionActionResult result)
        {
            result = await base.InitializeCore(parameters, result).ConfigureAwait(false);

            // get initial value of IsTransferring
            await Task.WhenAll(AgentBroker.Instance.TryExecuteOnAll <IFileTransferAgent, bool>(a => a.IsTransferring).GetValueOrDefault())
            .ContinueWith(t => _isTransferringSubject.OnNext(t.Result.Any(_ => _)), TaskContinuationOptions.OnlyOnRanToCompletion)
            .ConfigureAwait(false);

            return(result);
        }
 protected virtual Task <AcquisitionActionResult> InitializeCore(InitializeAcquisitionParameter parameters, AcquisitionActionResult result)
 {
     return(Task.FromResult(result));
 }
 public Task <AcquisitionActionResult> Initialize(InitializeAcquisitionParameter parameters)
 {
     return(MakeStateTransition(AcquisitionStep.Initialize, this.Provider.Initialize, parameters, InitializeCore));
 }