public static void Add(int linkId, double targetValue, double duration, ArcComponentData data)
        {
            lock (_lockObj2)
            {
                if (!_itemsGroups.TryGetValue(data.GroupId, out LinksMovementsGroup group))
                {
                    group = new LinksMovementsGroup(data.GroupId, duration);
                    _itemsGroups.Add(data.GroupId, group);
                }

                group.Add(linkId, targetValue, data);
            }
        }
        public static void Add(int groupId, int linkId, double value, double targetValue, double duration)
        {
            lock (_lockObj2)
            {
                if (!_itemsGroups.TryGetValue(groupId, out LinksMovementsGroup group))
                {
                    group = new LinksMovementsGroup(groupId, duration);
                    _itemsGroups.Add(groupId, group);
                }

                group.Add(linkId, value, targetValue);
            }
        }