/// <summary> /// Updates the conditioned properties table if it hasn't already been done. /// </summary> private void UpdateConditionedProperties(IConditionEvaluationState state) { if (!this._conditionedPropertiesUpdated && state.ConditionedPropertiesInProject != null) { string leftUnexpandedValue = this.LeftChild.GetUnexpandedValue(state); string rightUnexpandedValue = this.RightChild.GetUnexpandedValue(state); if (leftUnexpandedValue != null) { ConditionEvaluator.UpdateConditionedPropertiesTable (state.ConditionedPropertiesInProject, leftUnexpandedValue, this.RightChild.GetExpandedValue(state)); } if (rightUnexpandedValue != null) { ConditionEvaluator.UpdateConditionedPropertiesTable (state.ConditionedPropertiesInProject, rightUnexpandedValue, this.LeftChild.GetExpandedValue(state)); } this._conditionedPropertiesUpdated = true; } }