code: private CouchbaseResponse handleViewQueryResponse() {
          int code = responseHeader.getStatus().code();
          String phrase = responseHeader.getStatus().reasonPhrase();
          ResponseStatus status = ResponseStatusConverter.fromHttp(responseHeader.getStatus().code());
          Scheduler scheduler = env().scheduler();
          long ttl = env().autoreleaseAfter();
          viewRowObservable = UnicastAutoReleaseSubject.create(ttl, TimeUnit.MILLISECONDS, scheduler);
          viewInfoObservable = UnicastAutoReleaseSubject.create(ttl, TimeUnit.MILLISECONDS, scheduler);
          viewErrorObservable = AsyncSubject.create();
  
          //set up trace ids on all these UnicastAutoReleaseSubjects, so that if they get in a bad state
          // (multiple subscribers or subscriber coming in too late) we can trace back to here
          viewRowObservable.withTraceIdentifier("viewRow");
          viewInfoObservable.withTraceIdentifier("viewInfo");
  
          return new ViewQueryResponse(
              viewRowObservable.onBackpressureBuffer().observeOn(scheduler),
              viewInfoObservable.onBackpressureBuffer().observeOn(scheduler),
              viewErrorObservable.observeOn(scheduler),
              code,
              phrase,
              status,
              currentRequest()
          );
      }
docs: Creates a {@link ViewQueryResponse} from its request based on the returned info.
  
  Note that observables are attached to this response which are completed later in the response cycle.
  
  @return the initial response.