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);
        }
 protected virtual void CloneCore(ParticleEffector source)
 {
     Enabled = source.Enabled;
     Name    = source.Name;
 }