internal override PropertyExpression Export([NotNull] ConditionGroup parent, [NotNull] IPropertyCollection propertyCollection) { var property = propertyCollection.GetProperty(PropertyName); var expression = new PropertyExpression { Parent = parent, Property = property }; var dataExpr = expression.DataTypeExpression; dataExpr.SelectedCondition = Condition; if (Value != null) { var valueProperty = dataExpr.GetType().GetProperty("Value"); valueProperty.SetValue(dataExpr, ConvertEx.SafeCastValue(Value, valueProperty.PropertyType)); } return(expression); }