code: function persistPnode (pnode, validated) {
          if (pnode.exists) return pnode
          if (!validated && !validPath(pnode.path)) throw error('INVALIDPATH', 'invalid path: ' + pnode.path)
          Object.defineProperty(pnode, 'path', {enumerable:true, configurable: false, writable: false, value:pnode.path})
          data[pnode.path] = pnode
          if (pnode.parent) {
              persistPnode(pnode.parent, true)
              addChild(pnode.parent, pnode)
          }
          incTransaction()
          incPnodeVersion(pnode)
          feed('create', pnode)
          return pnode
      }
docs: persist pnode