//Loop through all the patterns
for (int i = 0; i < patterns.length; i++) {
//Get the header name
String headerName = (String)patterns[i][0];
//Get the patterns ro that header
Pattern pattern = (Pattern)patterns[i][1];
//Get the array of header values that match that
String headers[] = message.getHeader(headerName);
//Loop through the header values
for (int j = 0; j < headers.length; j++) {
if (matcher.matches(headers[j], pattern)) {