public void Execute(int index)
        {
            var key   = sharedIndices[index];
            int count = 0;

            if (!entityCountBySharedIndex.TryGetValue(key, out count))
            {
                return;
            }

            //create new indices
            for (int i = 0; i < count; i++)
            {
                var contains = indicesInSquadBySharedIndices.ContainsValueForKey(key, i);
                if (!contains)
                {
                    newIndicesBySharedIndex.Add(key, i);
                }
            }
        }