private DomainValue EvaluateReference(SharedDomainReferenceNode theExpressionNode, WorkspaceModel theWorkspace)
        {
            var sharedDomainName  = theExpressionNode.DomainName;
            var sharedDomainModel = theWorkspace.Model.GetSharedDomainByName(sharedDomainName.Name);

            var evaluatorContext = new SharedDomainExpressionEvaluatorContext(sharedDomainModel.Expression.Node, theWorkspace);

            return(SharedDomainExpressionEvaluator.Evaluate(evaluatorContext));
        }
 private SharedDomainExpressionEvaluator(SharedDomainExpressionEvaluatorContext context)
 {
     Context = context;
 }
        internal static DomainValue Evaluate(SharedDomainExpressionEvaluatorContext theContext)
        {
            var evaluator = new SharedDomainExpressionEvaluator(theContext);

            return(evaluator.Evaluate());
        }