src/Shared/Tree/Tree.php
protected function &childNode(
        /*# string */ $key,
        &$data,
        /*# bool */ $create
    ) {
        $null = null;
        if (is_array($data)) {
            if (isset($data[$key])) {
                return $data[$key];
            } elseif ($create) {
                $data[$key] = [];
                return $data[$key];
            }
        }
        return $null;
    }
protected function &childNode(
        /*# string */ $key,
        &$data,
        /*# bool */ $create
    ) {
        $null = null;
        if (is_array($data)) {
            if (isset($data[$key])) {
                return $data[$key];
            } elseif ($create) {
                $data[$key] = [];
                return $data[$key];
            }
        }
        return $null;
    }
get or create the next/child node, return NULL if not found

@param  string $key
@param  mixed $data
@param  bool $create create the node if not exist
@return mixed
@access protected