docs: def create_ticket(self, service, pgturl, **kwargs):
          """
          When a ``pgtUrl`` parameter is provided to ``/serviceValidate`` or
          ``/proxyValidate``, attempt to create a new ``ProxyGrantingTicket``.
          If validation succeeds, create and return the ``ProxyGrantingTicket``.
          If validation fails, return ``None``.
          """
          pgtid = self.create_ticket_str()
          pgtiou = self.create_ticket_str(prefix=self.model.IOU_PREFIX)
          try:
              self.validate_callback(service, pgturl, pgtid, pgtiou)
          except ValidationError as e:
              logger.warning("%s %s" % (e.code, e))
              return None
          else:
              # pgtUrl validation succeeded, so create a new PGT with the
              # previously generated ticket strings
              return super(ProxyGrantingTicketManager, self).create_ticket(ticket=pgtid, iou=pgtiou, **kwargs)