class MockClient implements Client {

  public List<Request> verifyTimes(final HttpMethod method, final String url, final int times) {
    if (times < 0) {
      throw new IllegalArgumentException("times must be a non negative number");
    }

    if (times == 0) {
      verifyNever(method, url);
      return Collections.emptyList();
    }

    RequestKey requestKey = RequestKey.builder(method, url).build();
    if (!requests.containsKey(requestKey)) {
      throw new VerificationAssertionError("Wanted: '%s' but never invoked! Got: %s", requestKey,
          requests.keySet());
    }

    List<Request> result = requests.get(requestKey);
    if (result.size() != times) {
      throw new VerificationAssertionError("Wanted: '%s' to be invoked: '%s' times but got: '%s'!",
          requestKey,
          times, result.size());
    }

    return result;
  }

  public  MockClient();
  public  MockClient(boolean sequential);

}