Creates a node at path.
If a node already exists at this path, an exception is thrown.
If init is false, onCreated() is not called.
Source
SimpleNode createNode(String path, [bool init = true]) {
  Path p = new Path(path);
  LocalNode existing = nodes[path];
  if (existing != null) {
    if (existing is SimpleNode) {
      if (existing._stub != true) {
        throw new Exception("Node at ${path} already exists.");
      } else {
        existing._stub = false;
      }
    } else {
      throw new Exception("Node at ${path} already exists.");
    }
  }
  SimpleNode node = existing == null ? new SimpleNode(path, this) : existing;
  nodes[path] = node;
  if (init) {
    node.onCreated();
  }
  SimpleNode pnode;
  if (p.parentPath != "") {
    pnode = getNode(p.parentPath);
  }
  if (pnode != null) {
    pnode.children[p.name] = node;
    pnode.onChildAdded(p.name, node);
    pnode.updateList(p.name);
  }
  return node;
}