class RadixTreeNode {

    void removeChildNode(RadixTreeNode node) {
        if (node == null || node._key == null || node._key.isEmpty()) {
            throw new IllegalArgumentException(_strings.get("invalidNodeKey"));
        }
        char c = node._key.charAt(0);
        if (_childNodes != null) {
            RadixTreeNode matchedNode = _childNodes.get(c);
            if (matchedNode == node) {
                node = _childNodes.remove(c);
                node._parentNode = null;
            } else {
                throw new IllegalArgumentException(_strings.get("invalidChildNode", node, this));
            }
        }
    }

      RadixTreeNode(String key, String value);

}