in src/Public/Commands/PushOutputBindingCommand.cs [239:271]
private object MergeCollection(object oldData, object newData)
{
bool isNewDataEnumerable = LanguagePrimitives.IsObjectEnumerable(newData);
if (oldData == null && !isNewDataEnumerable)
{
return newData;
}
var list = oldData as List<object>;
if (list == null)
{
list = new List<object>();
if (oldData != null)
{
list.Add(oldData);
}
}
if (isNewDataEnumerable)
{
var newDataEnumerable = LanguagePrimitives.GetEnumerable(newData);
foreach (var item in newDataEnumerable)
{
list.Add(item);
}
}
else
{
list.Add(newData);
}
return list;
}