public void putExternalProperty(SSOToken clientToken,String key,String value) throws SessionException {
  try {
    sessionUtilsWrapper.checkPermissionToSetProperty(clientToken,key,value);
  }
 catch (  SessionException se) {
    fireSessionEvent(SessionEventType.PROTECTED_PROPERTY);
    sessionLogging.logEvent(toSessionInfo(),SessionEventType.PROTECTED_PROPERTY);
    throw se;
  }
  internalPutProperty(key,value);
  debug.message("Updated protected property after validating client identity and permissions");
}

public void putExternalProperty ( SSOToken clientToken , String key , String value ) throws SessionException { try { sessionUtilsWrapper . checkPermissionToSetProperty ( clientToken , key , value ) ; } catch ( SessionException se ) { fireSessionEvent ( SessionEventType . PROTECTED_PROPERTY ) ; sessionLogging . logEvent ( toSessionInfo ( ) , SessionEventType . PROTECTED_PROPERTY ) ; throw se ; } internalPutProperty ( key , value ) ; debug . message ( "Updated protected property after validating client identity and permissions" ) ; }
sets the key - value pair in the internalsession property table if it is not protected . if it is protected client should have permission to set it . this method is to be used in conjuction with sessionrequesthandler / sessionservice invocation path if the property is protected , an attempt to remotely set a protected property is logged and the method throws an exception . otherwise invocation is delegated to internalputproperty ( ) note that package default access is being used
