Locker\Repository\Statement\EloquentLinker::upLink PHP Method

    private function upLink(Model $model, array $visited, StoreOptions $opts, $useInitialUpRefs = false)
    {
        $statement = $this->formatModel($model);
        if (in_array($statement->id, $visited)) {
            return [];
        }
        $visited[] = $statement->id;
        $up_refs = $this->upRefs($statement, $opts, $useInitialUpRefs);
        if ($up_refs->count() > 0) {
            return $up_refs->each(function ($up_ref) use($opts, $visited) {
                if ($this->downed->has($up_ref->_id)) {
                    return;
                }
                $this->downed->merge($this->upLink($up_ref, $visited, $opts));
                return $up_ref;
            })->values();
        } else {
            return $this->downLink($model, [], $opts);
        }
    }