Плохая идея иметь нулевые списки .Лучше просто иметь пустые списки, но всегда ненулевые.Таким образом, вам не нужно постоянно проверять наличие нуля, вы можете просто выполнить итерацию сразу.
Если вы сделаете это, вы можете просто позвонить stream()
напрямую, без участия в этом Optional
бизнесе:
team.getPlayers().stream()
.filter(p -> p.getAge() > 20)