add empty optimisation for switchOnNext