algoliasearch/src/main/java/com/algolia/search/saas/Client.java
public Request moveIndexAsync(final @NonNull String srcIndexName, final @NonNull String dstIndexName, @Nullable final RequestOptions requestOptions, CompletionHandler completionHandler) {
        return new AsyncTaskRequest(completionHandler) {
            @NonNull
            @Override
            protected JSONObject run() throws AlgoliaException {
                return moveIndex(srcIndexName, dstIndexName, requestOptions);
            }
        }.start();
    }
public Request moveIndexAsync(final @NonNull String srcIndexName, final @NonNull String dstIndexName, @Nullable final RequestOptions requestOptions, CompletionHandler completionHandler) {
        return new AsyncTaskRequest(completionHandler) {
            @NonNull
            @Override
            protected JSONObject run() throws AlgoliaException {
                return moveIndex(srcIndexName, dstIndexName, requestOptions);
            }
        }.start();
    }
Move an existing index.
If the destination index already exists, its specific API keys will be preserved and the source index specific
API keys will be added.

@param srcIndexName      Name of index to move.
@param dstIndexName      The new index name.
@param requestOptions    Request-specific options.
@param completionHandler The listener that will be notified of the request's outcome.
@return A cancellable request.