private void completeOp(GetBlobInfoOperation op) throws IOException {
    while (!op.isOperationComplete()) {
      op.poll(requestRegistrationCallback);
      List<ResponseInfo> responses = sendAndWaitForResponses(requestRegistrationCallback.getRequestsToSend());
      for (ResponseInfo responseInfo : responses) {
        GetResponse getResponse = responseInfo.getError() == null ? GetResponse.readFrom(
            new NettyByteBufDataInputStream(responseInfo.content()), mockClusterMap) : null;
        op.handleResponse(responseInfo, getResponse);
        if (op.isOperationComplete()) {
          break;
        }
      }
      responses.forEach(ResponseInfo::release);
    }
  }
Completes {@code op}
@param op the {@link GetBlobInfoOperation} to complete
@throws IOException
ambry-router/src/test/java/com/github/ambry/router/GetBlobInfoOperationTest.java