public ReadResourceResult <RegistryKeyResource> DoRead(
     ReadResourceInput <RegistryKeyResource> input)
 {
     return(new ReadResourceResult <RegistryKeyResource>
     {
         // Nothing computed so we just copy
         // over everything we have been given
         NewState = input.CurrentState,
     });
 }
        public ReadResourceResult <RegistryKeyResource> Read(
            ReadResourceInput <RegistryKeyResource> input)
        {
            _log.LogDebug("{method}: ", nameof(Read));
            _log.LogTrace("->input = {@input}", input);

            _log.LogTrace("  * ...Current: " + JsonConvert.SerializeObject(input.CurrentState, Formatting.Indented));

            var result = DoRead(input);

            _log.LogTrace("<-result = {@result}", result);
            return(result);
        }
        public ReadResourceResult <FileResource> Read(
            ReadResourceInput <FileResource> input)
        {
            _log.LogDebug("{method}: ", nameof(Read));
            _log.LogTrace("->input = {@input}", input);

            _log.LogDebug("Current: " + JsonConvert.SerializeObject(input.CurrentState, Formatting.Indented));

            var result = new ReadResourceResult <FileResource>
            {
                NewState = new FileResource(),
            };

            ComputeState(input.CurrentState, result.NewState, result);

            _log.LogTrace("<-result = {@result}", result);
            return(result);
        }