public SerializationLargeGraph() { var initial = new TopLevel(Guid.NewGuid(), ImmutableSortedDictionary <string, FirstLevelChild> .Empty.WithComparers(StringComparer.OrdinalIgnoreCase), 0, "Tag", "Description"); var current = initial; for (int i = 0; i < 1000; ++i) { if (i % 10 == 0) { _t1.Add(current); } if (i % 10 == 0) { current = AddFirstLevelChild(current); } current = AddSecondLevelChild(current); } var config = new SerializerConfig { DefaultTargets = TargetMember.AllFields, PreserveReferences = true }; config.Advanced.ReadonlyFieldHandling = ReadonlyFieldHandling.ForcedOverwrite; config.OnConfigNewType = tc => tc.TypeConstruction = TypeConstruction.ByUninitialized(); config.UseImmutableFormatters(); ceras = new CerasSerializer(config); //_hyperion.Serialize(_t1, _m2); _msgPackOptions = MessagePackSerializerOptions.Standard.WithResolver( CompositeResolver.Create( ImmutableCollectionResolver.Instance, DynamicObjectResolver.Instance, StandardResolver.Instance ) ); //_netSerializer.Serialize(_m5, _t1); }