public JsonSchema AddPropertyWithOverwrite(string propertyName, JsonSchema propertyDefinition, bool isRequired)
        {
            if (Properties != null && Properties.ContainsKey(propertyName))
            {
                Properties.Remove(propertyName);
            }

            if (Required != null && Required.Contains(propertyName))
            {
                Required.Remove(propertyName);
            }

            AddProperty(propertyName, propertyDefinition, isRequired);

            return(this);
        }