class HttpSessionNotifier implements SessionNotifier {

  @Override
  public void attributeRemoved(RepositoryBackedSession session, String key, Object removedValue) {
    if (session instanceof HttpSession && removedValue instanceof HttpSessionBindingListener) {
      ((HttpSessionBindingListener)removedValue).valueUnbound(new HttpSessionBindingEvent((HttpSession)session, key));
    }
    HttpSessionBindingEvent event = new HttpSessionBindingEvent((HttpSession)session, key);
    for (HttpSessionAttributeListener listener : descriptor.getHttpSessionAttributeListeners()) {
      listener.attributeRemoved(event);
    }
  }

    HttpSessionNotifier(ServletContextDescriptor descriptor);

}