code: public ServiceFuture<EnqueueTrainingResponse> trainVersionAsync(UUID appId, String versionId, final ServiceCallback<EnqueueTrainingResponse> serviceCallback) {
          return ServiceFuture.fromResponse(trainVersionWithServiceResponseAsync(appId, versionId), serviceCallback);
      }
docs: Sends a training request for a version of a specified LUIS app. This POST request initiates a request asynchronously. To determine whether the training request is successful, submit a GET request to get training status. Note: The application version is not fully trained unless all the models (intents and entities) are trained successfully or are up to date. To verify training success, get the training status at least once after training is complete.
  
  @param appId The application ID.
  @param versionId The version ID.
  @param serviceCallback the async ServiceCallback to handle successful and failed responses.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the {@link ServiceFuture} object