docs: public static void obtainAndCache(RestClient client, User user) throws IOException {
          EsToken token = obtainEsToken(client, user);
  
          if (token == null) {
              throw new IOException("No token returned for user " + user.getKerberosPrincipal().getName());
          }
          if (LOG.isDebugEnabled()) {
              LOG.debug("Obtained token " + EsTokenIdentifier.KIND_NAME + " for user " +
                      user.getKerberosPrincipal().getName());
          }
          user.addEsToken(token);
      }