public Observable<ServiceResponse<ImageAnalysis>> analyzeImageInStreamWithServiceResponseAsync(byte[] image, AnalyzeImageInStreamOptionalParameter analyzeImageInStreamOptionalParameter) {
        if (this.client.endpoint() == null) {
            throw new IllegalArgumentException("Parameter this.client.endpoint() is required and cannot be null.");
        }
        if (image == null) {
            throw new IllegalArgumentException("Parameter image is required and cannot be null.");
        }
        final List<VisualFeatureTypes> visualFeatures = analyzeImageInStreamOptionalParameter != null ? analyzeImageInStreamOptionalParameter.visualFeatures() : null;
        final String details = analyzeImageInStreamOptionalParameter != null ? analyzeImageInStreamOptionalParameter.details() : null;
        final String language = analyzeImageInStreamOptionalParameter != null ? analyzeImageInStreamOptionalParameter.language() : null;

        return analyzeImageInStreamWithServiceResponseAsync(image, visualFeatures, details, language);
    }
public Observable < ServiceResponse < ImageAnalysis > > analyzeImageInStreamWithServiceResponseAsync ( byte [ ] image , AnalyzeImageInStreamOptionalParameter analyzeImageInStreamOptionalParameter ) { if ( this . client . endpoint ( ) == null ) { throw new IllegalArgumentException ( "Parameter this.client.endpoint() is required and cannot be null." ) ; } if ( image == null ) { throw new IllegalArgumentException ( "Parameter image is required and cannot be null." ) ; } final List < VisualFeatureTypes > visualFeatures = analyzeImageInStreamOptionalParameter != null ? analyzeImageInStreamOptionalParameter . visualFeatures ( ) : null ; final String details = analyzeImageInStreamOptionalParameter != null ? analyzeImageInStreamOptionalParameter . details ( ) : null ; final String language = analyzeImageInStreamOptionalParameter != null ? analyzeImageInStreamOptionalParameter . language ( ) : null ; return analyzeImageInStreamWithServiceResponseAsync ( image , visualFeatures , details , language ) ; }
This operation extracts a rich set of visual features based on the image content.

@param image An image stream.
@param analyzeImageInStreamOptionalParameter 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 ImageAnalysis object