add Stream.When