/**
  * Removes all headers provided via array of 'headerPatterns'.
  *
  * <p>As the name suggests, array may contain simple matching patterns for header names. Supported
  * pattern styles are: "xxx*", "*xxx", "*xxx*" and "xxx*yyy".
  */
 public void removeHeaders(String... headerPatterns) {
   List<String> headersToRemove = new ArrayList<String>();
   for (String pattern : headerPatterns) {
     if (StringUtils.hasLength(pattern)) {
       if (pattern.contains("*")) {
         headersToRemove.addAll(getMatchingHeaderNames(pattern, this.headers));
       } else {
         headersToRemove.add(pattern);
       }
     }
   }
   for (String headerToRemove : headersToRemove) {
     removeHeader(headerToRemove);
   }
 }