if ( log.isDebugEnabled() ) { log.debug( "group cache contents on startup:\n" + groups ); }
    private void initialize() throws NamingException    {        // search all naming contexts for static groups and generate        // normalized sets of members to cache within the map        BranchNode filter = new BranchNode( BranchNode.OR );        filter.addNode( new SimpleNode( OC_ATTR, GROUPOFNAMES_OC, SimpleNode.EQUALITY ) );        filter.addNode( new SimpleNode( OC_ATTR, GROUPOFUNIQUENAMES_OC, SimpleNode.EQUALITY ) );        Iterator suffixes = nexus.listSuffixes( true );        while ( suffixes.hasNext() )        {            String suffix = ( String ) suffixes.next();            Name baseDn = new LdapName( suffix );            SearchControls ctls = new SearchControls();            ctls.setSearchScope( SearchControls.SUBTREE_SCOPE );            NamingEnumeration results = nexus.search( baseDn, env, filter, ctls );            while ( results.hasMore() )            {                SearchResult result = ( SearchResult ) results.next();                String groupDn = result.getName();                groupDn = parser.parse( groupDn ).toString();                Attribute members = getMemberAttribute( result.getAttributes() );                if ( members != null )                {                    Set memberSet = new HashSet( members.size() );                    addMembers( memberSet, members );                    groups.put( groupDn, memberSet );                }                else                {                    log.warn( "Found group '" + groupDn + "' without any member or uniqueMember attributes" );                }            }            results.close();        }    }