private EditPropertyViewModel CreateEditPropertyViewModel(
            MessageFilterComponent component,
            FilterProperty existingProperty,
            string name
            )
        {
            System.Diagnostics.Debug.Assert(component != null);

            var isCheckType = component.GetIsBooleanProperty(name);

            return new EditPropertyViewModel
            {
                IsIncluded = existingProperty != null && existingProperty.IsIncluded,
                Id = existingProperty != null ? (int?)existingProperty.FilterPropertyId : null,
                Timestamp = existingProperty != null ? existingProperty.Timestamp : null,
                Name = name,
                Value = existingProperty != null ? existingProperty.Value : string.Empty,
                IsCheckType = isCheckType,
                IsChecked = isCheckType && existingProperty != null ? string.Equals(existingProperty.Value, "true", StringComparison.OrdinalIgnoreCase) : false
            };
        }