public DevicePropertiesActor(
            ILogger logger,
            IActorsLogger actorLogger,
            IRateLimiting rateLimiting,
            UpdateReportedProperties updatePropertiesLogic,
            SetDeviceTag deviceSetDeviceTagLogic)
        {
            this.log                     = logger;
            this.actorLogger             = actorLogger;
            this.rateLimiting            = rateLimiting;
            this.updatePropertiesLogic   = updatePropertiesLogic;
            this.deviceSetDeviceTagLogic = deviceSetDeviceTagLogic;

            this.status                = ActorStatus.None;
            this.deviceId              = null;
            this.deviceStateActor      = null;
            this.deviceConnectionActor = null;

            this.failedTwinUpdatesCount = 0;
        }
        public DevicePropertiesActor(
            ILogger logger,
            IActorsLogger actorLogger,
            UpdateReportedProperties updatePropertiesLogic,
            SetDeviceTag deviceSetDeviceTagLogic,
            IInstance instance)
        {
            this.log                     = logger;
            this.actorLogger             = actorLogger;
            this.updatePropertiesLogic   = updatePropertiesLogic;
            this.deviceSetDeviceTagLogic = deviceSetDeviceTagLogic;
            this.instance                = instance;

            this.status           = ActorStatus.None;
            this.deviceId         = null;
            this.deviceStateActor = null;
            this.deviceContext    = null;

            this.failedTwinUpdatesCount = 0;
        }