private static TColumn CreateColumn <TColumnGroup, TColumn>(Mounter <TColumnGroup, TColumn> mounter, Action <TColumn> initializer) where TColumnGroup : Projection where TColumn : Column, new() { var result = Column.Create <TColumn>(mounter.OriginalDeclaringType, mounter.OriginalName); var parent = mounter.Parent; result.Construct(parent.ParentModel, mounter.DeclaringType, parent.GetColumnName(mounter), ColumnKind.ProjectionMember, null, initializer); parent.Add(result); return(result); }