Looking into this more, what is happening is:
Branches is set from Initialize
Branches has changed the UI layer's selection is no longer valid so it sets its selection to nullSourceBranch so this is set to nullBranchValidator notices this and things that the source branch doesn't exist remotelySourceBranch
BranchValidator is called again with the correct info and the validation passes, but at this point it's too late - the notification has already been sent.
Using 2.0.0 RC1 the following message is shown:
Even when the source branch does exist remotely.
This is happening because
BranchValidatoris first called withnullbefore being called with theBranchModel.