private string SerializeCollection <T>(CollectionMapping collectionMapping, T data) { if (data == null) { return(string.Format("{0} : {1} \n", collectionMapping.ScopedName, null)); } var output = new StringBuilder(); var collectionValue = collectionMapping.GetValue(data); if (collectionValue == null) { return(string.Format("{0} : {1} \n", collectionMapping.ScopedName, null)); } output.AppendFormat("{0} : {1} \n", collectionMapping.ScopedName, collectionValue.Count); for (var i = 0; i < collectionValue.Count; i++) { var currentData = collectionValue[i]; if (collectionMapping.InternalMappings.Count > 0) { var result = Serialize(collectionMapping.InternalMappings, currentData); output.Append(result); } else { output.AppendFormat("{0} : {1} \n", collectionMapping.ScopedName + ".value", currentData); } } return(output.ToString()); }