public void suspend() { synchronized (TimelineEngine.LOCK) { TimelineScenarioState oldState = this.state; if (oldState != TimelineScenarioState.PLAYING) return; this.statePriorToSuspension = oldState; this.state = TimelineScenarioState.SUSPENDED; for (TimelineScenarioActor running : this.runningActors) { if (running instanceof Timeline) { ((Timeline) running).suspend(); } } } }