private static void sceneChangeSetup(ViewGroup sceneRoot, Transition transition) {

    // Capture current values
    ArrayList<Transition> runningTransitions = getRunningTransitions().get(sceneRoot);

    if (runningTransitions != null && runningTransitions.size() > 0) {
      for (Transition runningTransition : runningTransitions) {
        runningTransition.pause();
      }
    }

    if (transition != null) {
      transition.captureValues(sceneRoot, true);
    }

    // Notify previous scene that it is being exited
    Scene previousScene = Scene.getCurrentScene(sceneRoot);
    if (previousScene != null) {
      previousScene.exit();
    }
  }