public string GetMetadataValueHarder(string metadataName, string parameter, bool checkParent = true)
{
if(string.IsNullOrEmpty(parameter) || ParentView == null || ParentView.ParentView == null || !ParentView.ParentView.HasChild(MemberName)) {
return GetMetadataValue(metadataName, this, checkParent);
}
return GetMetadataValue(metadataName, this, false) ?? ParentView.ParentView.GetProperty(MemberName).GetMetadataValue(metadataName, this, false) ?? (checkParent ? ParentView.GetMetadataValue(metadataName, this) : null);
}