The simplest way is to change the base class constructor to take three parameters and make it decide what to do. The call would be:
base(source, sourceentrance, desti)
If you don't want to change anything you could try:
base( (source != NULL) ? source.Centre : sourceentrance.Centre, desti.Centre)