Murphy in C++

This is a supplement to my Bourne End-isms.
The following code lines were found in a C++ module
of a piece of software as it was being tested:


// This function is called when the current Event On-Air has completed but
// the Next Event is Not ready to Start.
//
// The purpose of this function is to determine whether to keep the
// Current Event On-Air
// Until the Next Event is Taken to Air, or to Route the Fall Back to Air.
//
// Consider: If this destination is a break-away destination then when the
// current event completes the Fall Back Follow source should be routed
// to Air so that this break-away destination will return to follow the
// Clean Feed Output.
//
// However, if there is a genuine 'gap' in the schedule, such the clean
// feed preset event is not valid to take to air, but the On-Air event has
// completed, then the Fall Back Source should be routed to the
// Clean Feed output.
//
// The answer to the question of whether to keep the current event
// On-Air or Route the Fall Back depends upon the reason for not taking
// the Preset Event to Air.
//
// Basically - if the preset event would be taken to air on a 'time-only'
// basis but has not been
// taken to air (pre-requisite for calling this function), then the
// Current Event should be kept on-air, as it is reasonable to assume
// that the reason the preset event was not taken to air
// is because it is waiting for the manual take.
//
// If the preset event could not be taken to air on a 'time-only' basis
// then a 'gap' in the schedule exists, hence route the fall back.
//
// If you've read this far then you must be:-
//
// a) Confused
//
// b) Determined to understand what's going on.
//
// To save you a lot of time complaining about this software
// (and it's author), I'll come clean.
// This is a bodge.
//
// Do I have a defense? ... well, it's gone midnight and the Swiss
// will be on site in the morning for an acceptance test.
// So I've put this bodge in, you know 'just for now' and I'll
// come back and fix it later when I've got more time ... or will I?


BOOLEAN DestinationSchedule::KeepCurrentEventOnAir (AssignSchedule pPresetEvent)