private ParticleEffector CreateInstance()
        {
            ParticleEffector newInstance = CreateInstanceCore();

            if (GetType() != newInstance.GetType())
            {
                string message = String.Format(
                    CultureInfo.InvariantCulture,
                    "Cannot clone particle effector. The derived class {0} does not implement CreateInstanceCore().",
                    GetType());

                throw new InvalidOperationException(message);
            }

            return(newInstance);
        }