refactor CDOMObject to lazily instantiate the map fields. This led to
almost 20% heap savings in my benchmark (68 MB to 55 MB)