public DynamicObjectColorProvider(IDynamicObject entity)
        {
            int colorSourceCount = entity.ColorSourceCount;

            if (colorSourceCount == 0)
            {
                return;
            }
            permutations  = new int[colorSourceCount];
            interpolators = new float[colorSourceCount];
            for (int source = 0; source < colorSourceCount; source++)
            {
                permutations[source]  = entity.GetColorPermutation(source);
                interpolators[source] = (float)random.NextDouble();
            }
            method = new DynamicColorRetrievalMethod(entity.GetColor);
        }