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

    try {
      immutableStatusCodes = ImmutableStatusCodes.build(statusCodeMatchers);
      immutableFormatTemplates = ImmutableFormatTemplates.build(statusCodeMatchers);
    } finally {
      configurationLock.unlock(updateKey);
    }
  }
  private HttpLogFormatter getHttpLogFormatter(
      StatusCodeMatcher matchedCode, String preferredMediaType) {
    HttpLogFormatter httpLogFormatter = null;

    if (matchedCode != null && preferredMediaType != null) {

      configurationLock.lock(readKey);

      try {
        httpLogFormatter =
            immutableFormatTemplates.getMatchingLogFormatter(
                matchedCode.getId(), preferredMediaType);
      } finally {
        configurationLock.unlock(readKey);
      }
    }

    return httpLogFormatter;
  }