try Request Zone
fun tryRequestZone(holder: ZoneHolderIfc, zone: Zone, action: ZoneHoldActionIfc): ZoneRequest?(source)
Asks for one zone unless it is already promised to another holder, in which case: null.
tryRequestZones with one zone, and the same contract: null means an overlap that the model has to answer for itself, and every other defect still raises.
Return
the request, or null when the zone is already promised to another holder
Parameters
holder
who is taking the space
zone
the zone to take, which must be on this guide path
action
told when the hold begins and when it ends