i was going through a code and found following lines of code i was unable to understand...

```
objDashBoardHierarchyInfo = SubscribeList.GroupBy(x = > new {
    ReportID = x.ReportId, ReportName = x.ReportName, Direction = x.DisplayColumn
})
    .Select(x = > new DashBoardHierarchyInfo {
    ReportID = x.Key.ReportID,
    ReportName = x.Key.ReportName,
    DisplayDirection = x.Key.Direction ? ? 0,
    oListDashBoardReportInfo = x.Select(c = > new DashBoardReportInfo {
        DataSourceObjectName = c.DataSourceObjectName,
        ReportSubType = c.OutputType,
        DataSourceId = c.DataSourceId,
        XvalueFeild = "",
        YvalueFeild = "",
        ReportName = c.ReportName,
        BodyId = c.BodyID,
        ReportID = c.ReportId,
        UserDashboardReportId = c.UserDashboardReportId,
        ChartTypeID = c.ChartTypeID,
        SeriesColor = c.Color,
        SeriesControlTypeId = c.ControlType ? ? 0
    }).ToList < DashBoardReportInfo > ()
}).ToList < DashBoardHierarchyInfo > ();

```