Это было глупое дизайнерское решение с моей стороны. Я ходил взад и вперед на этом. Честно говоря, я все еще об этом и вперед.
Проблема в том, что исключения действительно должны использоваться для указания исключительных или неожиданных сценариев. Проблема в том, что не найденный поток может быть обычной операцией и даже ожидаемой операцией в некоторых отношениях. Я возился с идеей создания исключения, возврата нуля или возврата пустого потока.
Чтобы определить, является ли агрегат пустым, нужно проверить свойство Revision, чтобы узнать, равно ли оно нулю.