code: @Nullable
    public <T> T readLockedAtomic (@Nonnull final IThrowingSupplier <T, IOException> aRunnable) throws IOException
    {
      m_aRWLock.readLock ().lock ();
      try
      {
        if (isClosing ())
          LOGGER.info ("Cannot executed something read locked, because Lucene is shutting down");
        else
          return aRunnable.get ();
      }
      finally
      {
        m_aRWLock.readLock ().unlock ();
      }
      return null;
    }
docs: Run the provided action within a locked section.<br>
  Note: because of a problem with JDK 1.8.60 (+) command line compiler, this
  method uses type "Exception" instead of "IOException" in the parameter
  signature
  
  @param aRunnable
  Callback to be executed.
  @return <code>null</code> if the index is just closing
  @throws IOException
  may be thrown by the callback
  @param <T>
  Result type