base/common/src/main/com/thesett/common/swing/workflow/WorkFlowController.java
protected void discardWorkFlow()
    {
        /*log.fine("void discardWorkFlow(): called");*/

        // Cycle through all the accessed screens in the work flow
        while (!accessedScreens.isEmpty())
        {
            WorkFlowScreenPanel nextScreen = (WorkFlowScreenPanel) accessedScreens.pop();

            // Check if the screen has unsaved state and call its discard work method if so
            if (nextScreen.getState().getState().equals(WorkFlowScreenState.NOT_SAVED))
            {
                nextScreen.discardWork();
            }
        }

        // Call the discard work method for the entire work flow controller to finalize the work flow
        discardWork();
    }
protected void discardWorkFlow()
    {
        /*log.fine("void discardWorkFlow(): called");*/

        // Cycle through all the accessed screens in the work flow
        while (!accessedScreens.isEmpty())
        {
            WorkFlowScreenPanel nextScreen = (WorkFlowScreenPanel) accessedScreens.pop();

            // Check if the screen has unsaved state and call its discard work method if so
            if (nextScreen.getState().getState().equals(WorkFlowScreenState.NOT_SAVED))
            {
                nextScreen.discardWork();
            }
        }

        // Call the discard work method for the entire work flow controller to finalize the work flow
        discardWork();
    }
Method called when the cancel button is pressed. It works through all the screens in the order in which they were
accessed (or reverse order, depending on the order set by the {@link #setCommitOrder} method). Any screens that
are in the NOT_SAVED state will have their {@link WorkFlowScreenPanel#discardWork} method called. After this step
is complete the {@link #discardWork} for the work flow controller is called.