public static void Set(ref StatementCollection field, Collection <Statement> value, IStatementOwner owner) { if (value != field) { field?.Clear(); if (value?.Count > 0) { var ta = GetOrCreate(ref field, owner); foreach (var v in value) { ta.Add(v); } } } }
public static StatementCollection GetOrCreate(ref StatementCollection field, IStatementOwner owner) => field ?? (field = new StatementCollection(owner));