function deleteControllers(this)
    % DELETECONTROLLERS Deletes the controllers that communicate with the
    % client
    
    % Copyright 2015-2020 The MathWorks, Inc.
    
    % g1754563 - If the FPT is closed before initControllers switches the
    % flag to true, the waitfor in fxptdlg will hang. Therefore,
    % deleteControllers sets isReadyPostCallback to true so after close
    % finishes, the thread will continue in fxptdlg and the waitfor
    % condition met to close FPT. The flag is set to false in FPT.launch
    this.isReadyPostCallback = true;
    
    delete(this.TreeController);
    delete(this.DataController);
    delete(this.StartupController);
    delete(this.SetupController);
    delete(this.WorkflowController);
    delete(this.ResultInfoController);
    delete(this.ResultSummaryController);
    delete(this.OptimizationDetailsController);
    delete(this.AnalyzerController);
    this.TreeController = [];
    this.DataController = [];
    this.ResultInfoController = [];
    this.SetupController = [];
    this.AnalyzerController = [];
    this.StartupController = [];
    this.WorkflowController = [];
    this.ResultSummaryController = [];
    this.OptimizationDetailsController = [];
end
