if ( principalDn.toNormName().equals( PartitionNexus.ADMIN_PRINCIPAL_NORMALIZED ) || !enabled || isRootDSELookup || isSubschemaSubentryLookup )
if ( isPrincipalAnAdministrator( principalDn ) || !enabled || isRootDSELookup || isSubschemaSubentryLookup )
    public NamingEnumeration search( NextInterceptor next, LdapDN base, Map env, ExprNode filter,        SearchControls searchCtls ) throws NamingException    {        Invocation invocation = InvocationStack.getInstance().peek();        ServerLdapContext ctx = ( ServerLdapContext ) invocation.getCaller();        LdapPrincipal user = ctx.getPrincipal();        LdapDN principalDn = user.getJndiName();        NamingEnumeration e = next.search( base, env, filter, searchCtls );        boolean isSubschemaSubentryLookup = subschemaSubentryDn.equals( base.toNormName() );        boolean isRootDSELookup = base.size() == 0 && searchCtls.getSearchScope() == SearchControls.OBJECT_SCOPE;        if ( principalDn.toNormName().equals( PartitionNexus.ADMIN_PRINCIPAL_NORMALIZED ) || !enabled ||             isRootDSELookup || isSubschemaSubentryLookup )        {            return e;        }        AuthorizationFilter authzFilter = new AuthorizationFilter();        return new SearchResultFilteringEnumeration( e, searchCtls, invocation, authzFilter );    }