code: public String getUniqueID() {
          // return null so that this token does not change the uniqueness, 
          // all static attributes from the default tokens.
          String[] cacheKeyArray = getAttributes(AttributeNameConstants.WSCREDENTIAL_CACHE_KEY);
  
          if (cacheKeyArray != null && cacheKeyArray[0] != null) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  Tr.debug(tc, "Found cache key in Authz token: " + cacheKeyArray[0]);
              return cacheKeyArray[0];
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
              Tr.debug(tc, "No unique cache key found in token.");
          return null;
      }
docs: Returns a unique identifier of the token based upon information the provider
  considers makes this a unique token. This will be used for caching purposes
  and may be used in combination with other token unique IDs that are part of
  the same Subject.
  
  This method should return null if you want the accessID of the user to represent
  uniqueness. This is the typical scenario.
  
  @return String