public void put(String key, V val) { root = put(root, key, val, 0); } private Node<V> put(Node<V> x, String key, V val, int d) { if (x == null) x = new Node<V>(); if (d == key.length()) { x.val = val; return x; } char c = key.charAt(d); x.next[c] = put(x.next[c], key, val, d+1); return x; }