public void OverwriteWith(T[] data) { var count = data.Length; if ((count > 4) || _HasList) { EnsureList(count); Items.Clear(); Items.AddRange(data); } else { _Count = count; if (data.Length > 0) { Item1 = data[0]; } if (data.Length > 1) { Item2 = data[1]; } if (data.Length > 2) { Item3 = data[2]; } if (data.Length > 3) { Item4 = data[3]; } } }