private static Microsoft.Performance.SDK.Processing.TableConfiguration ConvertToSdk(this TableConfiguration dto)
        {
            var tableConfiguration = new Microsoft.Performance.SDK.Processing.TableConfiguration(dto.Name)
            {
                ChartType                 = dto.ChartType.ConvertToSdk(),
                Layout                    = dto.Layout.ConvertToSdk(),
                AggregationOverTime       = dto.AggregationOverTime.ConvertToSDK(),
                InitialFilterQuery        = dto.InitialFilterQuery,
                InitialExpansionQuery     = dto.InitialExpansionQuery,
                InitialSelectionQuery     = dto.InitialSelectionQuery,
                InitialFilterShouldKeep   = dto.InitialFilterShouldKeep,
                GraphFilterTopValue       = dto.GraphFilterTopValue,
                GraphFilterThresholdValue = dto.GraphFilterThresholdValue,
                GraphFilterColumnName     = dto.GraphFilterColumnName,
                GraphFilterColumnGuid     = dto.GraphFilterColumnGuid,
                HelpText                  = dto.HelpText,
            };

            if (dto.HighlightEntries != null)
            {
                tableConfiguration.HighlightEntries = dto.HighlightEntries.Select(entry => entry.ConvertToSdk()).ToArray();
            }

            if (dto.Columns != null)
            {
                tableConfiguration.Columns = dto.Columns.Select(column => column.ConvertToSdk()).ToArray();
            }

            if (dto.ColumnRoles != null)
            {
                foreach (var kvp in dto.ColumnRoles)
                {
                    var role = kvp.Key.ConvertToSdk();
                    if (!role.HasValue)
                    {
                        continue;
                    }

                    tableConfiguration.AddColumnRole(role.Value, kvp.Value.ColumnGuid);
                }
            }

            return(tableConfiguration);
        }