def __init__(self, json=None):
if json is None:<EOL><INDENT>self.root = {'<STR_LIT>': None, '<STR_LIT>': []}<EOL><DEDENT>else:<EOL><INDENT>self.root = loads(json)<EOL><DEDENT>
By default, all new ``WildTree`` objects are empty.  They can also
be deserialised from a JSON representation.  We store the
optional value at the endpoint of the path to this node, plus
a list of subtrees.  Each subtree is a pair whose first
element is a key value (which may be a ``*`` wildcard) and
whose second element is a ``WildTree``.