code: public Observable<ServiceResponse<Project>> createProjectWithServiceResponseAsync(String name, CreateProjectOptionalParameter createProjectOptionalParameter) {
          if (name == null) {
              throw new IllegalArgumentException("Parameter name is required and cannot be null.");
          }
          if (this.client.apiKey() == null) {
              throw new IllegalArgumentException("Parameter this.client.apiKey() is required and cannot be null.");
          }
          final String description = createProjectOptionalParameter != null ? createProjectOptionalParameter.description() : null;
          final UUID domainId = createProjectOptionalParameter != null ? createProjectOptionalParameter.domainId() : null;
          final String classificationType = createProjectOptionalParameter != null ? createProjectOptionalParameter.classificationType() : null;
  
          return createProjectWithServiceResponseAsync(name, description, domainId, classificationType);
      }
docs: Create a project.
  
  @param name Name of the project
  @param createProjectOptionalParameter 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 Project object