public String getCustomError(HttpRequestWrapper req, HttpResponseWrapper res) {
    for (MatcherAndError m : matchersAndLogs) {
      if (m.getMatcher().matchResponse(req, res)) {
        return m.getCustomError().customError(req, res);
      }
    }
    return null;
  }
@Test
  public void testMatchesCodeAndUrlContains() throws IOException {
    HttpRequestWrapper request = createHttpRequest(BQ_TABLES_LIST_URL);
    HttpResponseWrapper response = createHttpResponse(403);

    CustomHttpErrors.Builder builder = new CustomHttpErrors.Builder();
    builder.addErrorForCodeAndUrlContains(403, "/tables?", "Custom Error Msg");
    CustomHttpErrors customErrors = builder.build();

    String errorMessage = customErrors.getCustomError(request, response);
    assertEquals("Custom Error Msg", errorMessage);
  }