public void SetValue(IType value) { Debug.Assert(value.GetType() == ASTNode.Type.GetType()); bool valueChanged = Value.InequalTo(value).GetValue(); Value = value; if (valueChanged) { Widget.SetQuestionValue(Value); OnValueChanged(new EventArgs()); } }