algoliasearch/src/offline/java/com/algolia/search/saas/OfflineClient.java
public OfflineIndex getOfflineIndex(@NonNull String indexName) {
        OfflineIndex index = null;
        WeakReference<Object> existingIndex = indices.get(indexName);
        if (existingIndex != null) {
            index = (OfflineIndex)existingIndex.get();
        }
        if (index == null) {
            index = new OfflineIndex(this, indexName);
            indices.put(indexName, new WeakReference<Object>(index));
        }
        return index;
    }
public OfflineIndex getOfflineIndex(@NonNull String indexName) {
        OfflineIndex index = null;
        WeakReference<Object> existingIndex = indices.get(indexName);
        if (existingIndex != null) {
            index = (OfflineIndex)existingIndex.get();
        }
        if (index == null) {
            index = new OfflineIndex(this, indexName);
            indices.put(indexName, new WeakReference<Object>(index));
        }
        return index;
    }
public OfflineIndex getOfflineIndex ( @ NonNull String indexName ) { OfflineIndex index = null ; WeakReference < Object > existingIndex = indices . get ( indexName ) ; if ( existingIndex != null ) { index = ( OfflineIndex ) existingIndex . get ( ) ; } if ( index == null ) { index = new OfflineIndex ( this , indexName ) ; indices . put ( indexName , new WeakReference < Object > ( index ) ) ; } return index ; }
Obtain a purely offline index.

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

**Warning:** The name should not overlap with any `MirroredIndex`. See {@link #getIndex(String)}.
Obtain a purely offline index .