code: public static Condition withHeader(final String key, final String... expectedHeaders) {
          return new Condition(input -> {
              for (Map.Entry<String, List<String>> e : input.getHeaders().entrySet()) {
                  if (e.getKey().equalsIgnoreCase(key)) {
                      return (expectedHeaders == null && e.getValue() == null)
                              || match(e.getValue(), asList(expectedHeaders));
                  }
              }
              return false;
          });
      }
docs: With header present and equals.
  Header key is case insensitive. More information <a href="http://stackoverflow.com/questions/5258977/are-http-headers-case-sensitive">here</a>.