private function annotationCrawl(array $annotations, LinkType $link, ResourceObject $current) : ResourceObject
    {
        $isList = $this->isList($current->body);
        $bodyList = $isList ? (array) $current->body : [$current->body];
        foreach ($bodyList as &$body) {
            /* @noinspection ExceptionsAnnotatingAndHandlingInspection */
            $this->crawl($annotations, $link, $body);
        }
        unset($body);
        $current->body = $isList ? $bodyList : $bodyList[0];

        return $current;
    }