code: private static final void auditNamedValues(String m, Map<String, ?> namedValues) {
          if (logger.isDebugEnabled()) {
              assert namedValues != null;
              for (Iterator<String> outer = namedValues.keySet().iterator(); outer
                      .hasNext();) {
                  Object name = outer.next();
                  assert name instanceof String : "not a string, name==" + name;
                  StringBuffer sb = new StringBuffer(m + name + "==");
                  Object temp = namedValues.get(name);
                  assert temp instanceof String || temp instanceof Set : "neither string nor set, temp=="
                          + temp;
                  if (temp instanceof String) {
                      sb.append(temp.toString());
                  } else if (temp instanceof Set) {
                      @SuppressWarnings("unchecked")
                      Set<String> values = (Set<String>) temp;
                      sb.append("(" + values.size() + ") {");
                      String punct = "";
                      for (Iterator<String> it = values.iterator(); it.hasNext();) {
                          String value = it.next();
                          sb.append(punct + value);
                          punct = ",";
                      }
                      sb.append("}");
                  }
                  logger.debug(sb.toString());
              }
          }
      }
docs: /////////////////////////////////////////////////////////////////////////