code: @Nullable
    public IndexSearcher getSearcher () throws IOException
    {
      _checkClosing ();
      final IndexReader aReader = getReader ();
      if (aReader == null)
      {
        // Index not readable
        LOGGER.warn ("Index not readable");
        return null;
      }
  
      if (m_aSearchReader == aReader)
      {
        // Reader did not change - use cached searcher
        assert m_aSearcher != null;
      }
      else
      {
        // Create new searcher only if necessary
        m_aSearchReader = aReader;
        m_aSearcher = new IndexSearcher (aReader);
      }
      return m_aSearcher;
    }
docs: Get a searcher on this index.
  
  @return <code>null</code> if no reader or no searcher could be obtained
  @throws IOException
  On IO error