I have multiple controllers in my project, but for now i will specify only 3 (MainController, CarController, ClientController). What i want to do is save all the data that was changed when exiting the program, so basically in stop() method i want to be able to access my CarController & ClientController saveMethods. I dont know if i need a MainController for this; that has references to those previous controllers. Code Samples:
Main:
import Controller.CarController;
import Controller.ClientController;
import Controller.MainController;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class Main extends Application {
    public FXMLLoader mainLoader;
    public MainController mainController;
    @Override
    public void start(Stage primaryStage) throws Exception{
        this.mainLoader = new FXMLLoader(getClass().getResource("/View/Main.fxml"));
        Parent root = mainLoader.load();
        this.mainController = this.mainLoader.getController();
        primaryStage.setTitle("Reservation system");
        primaryStage.setScene(new Scene(root, 1000, 600));
        primaryStage.show();
    }
    @Override public void stop(){
        this.mainController.save(); //Should have reference to CarController & ClientController
    }
    public static void main(String[] args) {
        launch(args);
    }
}
MainController:
package Controller;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import java.net.URL;
import java.util.ResourceBundle;
public class MainController implements Initializable {
    @FXML
    public CarController carController;
    @FXML
    public ClientController clientController;
    @Override
    public void initialize(URL url, ResourceBundle resourceBundle) {
    }
    public void setCarController(CarController carController) {
        this.carController = carController;
    }
    public void setClientController(ClientController clientController) {
        this.clientController = clientController;
    }
    public void save(){
        this.clientController.saveClientsToFile();
        this.carController.saveToFile();
    }
}
I dont know if the methods that i am trying to access are important at this point. If you insist i will add them later. I have multiple FXML files with all controllers working seperately. Hope you understand my issue, if not i will try to explain it better if someone responds.
Question: How to access my CarController and ClientController from my MainController?
 
    