public Request addObjectAsync(final @NonNull JSONObject object, final @NonNull String objectID, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler) {
    """
	Adds an object to this index, assigning it the specified object ID (asynchronously).
	If an object already exists with the same object ID, the existing object will be overwritten.
	<p>
	WARNING: For performance reasons, the arguments are not cloned. Since the method is executed in the background,
	you should not modify the object after it has been passed.
	</p>
	
	@param object            The object to add.
	@param objectID          Identifier that you want to assign this object.
	@param requestOptions    Request-specific options.
	@param completionHandler The listener that will be notified of the request's outcome.
	@return A cancellable request.
    """
        return getClient().new AsyncTaskRequest(completionHandler) {
            @NonNull
            @Override protected JSONObject run() throws AlgoliaException {
                return addObject(object, objectID, requestOptions);
            }
        }.start();
    }
public Request addObjectAsync(final @NonNull JSONObject object, final @NonNull String objectID, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler) {
        return getClient().new AsyncTaskRequest(completionHandler) {
            @NonNull
            @Override protected JSONObject run() throws AlgoliaException {
                return addObject(object, objectID, requestOptions);
            }
        }.start();
    }
public Request addObjectAsync ( final @ NonNull JSONObject object , final @ NonNull String objectID , @ Nullable final RequestOptions requestOptions , @ Nullable CompletionHandler completionHandler ) { return getClient ( ) . new AsyncTaskRequest ( completionHandler ) { @ NonNull @ Override protected JSONObject run ( ) throws AlgoliaException { return addObject ( object , objectID , requestOptions ) ; } } . start ( ) ; }
Adds an object to this index, assigning it the specified object ID (asynchronously).
If an object already exists with the same object ID, the existing object will be overwritten.
<p>
WARNING: For performance reasons, the arguments are not cloned. Since the method is executed in the background,
you should not modify the object after it has been passed.
</p>

@param object            The object to add.
@param objectID          Identifier that you want to assign this object.
@param requestOptions    Request-specific options.
@param completionHandler The listener that will be notified of the request's outcome.
@return A cancellable request.
Adds an object to this index assigning it the specified object ID ( asynchronously ) . If an object already exists with the same object ID the existing object will be overwritten . <p > WARNING : For performance reasons the arguments are not cloned . Since the method is executed in the background you should not modify the object after it has been passed . < / p >