docs: private void serializeSubjectCacheKey(PutField fields) throws Exception {
          if (callerSubject != null) {
              Hashtable<String, ?> hashtable =
                              subjectHelper.getHashtableFromSubject(callerSubject, new String[] { AttributeNameConstants.WSCREDENTIAL_CACHE_KEY });
  
              if (hashtable != null) {
                  callerSubjectCacheKey = (String) hashtable.get(AttributeNameConstants.WSCREDENTIAL_CACHE_KEY);
  
  /*
   * 12/08/14 RZ: Removed after discussions with Ajay and Ut. This is an unwanted functionality.
   * 
   * if (callerSubjectCacheKey != null && authCache != null) {
   * Subject lookedUpSubject = authCache.getSubject(callerSubjectCacheKey);
   * 
   * // If we looked up the wrong subject, then create a BasicAuthCacheKey
   * if (!lookedUpSubject.equals(callerSubject)) {
   * hashtable = subjectHelper.getHashtableFromSubject(callerSubject, new String[] { AttributeNameConstants.WSCREDENTIAL_USERID,
   * AttributeNameConstants.WSCREDENTIAL_PASSWORD });
   * 
   * if (hashtable != null) {
   * String userid = (String) hashtable.get(AttributeNameConstants.WSCREDENTIAL_USERID);
   * String password = (String) hashtable.get(AttributeNameConstants.WSCREDENTIAL_PASSWORD);
   * 
   * if (password != null) {
   * callerSubjectCacheKey = BasicAuthCacheKeyProvider.createLookupKey(subjectHelper.getRealm(callerSubject), userid, password);
   * } else {
   * callerSubjectCacheKey = BasicAuthCacheKeyProvider.createLookupKey(subjectHelper.getRealm(callerSubject), userid);
   * }
   * }
   * }
   * }
   */
              }
          }
  
          if (callerSubjectCacheKey != null)
              fields.put(CALLER_SUBJECT_CACHE_KEY, callerSubjectCacheKey);
  
          //only serialize invocation subject if it's different from the caller
          if (!subjectsAreEqual) {
              if (invocationSubject != null) {
                  Hashtable<String, ?> hashtable =
                                  subjectHelper.getHashtableFromSubject(invocationSubject, new String[] { AttributeNameConstants.WSCREDENTIAL_CACHE_KEY });
                  if (hashtable != null) {
                      invocationSubjectCacheKey = (String) hashtable.get(AttributeNameConstants.WSCREDENTIAL_CACHE_KEY);
  
  /*
   * 12/08/14 RZ: Removed after discussions with Ajay and Ut. This is an unwanted functionality.
   * 
   * if (invocationSubjectCacheKey != null && authCache != null) {
   * Subject lookedUpSubject = authCache.getSubject(invocationSubjectCacheKey);
   * 
   * // If we looked up the wrong subject, then create a BasicAuthCacheKey
   * if (!lookedUpSubject.equals(invocationSubject)) {
   * hashtable = subjectHelper.getHashtableFromSubject(invocationSubject, new String[] { AttributeNameConstants.WSCREDENTIAL_USERID,
   * AttributeNameConstants.WSCREDENTIAL_PASSWORD });
   * 
   * if (hashtable != null) {
   * String userid = (String) hashtable.get(AttributeNameConstants.WSCREDENTIAL_USERID);
   * String password = (String) hashtable.get(AttributeNameConstants.WSCREDENTIAL_PASSWORD);
   * 
   * if (password != null) {
   * invocationSubjectCacheKey = BasicAuthCacheKeyProvider.createLookupKey(subjectHelper.getRealm(invocationSubject), userid, password);
   * } else {
   * invocationSubjectCacheKey = BasicAuthCacheKeyProvider.createLookupKey(subjectHelper.getRealm(invocationSubject), userid);
   * }
   * }
   * }
   * }
   */
                  }
              }
          }
  
          if (invocationSubjectCacheKey != null)
              fields.put(INVOCATION_SUBJECT_CACHE_KEY, invocationSubjectCacheKey);
      }