public void dumpBuffer() {
		ByteBuffer bytes = duplicateBuffer();
		int num = bytes.position();
		trace("dumpBuffer: " + num);
		String str = "";
		bytes.position(0);
		if (num > 0) {
			for (int i = 0; i < num; i++) {
				int value = bytes.get() & 0xFF;
				if (i % 16 == 0) {
					String address = Integer.toHexString(i);
					for (int k = 0; k < 8 - address.length(); k++) {
						str += "0";
					}
					str += address + ":";
				}
				if(value >= 16) {
					str += Integer.toHexString(value) + " ";
				} else {
					str += "0" + Integer.toHexString(value) + " ";
				}
				if (i % 16 == 15) {
					str += '\n';
				}
			}
		}
		bytes.position(num);
		trace(str);
	}