String rdn = new LdapName( result.getName() ).getRdn(); result.setName( rdn ); result.setObject( ctx.lookup( rdn ) ); result.setRelative( true );
result.setName( result.getName() );
    protected void list( final Name base ) throws NamingException    {        Invocation invocation = getInvocation();        if ( invocation.getState() == InvocationStateEnum.POSTINVOCATION )        {            SearchResultEnumeration enum ;            ResultFilteringEnumeration retval;            LdapContext ctx = ( LdapContext ) invocation.getContextStack().peek();            enum = ( SearchResultEnumeration ) invocation.getReturnValue();            retval = new ResultFilteringEnumeration( enum, LIST_CONTROLS, ctx,                new SearchResultFilter()                {                    public boolean accept( LdapContext ctx, DbSearchResult result,                                           SearchControls controls )                            throws NamingException                    {                        String rdn = new LdapName( result.getName() ).getRdn();                        result.setName( rdn );                        result.setObject( ctx.lookup( rdn ) );                        result.setRelative( true );                        return FilterServiceImpl.this.accept( ctx, result, controls );                    }                } );