log.debug( "Class " + name + " found under " + currentSearchContextName + " search context." );
    private byte[] findClassInDIT( NamingEnumeration searchContexts, String name ) throws ClassNotFoundException    {        String currentSearchContextName = null;        ServerLdapContext currentSearchContext = null;        NamingEnumeration javaClassEntries = null;        byte[] classBytes = null;                BranchNode filter = new BranchNode( BranchNode.AND );        filter.addNode( new SimpleNode( "fullyQualifiedJavaClassName", name, LeafNode.EQUALITY ) );        filter.addNode( new SimpleNode( "objectClass", "javaClass", LeafNode.EQUALITY ) );                SearchControls controls = new SearchControls();        controls.setSearchScope( SearchControls.SUBTREE_SCOPE );                try        {            while( searchContexts.hasMore() )            {                currentSearchContextName = ( String ) searchContexts.next();                currentSearchContext = ( ServerLdapContext ) RootDSE.lookup( currentSearchContextName );                                javaClassEntries = currentSearchContext.search( LdapDN.EMPTY_LDAPDN, filter, controls );                if ( javaClassEntries.hasMore() ) // there should be only one!                {                    SearchResult javaClassEntry = ( SearchResult ) javaClassEntries.next();                    Attribute byteCode = javaClassEntry.getAttributes().get( "javaClassByteCode" );                    classBytes = ( byte[] ) byteCode.get();                    break; // exit on first hit!                }            }        }        catch ( NamingException e )        {            throw new ClassNotFoundException();        }                return classBytes;    }