code: public Observable<ServiceResponse<String>> cloneWithServiceResponseAsync(UUID appId, String versionId, CloneOptionalParameter cloneOptionalParameter) {
          if (this.client.endpoint() == null) {
              throw new IllegalArgumentException("Parameter this.client.endpoint() is required and cannot be null.");
          }
          if (appId == null) {
              throw new IllegalArgumentException("Parameter appId is required and cannot be null.");
          }
          if (versionId == null) {
              throw new IllegalArgumentException("Parameter versionId is required and cannot be null.");
          }
          final String version = cloneOptionalParameter != null ? cloneOptionalParameter.version() : null;
  
          return cloneWithServiceResponseAsync(appId, versionId, version);
      }
docs: Creates a new version using the current snapshot of the selected application version.
  
  @param appId The application ID.
  @param versionId The version ID.
  @param cloneOptionalParameter the object representing the optional parameters to be set before calling this API
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the observable to the String object