public JsonResult RetrieveColumnInformationByColumnId(int columnId, RetrieveColumnInformationByColumnIdMethodGroup methodGroup)
        {
            var columnInformation =
                new WithSession(methodGroup.SessionMethod)
                    .ReturnResult(session =>
                            {
                                var result = methodGroup.RetrieveColumnInformationById(columnId, session);
                                GuardClause.IfNullThrowArgumentException(result, "ColumnControllerShadow.");

                                return result;
                            });

            return new JsonResult { Data = columnInformation };
        }
        public JsonResult RetrieveTableInformationByTableId(int tableId, RetrieveTableInformationMethodGroup methodGroup)
        {
            var tableResult =
                new WithSession(methodGroup.SessionMethod)
                    .ReturnResult(session =>
                         {
                            var innerResult = methodGroup.SearchForTable(tableId, session);
                            GuardClause.IfNullThrowArgumentException(innerResult,"TableControllerShadow.RetrieveTableInformation: Table doesn't exist.");
                            innerResult.ColumnList = methodGroup.QueryForColumns(innerResult.Id, session);

                            return innerResult;
                        });

            return new JsonResult { Data = tableResult };
        }