private List<XAttribute> GetXAttrsShortProps (JObject jobj, List<JProperty> allProps)
{
var shortPropNames = new List<string>();
var xAttrsShortProps = new List<XAttribute>();
foreach (JProperty prop in jobj.Properties()) {
IPropertyShortcut shortcut = _propertyShortcuts.FirstOrDefault(ps => ps.IsPropertySupported(prop));
if (shortcut != null) {
shortPropNames.Add(prop.Name);
xAttrsShortProps.AddRange(shortcut.GetAttributes(prop));
}
}
allProps.AddRange(jobj.Properties().Where(p => !shortPropNames.Contains(p.Name)));
return xAttrsShortProps;
}