public static ValueTree Create(IEnumerable <KeyValuePair <string, EquatableObject> > items) { Contracts.AssertValue(items); #if DEBUG foreach (var item in items) { Contracts.AssertNonEmpty(item.Key); Contracts.Assert(item.Value.IsValid); } #endif return(new ValueTree(RedBlackNode <EquatableObject> .Create(items))); }