docs: public void onDestruction() {
  		//Iterator i = new ArrayList(agents.values()).iterator();
  
  		for (Component component : agentComponents.values()) {
  			System.out.println(component + " " + Arrays.asList(component.getInterfaces()).contains(SessionDestructionListener.class));
  			if(Arrays.asList(component.getInterfaces()).contains(SessionDestructionListener.class)) {
  				try {
  					component.invoke("onSessionDestruction");
  				} catch (InvocationTargetException e) {
  					throw new ConfigurationException(e);
  				} catch (NoSuchMethodException e) {
  					throw new ConfigurationException(e);
  				}
  			}
  			accessManager.removeAgent(component);
  		}
  		//close receivers
  		/*	Iterator receiverIterator = getReceivers().iterator();
  		while (receiverIterator.hasNext())
  		{
  			ReceiverQueue r = (ReceiverQueue) receiverIterator.next();
  			r.close();
  		}*/
  		attributes.clear();
  	}