public IExpression Parse(ParseInfo parseInfo, Scope scope, Scope getter, bool usedAsValue)
        {
            if (variable != null)
            {
                return(parseInfo.GetVariable(scope, getter, variable, false));
            }
            if (method != null)
            {
                return(new CallMethodAction(parseInfo, scope, method, usedAsValue, getter));
            }
            if (expression != null)
            {
                return(parseInfo.GetExpression(scope, expression, false, usedAsValue, getter));
            }

            throw new Exception();
        }