docs: public ImpersonationToken createImpersonationToken(Object userIdOrUsername, String name, Date expiresAt, Scope[] scopes) throws GitLabApiException {
  
          if (scopes == null || scopes.length == 0) {
              throw new RuntimeException("scopes cannot be null or empty");
          }
  
          GitLabApiForm formData = new GitLabApiForm()
                  .withParam("name", name, true)
                  .withParam("expires_at", expiresAt);
  
          for (Scope scope : scopes) {
              formData.withParam("scopes[]", scope.toString());
          }
  
          Response response = post(Response.Status.CREATED, formData, "users", getUserIdOrUsername(userIdOrUsername), "impersonation_tokens");
          return (response.readEntity(ImpersonationToken.class));
      }