public static PropertyResponse GetProperty(this IModelWithPropertySets model, string systemName)
        {
            var prop = TryGetProperty(model, systemName);

            if (prop == null)
            {
                throw new ArgumentException($"Property with systemName {systemName} was not found.");
            }
            else
            {
                return(prop);
            }
        }
        public static PropertyResponse TryGetProperty(this IModelWithPropertySets model, string systemName)
        {
            foreach (var set in model.PropertySets)
            {
                foreach (var prop in set.Properties)
                {
                    if (prop.PropertyType.SystemName.Equals(systemName, StringComparison.OrdinalIgnoreCase))
                    {
                        return(prop);
                    }
                }
            }

            return(null);
        }