internal static ITree Write(Repository aRepository, IEnumerable<TreeItem> aItems)
{
int count = 0;
List<byte[]> list = new List<byte[]>();
foreach (TreeItem item in aItems)
{
byte[] bytes = item.Bytes();
list.Add(bytes);
count += bytes.Length;
}
byte[] obj = new byte[count];
int offset = 0;
foreach (byte[] item in list)
{
Array.Copy(item, 0, obj, offset, item.Length);
offset += item.Length;
}
string id = aRepository.WriteObject(obj, EObjectType.Tree);
// TODO
return (new Tree(new TreeRef(aRepository, id, obj)));
}