public Observable<ServiceResponse<IterationPerformance>> getIterationPerformanceWithServiceResponseAsync(UUID projectId, UUID iterationId, Double threshold, Double overlapThreshold) {
        if (projectId == null) {
            throw new IllegalArgumentException("Parameter projectId is required and cannot be null.");
        }
        if (iterationId == null) {
            throw new IllegalArgumentException("Parameter iterationId is required and cannot be null.");
        }
        if (this.client.apiKey() == null) {
            throw new IllegalArgumentException("Parameter this.client.apiKey() is required and cannot be null.");
        }
        return service.getIterationPerformance(projectId, iterationId, threshold, overlapThreshold, this.client.apiKey(), this.client.acceptLanguage(), this.client.userAgent())
            .flatMap(new Func1<Response<ResponseBody>, Observable<ServiceResponse<IterationPerformance>>>() {
                @Override
                public Observable<ServiceResponse<IterationPerformance>> call(Response<ResponseBody> response) {
                    try {
                        ServiceResponse<IterationPerformance> clientResponse = getIterationPerformanceDelegate(response);
                        return Observable.just(clientResponse);
                    } catch (Throwable t) {
                        return Observable.error(t);
                    }
                }
            });
    }
public Observable < ServiceResponse < IterationPerformance > > getIterationPerformanceWithServiceResponseAsync ( UUID projectId , UUID iterationId , Double threshold , Double overlapThreshold ) { if ( projectId == null ) { throw new IllegalArgumentException ( "Parameter projectId is required and cannot be null." ) ; } if ( iterationId == null ) { throw new IllegalArgumentException ( "Parameter iterationId is required and cannot be null." ) ; } if ( this . client . apiKey ( ) == null ) { throw new IllegalArgumentException ( "Parameter this.client.apiKey() is required and cannot be null." ) ; } return service . getIterationPerformance ( projectId , iterationId , threshold , overlapThreshold , this . client . apiKey ( ) , this . client . acceptLanguage ( ) , this . client . userAgent ( ) ) . flatMap ( new Func1 < Response < ResponseBody > , Observable < ServiceResponse < IterationPerformance > > > ( ) { @ Override public Observable < ServiceResponse < IterationPerformance > > call ( Response < ResponseBody > response ) { try { ServiceResponse < IterationPerformance > clientResponse = getIterationPerformanceDelegate ( response ) ; return Observable . just ( clientResponse ) ; } catch ( Throwable t ) { return Observable . error ( t ) ; } } } ) ; }
Get detailed performance information about an iteration.

@param projectId The id of the project the iteration belongs to
@param iterationId The id of the iteration to get
@param threshold The threshold used to determine true predictions
@param overlapThreshold If applicable, the bounding box overlap threshold used to determine true predictions
@throws IllegalArgumentException thrown if parameters fail the validation
@return the observable to the IterationPerformance object