code: @Override
      @CheckForNull
      protected GitHub applyNullSafe(@Nonnull GitHubServerConfig github) {
          String accessToken = tokenFor(github.getCredentialsId());
  
          GitHubBuilder builder = new GitHubBuilder()
                  .withOAuthToken(accessToken)
                  .withConnector(connector(github))
                  .withRateLimitHandler(RateLimitHandler.FAIL);
          try {
              if (isNotBlank(github.getApiUrl())) {
                  builder.withEndpoint(github.getApiUrl());
              }
              LOGGER.debug("Create new GH client with creds id {}", github.getCredentialsId());
              return builder.build();
          } catch (IOException e) {
              LOGGER.warn("Failed to login with creds {}", github.getCredentialsId(), e);
              return null;
          }
      }
docs: Called by {@link #apply(Object)}
  Logins to GH and returns client instance
  
  @param github config where token saved
  
  @return authorized client or null on login error