public object Post(InitializationRequest request)
        {
            Log.Debug("starting Post(InitializationRequest request)");
            InitializationRequestPayload initializationRequestPayload = request.InitializationRequestPayload;

            Log.Debug($"You sent me InitializationRequestPayload = {initializationRequestPayload}");
            Log.Debug($"You sent me InitializationData = {initializationRequestPayload.InitializationData}");
            // Initialize the plugin's data structures for this service/user/session/connection
            // ToDo: Figure out if the Initialization request from the GUI has any impact on the configuration or user data structures
            InitializationData initializationData = initializationRequestPayload.InitializationData;
            // Get the BaseServicesData and diskAnalysisServicesData instances that were injected into the DI container
            var baseServicesData = HostContext.TryResolve <BaseServicesData>();
            // Create the task's action
            // Copy the BaseServices' current ConfigurationData structure to the response
            //ToDo: this is merely a placeholder until ConfigurationData is figured out
            ConfigurationData configurationData = baseServicesData.ConfigurationData;
            // Copy the Plugin's current UserData structure to the response
            // ToDo: this is merely a placeholder until UserData  is figured out
            UserData userData = baseServicesData.UserData;
            // Create and populate the Response data structure
            InitializationResponsePayload initializationResponsePayload = new InitializationResponsePayload(configurationData, userData);
            InitializationResponse        initializationResponse        = new InitializationResponse(initializationResponsePayload);

            // return information about this service/user/session
            Log.Debug($"leaving Post(DiskAnalysisServicesInitializationRequest request), returning {initializationResponse}");
            return(initializationResponse);
        }
 public InitializationResponse(InitializationResponsePayload initializationResponsePayload)
 {
     InitializationResponsePayload = initializationResponsePayload ?? throw new ArgumentNullException(nameof(initializationResponsePayload));
 }