PHPStorm: правильный PHPDoc для коллекции объектов?

Я использую PhpStorm IDE, и я столкнусь с проблемами при проверке кода.

У меня есть метод, который возвращает коллекцию объектов.Collection сам по себе является объектом, который имеет свои собственные методы и реализует Traversable интерфейс:

class Repository
{
    public function findByCustomer(Customer $user)
    {
        // ...
        return new Collection($orders);
    }
}

Если я документируюfindByUser() чтобы вернутьCollection, проверка кода понимает методы этого объекта, но не понимает, какие объекты содержит коллекция:

/**
 * @return Collection
 */
public function findByCustomer() { ... }

Если я документируюfindByUser() чтобы вернуть коллекциюOrder объекты, проверка кода теперь понимает, что находится внутри коллекции, но не методыCollection сам

/**
 * @return Order[]
 */
public function findByCustomer() { ... }

Есть ли способ указать оба одновременно, что-то вроде синтаксиса Java?

/**
 * @return Collection<Order>
 */
public function findByCustomer() { ... }

Ответы на вопрос(1)

Ваш ответ на вопрос