public async Task Run()
        {
            var ret    = new List <IRowReceive>();
            var prop   = Receiver.GetType().GetProperty(PropertyNameReceiver);
            var failed = new List <IRow>();

            foreach (var item in valuesRead)
            {
                if (!item.Values.ContainsKey(Key))
                {
                    continue;
                }
                var val = item.Values[Key];
                prop.SetValue(Receiver, val);
                Receiver.ClearValues();
                try
                {
                    await Receiver.LoadData();
                }
                catch (Exception ex)
                {
                    string message = ex.Message;
                    //@class.Log(LogLevel.Error,0,$"first error for {val} in transformerApplyReceiver",ex,null);
                    failed.Add(item);
                    continue;
                }
                if (Receiver.valuesRead?.Length > 0)
                {
                    ret.AddRange(Receiver.valuesRead);
                }
            }
            //second chance to load....
            foreach (var item in failed)
            {
                var val = item.Values[Key];
                prop.SetValue(Receiver, val);
                Receiver.ClearValues();
                try
                {
                    await Receiver.LoadData();
                }
                catch (Exception ex)
                {
                    string message = ex.Message;
                    //@class.Log(LogLevel.Error,0,$"second error for {val} in transformerApplyReceiver",ex,null);
                }
            }

            valuesTransformed = ret.ToArray();
        }