public boolean deleteIfExists() throws IOException {
        lock.lock();
        try {
            return indexWrapper.deleteIfExists();
        } finally {
            lock.unlock();
        }
    }
A wrapper over an `AbstractIndex` instance that provides a mechanism to defer loading
(i.e. memory mapping) the underlying index until it is accessed for the first time via the
`get` method.

In addition, this class exposes a number of methods (e.g. updateParentDir, renameTo, close,
etc.) that provide the desired behavior without causing the index to be loaded. If the index
had previously been loaded, the methods in this class simply delegate to the relevant method in
the index.

This is an important optimization with regards to broker start-up and shutdown time if it has a
large number of segments.

Methods of this class are thread safe. Make sure to check `AbstractIndex` subclasses
documentation to establish their thread safety.
storage/src/main/java/org/apache/kafka/storage/internals/log/LazyIndex.java