private void doCleanup() {
   if (timeoutHandler != null) {
     timeoutHandler.cancelTimeout();
   }
   actionPanel.disableActionPanel();
   regionsContainer.removeRegionContent(Region.SOUTH);
   regionsContainer.removeRegionContent(Region.CENTER);
 }
  /** Called when action panel gets triggered */
  public void actionTriggered(ActionPanel source, Object actionValue) {
    int newIndex = 0;
    int addIndex = (Integer) actionValue;
    actionPanel.disableActionPanel();
    // increment the displayed image
    if (currentIndex + addIndex >= 0) {
      newIndex = currentIndex + addIndex;
    }

    // setup next instruction / finish executable
    if (newIndex < getPagesCount()) {
      setupPage(newIndex);
      return;
    } else {
      if (getFinishExecutionLock()) {
        cancelExecutionAWT();
        doCleanup();
        finishExecution();
      }
      return;
    }
  }
 protected void cancelExecutionAWT() {
   actionPanel.disableActionPanel();
 }