algoliasearch/src/offline/java/com/algolia/search/saas/OfflineClient.java
@Override
    public @NonNull MirroredIndex getIndex(@NonNull String indexName) {
        MirroredIndex index = null;
        WeakReference<Object> existingIndex = indices.get(indexName);
        if (existingIndex != null) {
            index = (MirroredIndex)existingIndex.get();
        }
        if (index == null) {
            index = new MirroredIndex(this, indexName);
            indices.put(indexName, new WeakReference<Object>(index));
        }
        return index;
    }
@Override
    public @NonNull MirroredIndex getIndex(@NonNull String indexName) {
        MirroredIndex index = null;
        WeakReference<Object> existingIndex = indices.get(indexName);
        if (existingIndex != null) {
            index = (MirroredIndex)existingIndex.get();
        }
        if (index == null) {
            index = new MirroredIndex(this, indexName);
            indices.put(indexName, new WeakReference<Object>(index));
        }
        return index;
    }
Obtain a mirrored index. Although this will always be an instance of {@link MirroredIndex}, mirroring is
deactivated by default.

@param indexName The name of the index.
@return A proxy to the specified index.

**Warning:** The name should not overlap with any `OfflineIndex`. See {@link #getOfflineIndex(String)}.