protected override ILazinator AssignCloneProperties(ILazinator clone, IncludeChildrenMode includeChildrenMode) { base.AssignCloneProperties(clone, includeChildrenMode); Derived_DotNetList_Nested_NonLazinator typedClone = (Derived_DotNetList_Nested_NonLazinator)clone; typedClone.MyLevel2Int = MyLevel2Int; typedClone.MyLevel2ListNestedNonLazinatorType = CloneOrChange_List_GList_GNonLazinatorClass_g_g(MyLevel2ListNestedNonLazinatorType, l => l?.CloneLazinator(includeChildrenMode, CloneBufferOptions.NoBuffer), false); return(typedClone); }
public override ILazinator CloneLazinator(IncludeChildrenMode includeChildrenMode = IncludeChildrenMode.IncludeAllChildren, CloneBufferOptions cloneBufferOptions = CloneBufferOptions.IndependentBuffers) { Derived_DotNetList_Nested_NonLazinator clone; if (cloneBufferOptions == CloneBufferOptions.NoBuffer) { clone = new Derived_DotNetList_Nested_NonLazinator(includeChildrenMode); clone.LazinatorObjectVersion = LazinatorObjectVersion; clone = (Derived_DotNetList_Nested_NonLazinator)AssignCloneProperties(clone, includeChildrenMode); } else { LazinatorMemory bytes = EncodeOrRecycleToNewBuffer(includeChildrenMode, OriginalIncludeChildrenMode, IsDirty, DescendantIsDirty, false, LazinatorMemoryStorage, this); clone = new Derived_DotNetList_Nested_NonLazinator(bytes); } return(clone); }