code: public void sessionAttributeSet(ISession session, Object name, Object oldValue, Boolean oldIsListener, Object newValue, Boolean newIsListener) {
  
          HttpSession httpsession = (HttpSession) _adapter.adapt(session);
          HttpSessionBindingEvent addEvent = null; // only init if necessary
          HttpSessionBindingEvent replaceEvent = null; // only init this if
                                                       // necessary..done below
  
          // do binding listeners first to be consistent with v6.1
          if ((oldValue != null) && (oldIsListener.booleanValue())) {
              replaceEvent = new HttpSessionBindingEvent(httpsession, (String) name, oldValue);
              // if (oldValue instanceof HttpSessionBindingListener)
              ((HttpSessionBindingListener) oldValue).valueUnbound(replaceEvent);
          }
          if ((newValue != null) && (newIsListener.booleanValue())) { // (newValue instanceof HttpSessionBindingListener) ) {
              addEvent = new HttpSessionBindingEvent(httpsession, (String) name, newValue);
              ((HttpSessionBindingListener) newValue).valueBound(addEvent);
          }
      }
docs: Method sessionAttributeSet
  <p>
  
  @see com.ibm.wsspi.session.ISessionStateObserver#sessionAttributeSet(com.ibm.wsspi.session.ISession, java.lang.Object, java.lang.Object, java.lang.Object)