public void Erase(IVisibleTerm target, int rowIndex)
        {
            if (_addingAdhEventDelegate == null || target == null) return;

            if (rowIndex >= AgentAdherenceEvents.Count)
                return;

            if (AgentAdherenceEvents[rowIndex] == null)
                AgentAdherenceEvents[rowIndex] = new List<AdherenceEvent>();

            AgentAdherenceEvents[rowIndex].SaftyInvoke<List<AdherenceEvent>>(list =>
            {

                if (target.End == MonitoringPoint || list.Any(o => o.IsCoverd(target)))
                    return;

                var e = _addingAdhEventDelegate(target);
                e.EmployeeId = BindableAgents[rowIndex].SaftyGetProperty<Guid, IAgent>(o => o.Profile.Id);
                list.Add(e);
                this.QuietlyReload(ref _agentAdherenceEvents, "AgentAdherenceEvents");
            });
        }