public ConstantExpressionNode(ConstantLiteralNode constant, IEnumerable<AttributeNode> attributes)
            : base(attributes)
        {
            if (constant == null)
                ThrowHelper.ThrowArgumentNullException(() => constant);

            Constant = constant;
            AddChildren(Constant);
        }
        public ConstantExpressionNode Constant(ConstantLiteralNode constant, IEnumerable<AttributeNode> attributes)
        {
            if (constant == null)
                ThrowHelper.ThrowArgumentNullException(() => constant);

            if (attributes == null)
                ThrowHelper.ThrowArgumentNullException(() => attributes);

            return new ConstantExpressionNode(constant, attributes);
        }
 public ConstantExpressionNode Constant(ConstantLiteralNode constant)
 {
     return Constant(constant, new AttributeNode[0]);
 }
        public ConstantExpressionNode(ConstantLiteralNode constant)
            : this(constant, new AttributeNode[0])
        {

        }