code: protected List getNonSingletonListeners(Class beanType) {
  
          final List listeners = new ArrayList();
  
          synchronized(nonSingletonListeners) {
              for( Iterator iter = nonSingletonListeners.iterator(); iter.hasNext(); ) {
                  final Object bean = ((WeakReference) iter.next()).get();
                  if( bean == null ) {
                      if( logger.isDebugEnabled() )
                          logger.debug( "REMOVED garbage collected AuthorizationAware non-singleton from list." );
                      iter.remove();
                  } else if( beanType.isAssignableFrom( bean.getClass() ) ) {
                      listeners.add( bean );
                  }
              }
          }
          return listeners;
      }
docs: Get the list of non-singleton beans we have registered that still exist. Update our
  registration list if any have been GC'ed. Only return beans of the requested type.
  @param beanType Type of bean to locate
  @return list of extant non-singleton beans to notify