public void AddInterruptingProgram(Zone zone, string programName, ISV isv = null, SyncContext syncContext = null) { var zoneProgram = CreateZoneProgram(programName); if (zoneProgram is ReactiveZoneProgram) { zone.AddInterruptingProgram((ReactiveZoneProgram)zoneProgram, isv, syncContext); } else { throw new Exception("Given program is not a reactive program."); } }