return (data == null) ? "null\n" : dumpString(data, 0, data.length, m);
if (data == null) return m + "null\n"; StringBuffer sb = new StringBuffer(length * 3); if (length > 32) sb.append(m).append("Hexadecimal dump of ") .append(length).append(" bytes...\n");  int end = offset + length; String s; int l = Integer.toString(length).length(); if (l < 4) l = 4; for (; offset < end; offset += 32) { if (length > 32) { s = "         " + offset; sb.append(m).append(s.substring(s.length() - l)).append(": "); } int i = 0; for (; i < 32 && offset + i + 7 < end; i += 8) sb.append(toString(data, offset + i, 8)).append(' '); if (i < 32) for (; i < 32 && offset + i < end; i++) sb.append(byteToString(data[offset + i])); sb.append('\n'); } return sb.toString();
  public static String dumpString(byte[] data, String m)  {    return (data == null) ? "null\n" : dumpString(data, 0, data.length, m);  }