@Override
  public void updateConfiguration(List<StatusCodeMatcher> statusCodeMatchers) {
    configurationLock.lock(updateKey);

    try {
      immutableStatusCodes = ImmutableStatusCodes.build(statusCodeMatchers);
      immutableFormatTemplates = ImmutableFormatTemplates.build(statusCodeMatchers);
    } finally {
      configurationLock.unlock(updateKey);
    }
  }
  private StatusCodeMatcher getMatchingStatusCode(String responseCode) {
    StatusCodeMatcher matchedCode = null;

    configurationLock.lock(readKey);

    try {
      if (immutableStatusCodes != null) {
        matchedCode = immutableStatusCodes.getMatchingStatusCode(responseCode);
      }
    } finally {
      configurationLock.unlock(readKey);
    }

    return matchedCode;
  }