protected function getChildPath($p) { if ('' == $p) { throw new InvalidArgumentException("Name can not be empty"); } if ($p[0] == '/') { return $p; } //relative path, combine with base path for this node $path = $this->path === '/' ? '/' : $this->path . '/'; return $path . $p; }