code: func (r *MintDelegationTokenRPC) mint(c context.Context, p *mintParams) (*minter.MintDelegationTokenResponse, error) {
  	id, err := revocation.GenerateTokenID(c, tokenIDSequenceKind)
  	if err != nil {
  		logging.WithError(err).Errorf(c, "Error when generating token ID.")
  		return nil, status.Errorf(codes.Internal, "error when generating token ID - %s", err)
  	}
  
  	// All the stuff here has already been validated in 'MintDelegationToken'.
  	subtok := &messages.Subtoken{
  		Kind:              messages.Subtoken_BEARER_DELEGATION_TOKEN,
  		SubtokenId:        id,
  		DelegatedIdentity: string(p.query.Delegator),
  		RequestorIdentity: string(p.query.Requestor),
  		CreationTime:      clock.Now(c).Unix(),
  		ValidityDuration:  int32(p.request.ValidityDuration),
  		Audience:          p.query.Audience.ToStrings(),
  		Services:          p.query.Services.ToStrings(),
  		Tags:              p.request.Tags,
  	}
  
  	signed, err := SignToken(c, r.Signer, subtok)
  	if err != nil {
  		logging.WithError(err).Errorf(c, "Error when signing the token.")
  		return nil, status.Errorf(codes.Internal, "error when signing the token - %s", err)
  	}
  
  	return &minter.MintDelegationTokenResponse{
  		Token:              signed,
  		DelegationSubtoken: subtok,
  		ServiceVersion:     p.serviceVer,
  	}, nil
  }
docs: // mint is called to make the token after the request has been authorized.