public void GetXColumns(CustomColumnRequest request) { ColumnCollection <Association <T> > results = request.Results.Cast <Association <T> >(); // Add association as-is (don't include a folder before it!) results.AddRange(ColumnManager.AddSubObject <Association <T> >(EColumn.Advanced, EColumn.Visible, request.Core, "", z => z.Associated, typeof(T))); // Add extra columns from original request if (this.OriginalRequest?.ExtraColumns != null) { for (int n = 0; n < this.OriginalRequest.ExtraColumns.Count; ++n) { int closure = n; Tuple <string, string> c = this.OriginalRequest.ExtraColumns[n]; results.Add(new Column <Association <T> >(c.Item1, EColumn.Visible, c.Item2, z => z.GetExtraColumnValue(closure), z => Color.Blue)); } } request.NoAutomaticColumns = true; // Else conflicts }