code: def _sort(self, session_groups):
      session_groups.sort(key=operator.attrgetter('name'))
      for col_param, extractor in reversed(list(zip(self._request.col_params,
                                                    self._extractors))):
        if col_param.order == api_pb2.ORDER_UNSPECIFIED:
          continue
        if col_param.order == api_pb2.ORDER_ASC:
          session_groups.sort(
              key=_create_key_func(
                  extractor,
                  none_is_largest=not col_param.missing_values_first))
        elif col_param.order == api_pb2.ORDER_DESC:
          session_groups.sort(
              key=_create_key_func(
                  extractor,
                  none_is_largest=col_param.missing_values_first),
              reverse=True)
        else:
          raise error.HParamsError('Unknown col_param.order given: %s' %
                                   col_param)