public void close() throws NamingException
public synchronized void close() throws NamingException
    public void close() throws NamingException    {        ArrayList array = new ArrayList();        array.addAll( indices.values() );                if ( null != ndnIdx )        {            array.add( ndnIdx );        }                if ( null != updnIdx )        {            array.add( updnIdx );        }        if ( null != aliasIdx )        {            array.add( aliasIdx );        }        if ( null != oneAliasIdx )        {            array.add( oneAliasIdx );        }        if ( null != subAliasIdx )        {            array.add( subAliasIdx );        }        if ( null != heirarchyIdx )        {            array.add( heirarchyIdx );        }        if ( null != existanceIdx )        {            array.add( existanceIdx );        }                Iterator list = array.iterator();        MultiException rootCause = null;                while ( list.hasNext() )         {            Index index = ( Index ) list.next();            try             {               index.close();            }             catch ( Throwable t )             {                if ( null == rootCause )                 {                    rootCause = new MultiException();                }                                rootCause.addThrowable( t );            }        }        try         {            master.close();        }         catch ( Throwable t )         {            if ( null == rootCause )             {                rootCause = new MultiException();            }                            rootCause.addThrowable( t );        }        try         {            recMan.close();        }         catch ( Throwable t )         {            if ( null == rootCause )             {                rootCause = new MultiException();            }                            rootCause.addThrowable( t );        }        if ( null != rootCause )        {            NamingException ne =                 new NamingException( "Failed to close all" );            ne.setRootCause( rootCause );            throw ne;        }            }