docs: @Override
      public Object addTokenToDistributedMap(Object key, Object value) {
          String keyStr = (String) key;
          TokenManager tm = LoggedOutTokenCacheImpl.tokenManager.getService();
          int timeOut = -1;
          try {
              byte[] tokenBytes = AuthenticationHelper.copyCredToken(Base64Coder.base64DecodeString(keyStr));
              Token token = tm.recreateTokenFromBytes(tokenBytes);
              if (token != null)
              {
                  long tokenExp = token.getExpiration();
                  long calcTimeOut = tokenExp - System.currentTimeMillis();
                  timeOut = (int) calcTimeOut / 1000;
                  String userName = token.getAttributes("u")[0];
                  if (userName != null)
                      value = userName;
              }
  
          } catch (InvalidTokenException e) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "Token is not valid so do not cache it " + e.getMessage());
              }
              return null;
          } catch (TokenExpiredException e) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "Token is exipired so do not cache it " + e.getMessage());
              }
              return null;
          }
  
          return putDistributedObjectLoggedOutToken(key, value, timeOut);
      }