public RecipeCSharpEffect(IImageProvider source, double factor)
            : base(source)
        {
            effect = new CSharp.MyEffect(source, factor);

             SetPipelineBeginEnd(effect, effect);
        }
        // Protected implementation of Dispose pattern.
        protected override void Dispose(bool disposing)
        {
            if (disposed)
                return;

            if (disposing)
            {

            }

            if (effect != null)
            {
                effect.Dispose();
                effect = null;
            }

            disposed = true;
            // Call base class implementation.
            base.Dispose(disposing);
        }