/// <summary>
 /// Sets route param's default value with rules:
 /// a null string sets no defaults, an empty string means optional; value type with default value is ignored;
 /// nullable means optional; classes except string are ignored. Rules are implemented in <see cref="Extensions.SetDefaultValue"/> method
 /// </summary>
 /// <param name="info"></param>
 /// <param name="modelInstance"></param>
 /// <param name="data"></param>
 protected virtual void SetDefaultValue(MemberInfo info, object modelInstance, IDictionary<string, object> data)
 {
     info.SetDefaultValue(modelInstance,data);
 }