public int addName(String name) { byte[] ch = name.getBytes(StandardCharsets.UTF_8); int len = ch.length; if (len <= 12) { if (len <= 4) { return addName(name, _decodeLast(ch, 0, len)); } int q1 = _decodeFull(ch, 0); if (len <= 8) { return addName(name, q1, _decodeLast(ch, 4, len-4)); } return addName(name, q1, _decodeFull(ch, 4), _decodeLast(ch, 8, len-8)); } int[] quads = _quads(name); return addName(name, quads, quads.length); }