protected override ScriptVariable CalculateInternal(ScriptExecutionEnvironment env)
        {
            ScriptVariable function = this.Function.Calculate(env);

            if (function == null)
            {
                env.Console.Warn("Cannot call null as function");
                return(null);
            }
            List <ScriptVariable> args = new List <ScriptVariable>();

            foreach (var param in this.Parameters)
            {
                args.Add(param.Calculate(env));
            }
            return(function.Invoke(env, args));
        }