public SymbolicExpression Create(R Engine, Varnames variable)
        {
            // check if string starts with comma, if true remove
            string dastring = string.Empty;

            if (constraintString.ToString().StartsWith(","))
            {
                dastring = constraintString.ToString().Remove(0, 1);
            }
            else
            {
                dastring = constraintString.ToString();
            }

            if (dastring.Length > 1)
            {
                Engine.Workspace.SetVariable(variable.Constr, "\"" + dastring + "\"");
            }
            else
            {
                Engine.Workspace.SetVariable(variable.Constr, "c(\"" + dastring + "\")");
            }

            //Console.WriteLine("Creating constraints object {0} in R...", variable.Constr);
        }
        internal void Execute(R Engine, Varnames variable)
        {
            string spec = variable.Spec;

            //Console.WriteLine("Creating specification object {0} in R...", spec);

            // Load all the necessary variables into R Environment (all the non-string parameters)
            portfInfo.Create(Engine, variable);

            // Execute PortfolioSpec in R
            Engine.Workspace.SetVariable(spec, this.ToRValue(variable));

            // R version and this version of portfoliospec is in sync
            this.ChangedFlag = false;
        }